Herzlichen Dank für den tollen Lösungsansatz!
Nach einigem Experimentieren möchte ich folgenden Erfahrungsbericht abgeben:
Das Codebeispiel von comper produziert (wie abgebildet) wundervolles Output. Voraussetzung ist aber die Einbindung der "gregorian.ly". Ist diese nicht eingebunden (um das Layout der restlichen Partitur zu erhalten), wird die grace note nicht bis zum Ende des unterlegten Liedtextes (mehrere Worte als eine Silbe) verschoben, weswegen sich auch der verankerte spanner (hier als Glissando) nicht ausreichend ausdehnen kann. Weder mit noch ohne ragged-right.
Die Verwendung der grace note ist sehr geschickt durchdacht, da keine Endsilbe berücksichtigt werden muss. Klasse! Und dies führt auch zu meiner vorübergehenden Abhilfe des "Ausdehnungsproblems":
Die Position der grace note ist mittels
#(define afterGraceFraction (cons X Y))einstellbar, wobei X/Y die Position im Verhältnis zur Länge der Hauptnote darstellt. In der NR ist immer X<Y beschrieben, aber es funktioniert (zum Glück!) auch für X>Y!!!
Beispiel 1:
#(define afterGraceFraction (cons 3 4))erzeugt zwischen Haupt- und Verzierungsnote einen Raum, der 3/4 der Länge der Hauptnote entspricht (Voreinstellung; ohne unterlegten Liedtext).
Beispiel 2:
#(define afterGraceFraction (cons 1 1))positioniert die grace note unmittelbar im Anschluss an den für die Hauptnote reservierten Raum (ebenfalls ohne unterlegte lyrics).
Beispiel 3:
#(define afterGraceFraction (cons 3 2))lässt die grace note nach 1,5 Längen der Hauptnote beginnen und verschiebt nachfolgende Noten.
Der Effekt aus Beispiel 3 ist nun nutzbar, um auch grace notes, deren Hauptnote
mit Liedtext unterlegt ist, zu verschieben. Und zwar
mit verankertem spanner! (Ich hatte auch ausprobiert, die Hauptnote mit normalem Text-Markup zu versehen und per
textLengthOn auszudehnen, aber dann habe ich zum einen den Liedtext im Musik-Markup, und zum anderen muss ich die Textmarken vertikal in den Liedtext einpassen.) Leider muss das Positionierungsverhalten für jede Liedtextphrase einzeln feinabgestimmt werden, da Lily von sich aus die grace note fast immer zu weit links setzt. Ohne
ragged-right = ##t muss ohnehin die gesamte Zeile optisch bewertet werden. Akzeptable Werte sind hier mit Y=4 und X>2Y schnell zu erzielen, sofern die Hauptnote als Viertel notiert ist. Im folgenden linken Bildbeispiel sind die grace notes rot eingefärbt, in der rechten Grafik wurde compers Lösung mit versteckten Noten (ohne Einbindung von "gregorian.ly" müssen
Stem_engraver und
Beam_engraver manuell entfernt werden) und umgebauten Glissandi angewandt:

Es ist also immer noch individuelles Justieren nötig, aber im Gegenzug wird man mit Lily-typischem Spitzenlayout belohnt, und mit etwas Übung hat man schnell einen Blick für die passenden Werte. Vielleicht hält ja diese Funktion eines Tages Einzug in den Code ...
Beste Grüße,
Robert