On Wed, 7 Jan 2026, Kieren MacMillan wrote:

> using
>    lyricFermata = \markup \musicglyph #"scripts.ulongfermata"
> will obviously fix the immediate problem… but there’s still too much
> padding/space when there shouldn’t be [in other note/lyric/fermata
> combinations].
>

I agree.

I think that what I’m seeking is a way to get LilyPond to recognize the
need for some distance/padding between lyrics and the lowest note head
linked to a staff (even if it is on a ledger line below said staff), rather
than to the staff (i.e., bottom staff line) of “relatedstaff.”

Or, actually, it’s really just about avoiding collisions in output, as
shown in measure 39 of the below MWE, where I have no problem with the long
fermata over the word “word” (it is fine as it is).

%%% SNIPPET BEGINS
\version "2.24.4"

lyricFermata = \markup
  \with-dimensions-from \null *% disabling this line would drop the lyrics
*too* far down away from the staff *
  \musicglyph #"scripts.ulongfermata"

<<
  \relative { c'1 d e f g a b
    \repeat unfold 30 { c }
    c,1 c d e f g a b c
  }
  \new Lyrics { \lyricmode {
    \markup \override #'(baseline-skip . 2.2) \override #`(direction . ,UP)
      \dir-column \center-align { Lorem \lyricFermata }
    \markup \override #'(baseline-skip . 2.2) \override #`(direction . ,UP)
      \dir-column \center-align { ipsum \lyricFermata }
    dolor sit amet,
    \skip 1*5
    consectetur adipiscing elit,
    \markup \override #'(baseline-skip . 2.2) \override #`(direction . ,UP)
      \dir-column \center-align { sed \lyricFermata }
    \skip 1*8
    do eiusmod tempor incididunt
    ut labore et dolore magna aliqua.
    Ut enim ad minim veniam,
    \markup \override #'(baseline-skip . 2.2) \override #`(direction . ,UP)
      \dir-column \center-align { quis \lyricFermata }
    \markup \concat {
      "second "
      \override #'(baseline-skip . 2.2) \override #`(direction . ,UP)
      \dir-column \center-align { word \lyricFermata } }
    nostrud exercitation ullamco laboris nisi ut
    }
  }
>>

\layout {
  \context {
    \Lyrics
    *% Changing the following value to #3.0 will prevent all collisions
between notes and lyricFermatas ... *
    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding =
#1.5
    *% ... but then the lyrics to measures 12–14 drop down *too* low*
  }
}

%%% SNIPPET ENDS

Reply via email to