Hi Abraham,
On 07.07.23 16:36, Abraham Lee wrote:
All,
This came up on the FB group and I determined that the problem is the
presence of the \acciaccatura. In the following passage, the
LyricExtender somehow misses the signal to end before the grace note
appears, forming a continuous line from "bad" to "ex" instead of
stopping near the "c2.". Is there any workaround that can fix this
while keeping the grace note?
I think desired behaviour should be that the engraver terminates the
extender before the grace note, however it’s understandable that it
doesn’t, since grace notes are traditionally ignored for lyrics
typesetting. There is a context property to change that, though, and
then you can tweak (with some acrobatics) the alignment of the following
syllable, or maybe insert a PhrasingSlur/quit considering slurs for
melismata instead.
%%%%%%%%%%%%%%%%%
\version "2.25.5"
\layout {
\context {
\Lyrics
includeGraceNotes = ##t
}
}
selfAl = #(define-music-function (n) (number?)
#{
\once\override LyricText.self-alignment-X = $n
#})
selfAlForce =
#(define-music-function (n) (number?)
(let ((aligner (lambda (grob) (ly:grob-set-property! grob
'self-alignment-X n))))
#{
\once\override LyricText.before-line-breaking = $aligner
#}))
\new Voice \relative c' {
\time 3/4
g'4 a8 b c4 ~ |
c2. |
\acciaccatura g8 d'4 e4 c4 |
}
\addlyrics {
This is a bad __ \selfAlForce #-3.3 ex -- ten -- der.
}
%%%%%%%%%%%%%%%%%%%%%
Note that \version "2.25" now generates an error message.
Best, Simon