Hello. I am type-setting a choral piece and there is a need for occasional 
divisi within a part. In the example code below, I want all the lyrics to align 
horizontally - at the moment when moving from unison to divisi the lyrics 
interfere with each other and are pushed up or down. In most divisi sections 
the lyrics need only to be under the stave, but not always, as in the soprano 
bb 7 & 8.

I have tried an option where only one new voice is created for each divisi, but 
then the stemming becomes a problem. I want the stems to be as in this example 
- when a part divides the upper part should be stems up and the lower part 
stems down.

Thank you for any help. Martin

\version "2.20.0"

\language "english"

#(set-default-paper-size "a4")
#(set-global-staff-size 16.2)

global = \transpose c c {
        \key bf \major
        \time 3/4
        \skip 1*3/4*13
        \bar "|."
}

Soprano = \relative c''
{
        g4 g4 g8 g8 |
        g8 g8 g2 \breathe |
        <<
                \new Voice = SopranoOne 
                {
                \voiceOne
                d'4. d8 d4 |
                d4. d8 d4 |
                d2 r4 |
                R1*3/4 |
                r8 d8 d4 d4 |
                d8 d4.
                }
                
                \new Voice = SopranoTwo
                {
                \voiceTwo
                bf4. bf8 bf4 |
                bf4. bf8 bf4 |
                bf2 r4 |
                r4 bf4 bf4 |
                bf2.~ |
                bf2
                }
                \oneVoice
        >>
        
        r4 |
        R1*3/4 |
        R1*3/4 |
        r8
        
        <<
                \new Voice = SopranoOne
                {
                \voiceOne
                g'8 g4 g4 |
                g2 
                }
                \new Voice = SopranoThree
                {
                \voiceTwo
                d8 d4 d4 |
                d2
                }
                \oneVoice
        >>
        
        r4 |
        g,2. |
}

Alto = \relative c''
{
        % 1
        g4 g4 g8 g8 |
        g8 g8 g2 \breathe |
        % 3     
        g4. g8 g4 |
        g4. g8 g4 |
        g2 r4|
        % 6
        r4 g4 g4 |
        g2. ~ |
        g2 r4 |
        % 9
        r4 g4 g4 |
        g8 g4. r4 |
        % 11
        r4
        <<
                \new Voice = AltoOne
                {
                \voiceOne
                bf4 bf4|
                bf2
                }
                \new Voice = AltoTwo
                {
                \voiceTwo
                g4 g4 |
                g2
                }
                \oneVoice
        >>
        % 13
        r4 |
        g2. |
}

SopranoLyrics = \lyricmode {
        This phrase is the nor -- mal bit. Yeah!
        }

SopranoOneLyrics = \lyricmode {
                _ _ _ _ _ _ _ and I sing la -- ter.
        }

SopranoTwoLyrics = \lyricmode {
                Here the sop -- ra -- no di -- vides.
                I sing low __
        }

SopranoThreeLyrics = \lyricmode {
                Sop -- ra -- no words.
        }

AltoLyrics = \lyricmode {
        This phrase is the nor -- mal bit.
        Here the sop -- ra -- no di -- vides.
        I am bored. __
        I am so -- lo.
        Yeah!
        }

AltoOneLyrics = \lyricmode {
                Al -- to words.
        }

\score {
<<
        \new ChoirStaff
        <<
        \new Staff = "soprano"
                <<
                \global
                \new Voice="v1"
                {
                        \set Staff.shortInstrumentName = "S"
                        \set Staff.instrumentName = "Soprano"
                        \clef "treble"
                        \Soprano
                        }
                        \new Lyrics     \lyricsto "v1" { \SopranoLyrics }
                        \new Lyrics \with { alignAboveContext = #"soprano" } 
\lyricsto "SopranoOne" { \SopranoOneLyrics }
                        \new Lyrics \lyricsto "SopranoTwo" { \SopranoTwoLyrics }
                        \new Lyrics \lyricsto "SopranoThree" { 
\SopranoThreeLyrics }
                >>
                \new Staff = "alto"
                <<
                \global
                \new Voice="v2"
                        {
                        \set Staff.shortInstrumentName = "A"
                        \set Staff.instrumentName = "Alto"
                        \clef "treble"
                        \Alto
                        }
                        \new Lyrics \with { alignBelowContext = #"alto" } 
\lyricsto "v2" { \AltoLyrics }
                        \new Lyrics \with { alignBelowContext = #"alto" } 
\lyricsto "AltoOne" { \AltoOneLyrics }
                >>
                
        >>
>>
}

\paper{
  ragged-last-bottom = ##t
  system-system-spacing =
  #'((basic-distance . 20) (minimum-distance . 0) (padding . 5))
}



Reply via email to