1

I have some songs with several stanzas. I would like to control the vertical space between the first and second stanza and the second and third stanza, .... individually.

How is that possible by using LilyPond?

  • 1
    check \vspace in the stanza documentation, is that what you want? – user48353 Mar 10 at 7:46
  • Yes, you are right! The vertical space can be adjusted similar to the TeX "vspace", provided "\markup" is used. But I didn't get it, how to change the vertical space if "\Lyrics" is used. – user58241 Mar 10 at 8:27
2

This will be your guide: 4.4.1 Flexible vertical spacing within systems > Within-system spacing properties.

Rather than \vspace which is used in \markup, what you need is to find out the properties that affect the context Lyrics. If you want to modify the distances individually between stanzas, you need to individually declare those changes per Lyrics context (or whatever context you want to change). Here's a short example:

\version "2.18.2"
melody = \relative c' {
  \key f \major
  \time 3/4
  \repeat unfold 3 {
    f4 a g bes a c bes g
  }
}
words = \lyricmode {
  \repeat unfold 24 { la }
}
\score { 
  <<
    \new Voice = "align" \melody
    \new Lyrics \with {
      \override VerticalAxisGroup.nonstaff-relatedstaff-spacing = #'((padding . 2)) % between above Voice and this Lyrics
      \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((padding . 2)) % between this Lyrics and below Lyrics
    } \lyricsto "align" \words
    \new Lyrics \with {
      \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((padding . 4)) % between this Lyrics and below Lyrics
    } \lyricsto "align" \words
    \new Lyrics \with {
      \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((padding . 6)) % between this Lyrics and below Lyrics
    } \lyricsto "align" \words
    \new Lyrics \with {
      \override VerticalAxisGroup.nonstaff-nonstaff-spacing = #'((padding . 8)) % between this Lyrics and below Lyrics
    } \lyricsto "align" \words
    \new Lyrics \with {
      \override VerticalAxisGroup.nonstaff-unrelatedstaff-spacing = #'((padding . 10)) % between this Lyrics and below Voice
    } \lyricsto "align" \words
    \new Voice \melody
  >>
}

Using VerticalAxisGroup to show differing distances between stanzas

You can read the documentation to glean what nonstaff, relatedstaff, and unrelatedstaff are, but I think they're pretty logical once you start fiddling with these. The comments next to the lines in the code I wrote above should give you a bit of insight.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.