Hi Gabriel,

> In The Hymnal 1982, when there are five or more stanzas in a hymn, the
> editors often engrave a horizontal line under the number for a middle
> stanza. I’m not sure what exactly to call this line; Google suggests
> “wayfinding line,” “visual separator,” “stanza divider line,” or simply
> “underscore.”

we’ve had this question twice in October 2021:

https://lists.gnu.org/archive/html/lilypond-user/2021-10/msg00123.html[1]
https://mail.gnu.org/archive/html/lilypond-user/2021-10/msg00177.html[2]

For this Aaron created a solution which added the line to the stanza number, 
and I created a 
solution that used a special LineSep engraver group which injects the line as 
clef stencil, which 
means this line will print anywhere where a clef would print, that is start of 
line, or when forced.

Cheers,
Tina

--------
[1] https://lists.gnu.org/archive/html/lilypond-user/2021-10/msg00123.html
[2] https://mail.gnu.org/archive/html/lilypond-user/2021-10/msg00177.html
#(define dashlength 10)
#(define dashindent 2)
#(define dashthickness 0.17)


\layout {
  \context {
    \type "Engraver_group"
    \name "LineSep"

    \consists "Bar_engraver"
    \consists "Clef_engraver"
    \consists "Axis_group_engraver"

    \defaultchild "NullVoice"
    \accepts "CueVoice"
    \accepts "NullVoice"
    \accepts "Voice"

    \override VerticalAxisGroup.staff-affinity = #CENTER
    clefPosition = 4.8
    \override Clef.X-offset = #dashindent
    \override Clef.X-extent = #'(0 . 0)
    \override Clef.stencil = #(lambda (grob) (make-line-stencil dashthickness 0 0 dashlength 0))
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((basic-distance . 0)
                                                               (minimum-distance . 0)
                                                               (padding . 0.5))
  }
  \context {
    \Score
    \accepts LineSep
  }
}

<<
 \new Staff \new Voice="s" { a' a' a' a' | \break a' a' a' a' }
 \new Lyrics \lyricsto "s" {\set stanza = #"1." He -- re is some text, bla bla bla }
 \new Lyrics \with { % this with block is important for the spacing between the upper lyrics to the line
   \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((basic-distance . 0)
                                                              (minimum-distance . 0)
                                                              (padding . 0.5))
 } \lyricsto "s" {\set stanza = #"2." He -- re is some text, bla bla bla }
 \new LineSep { s1 s2 \set LineSep.forceClef = ##t  s2 }
 \new Lyrics \with { \override LyricText.font-shape = #'italic } \lyricsto "s" {\set stanza = #"3." He -- re is some text, bla bla bla }
>>

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to