Dear Lilyponders,
Suppose I have a ChoirStaff with four voices,
and stanzas are sung by everybody, but distributed between the voices (less cluttered).
<<
\new Voice = "one" { \sopranoMusic }
\new Lyrics \lyricsto "one" \stanzaOne
\new Voice = "two" { \altoMusic }
\new Lyrics \lyricsto "two" \stanzaTwo
<<
>>
\new Voice = "three" { \tenorMusic }
\new Lyrics \lyricsto "two" \stanzaThree
\new Voice = "four" { \bassMusic }
>>
However, soprano & tenor have 8 measures rest; ideally those lyrics (14 syllables) can be set with reference to the alto voice.
When compiling, the order matters:
"two" (alto) has been read when "three" (tenor) is compiled, so stanza three lyrics appear below tenor rests.
But "one" cannot reference "two", so no lyrics will appear if
\new Voice = "one" { \sopranoMusic }
\new Lyrics \lyricsto "two" \stanzaOne
Warning: cannot find Voice `two'
Alternatively: alignAboveContext
(what is the "context"?)
{ alignAboveContext = "two" }
{ alignAboveContext = "Voice" }
{ alignAboveContext = "altoMusic" }
\new Voice = "two" { \altoMusic }
\new Lyrics
\with { alignAboveContext = "two" } {\lyricsto "two" \stanzaFirst }
\new Lyrics \lyricsto "two" \stanzaTwo
This just prints the "stanzaFirst" section below alto.
Assistance will be greatly appreciated,
David Olson
Los Angeles, California