Hallo parkertom,
willkommen im Forum!
Leider stehen die Generalbaß-Versetzungszeichen in einem festen Größenverhältnis zu den Generalbaß-Ziffern. Es gab mal einen Ansatz, die Ziffern größer zu machen, der aber im Sande verlaufen ist. Ideal wäre die Möglichkeit, separat die Fontgröße von Ziffern und Versetzungszeichen einstellen zu können.
Doch alles Jammern hilft nichts.
Es bleibt wohl nichts anderes übrig, als die Scheme-Funktion, die für die Generalbaß-Formatierung zuständig ist, zu kopieren und abzuändern.
Ich habe also format-bass-figure unter dem Namen my-format-bass-figure kopiert und die entsprechenden Stellen abgeändert:
(if (not (= alt DOUBLE-SHARP))
; -2 2) ;deleted
0 2) ;inserted
Im Standard ist es also so: das Doppelkreuz wird um 2 Stufen vergrößert (!), alle anderen Versetzungszeichen um zwei Stufen verkleinert.
Nach der Änderung behalten die Versetzungszeichen dieselbe Größe, die auch die Ziffern haben (Vergrößerungsstufe 0), das Doppelkreuz wird weiterhin 2 Stufen größer.
Das alleine sieht aber noch nicht gut aus, weil die nun deutlich größeren Versetzungszeichen vertikal schlecht ausgerichtet sind (sie stehen teilweise viel zu hoch bzw. die Ziffern danach rutschen nach unten ab).
Um hier Abhilfe zu schaffen, muß das noch je nach Versetzungszeichen ausgeglichen werden:
#:lower ;inserted
(cond ;inserted
((<= alt FLAT) 0.1) ; any kind of flat ;inserted
((= alt NATURAL) 0.4) ; natural ;inserted
((= alt SHARP) 0.4) ; sharp ;inserted
((= alt DOUBLE-SHARP) -0.1) ; double-sharp ;inserted
(else 0)) ; anything else (?) ;inserted
Das kannst Du ja in einer eigenen Include-Datei ablegen, die überall eingebunden werden kann, wo sie benötigt wird.
Wichtig ist noch, daß diese "Aufbereitungsfunktion" auch tatsächlich benutzt wird: deshalb ist sie mit
\set figuredBassFormatter = #my-format-bass-figure
zuzuweisen.
Vollständiges Coding mit Test-Beispiel:
\version "2.16.1"
%;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
%;; Bass figures: copy of format-bass-figure
#(define-public (my-format-bass-figure figure event context)
(let* ((fig (ly:event-property event 'figure))
(fig-markup (if (number? figure)
;; this is not very elegant, but center-aligning
;; all digits is problematic with other markups,
;; and shows problems in the (lack of) overshoot
;; of feta-alphabet glyphs.
((if (<= 10 figure)
(lambda (y) (make-translate-scaled-markup
(cons -0.7 0) y))
identity)
(cond
((eq? #t (ly:event-property event 'diminished))
(markup #:slashed-digit figure))
((eq? #t (ly:event-property event 'augmented-slash))
(markup #:backslashed-digit figure))
(else (markup #:number (number->string figure 10)))))
#f))
(alt (ly:event-property event 'alteration))
(alt-markup
(if (number? alt)
(markup
#:lower ;inserted
(cond ;inserted
((<= alt FLAT) 0.1) ; any kind of flat ;inserted
((= alt NATURAL) 0.4) ; natural ;inserted
((= alt SHARP) 0.4) ; sharp ;inserted
((= alt DOUBLE-SHARP) -0.1) ; double-sharp ;inserted
(else 0)) ; anything else (?) ;inserted
#:general-align Y DOWN #:fontsize
(if (not (= alt DOUBLE-SHARP))
; -2 2) ;deleted
0 2) ;inserted
(alteration->text-accidental-markup alt))
#f))
(plus-markup (if (eq? #t (ly:event-property event 'augmented))
(markup #:number "+")
#f))
(alt-dir (ly:context-property context 'figuredBassAlterationDirection))
(plus-dir (ly:context-property context 'figuredBassPlusDirection)))
(if (and (not fig-markup) alt-markup)
(begin
(set! fig-markup (markup #:left-align #:pad-around 0.3 alt-markup))
(set! alt-markup #f)))
;; hmm, how to get figures centered between note, and
;; lone accidentals too?
;; (if (markup? fig-markup)
;; (set!
;; fig-markup (markup #:translate (cons 1.0 0)
;; #:center-align fig-markup)))
(if alt-markup
(set! fig-markup
(markup #:put-adjacent
X (if (number? alt-dir)
alt-dir
LEFT)
fig-markup
#:pad-x 0.2 alt-markup)))
(if plus-markup
(set! fig-markup
(if fig-markup
(markup #:put-adjacent
X (if (number? plus-dir)
plus-dir
LEFT)
fig-markup
#:pad-x 0.2 plus-markup)
plus-markup)))
(if (markup? fig-markup)
(markup #:fontsize -2 fig-markup)
empty-markup)))
%%% TEST-BEISPIEL
\figures {
<6--> <6-> <6!> <6+> <6++>
s
\set figuredBassFormatter = #my-format-bass-figure
<6--> <6-> <6!> <6+> <6++>
}
Viele Grüße
Torsten