Auf eine solche (im Quelltext sehr kompliziert aussehende Lösung) wäre ich nie gekommen, [...]
Hallo Burkard,
eine solche Lösung ist auch nicht unbedingt notwendig. Es war nur ein Versuch von mir, die Angelegenheit komfortabel nutzbar zu machen.
Im wesentlichen kommt es auf die Erkenntnis an, daß man auch im Generalbaß-Modus Markup eingeben kann.
Und als Markup kann man alle Zeichen beliebig kombinieren und positionieren.
"In Handarbeit" sähe das Beispiel (#)6 so aus:
\markup \number \combine
\translate #'(-1.7 . 0.8) \bracket \fontsize #-5 \sharp
\tiny "6"
Mit
\markup wird in den "Markup-Modus" umgeschaltet.
\number setzt die Schrift, die auch für die Generalbaß-Ziffern verwendet wird.
\combine legt die beiden nachfolgenden Markup-Elemente "übereinander" (das habe ich so gemacht, um das Versetzungseichen per
\translate nach links schieben zu können, und zwar über den linken Zeichenrand hinaus - das ist wichtig für die richtige Positionierung der Ziffer.
Das erste Markup-Element besteht aus dem
\translate-Befehl, der das folgende geklammerte # nach links und etwas nach oben verschiebt, dem
\bracket-Befehl (nicht den Zeichen [ und ], die sehen anders aus!) und schließlich dem per
\fontsize #-5 verkleinerten
\sharp (das Kreuz).
Die
\tiny "6" ist die 6 in der richtigen Größe.
Das war eigentlich "schon" alles. Wie Du siehst, besteht das Hauptproblem darin, das Markup so aussehen zu lassen, wie auch die "normale" Generalbaßbezifferung aussehen würde.
Das fängt an bei den richtigen Zeichen und Zeichengrößen und geht bis zu den passenden Abständen und Verschiebungen.
Bei der Gelegenheit ist mir gerade aufgefallen, daß meine
\brackacc-Funktion noch ein überflüssiges
#:concat enthielt, das noch aus ersten Versuchen (ohne
\combine) stammte.
Habe ich oben in meinem ursprünglichen Posting jetzt abgeändert (geht ja noch...).
Viele Grüße
Torsten