lilypond-learning: Nesting music expressions

 
 3.1.3 Nesting music expressions
 -------------------------------
 
 It is not essential to declare all staves at the beginning; they may be
 introduced temporarily at any point.  This is particularly useful for
 creating ossia sections – see See(music-glossary)ossia.  Here is a
 simple example showing how to introduce a new staff temporarily for the
 duration of three notes:
 
      \new Staff {
        \relative g' {
          r4 g8 g c4 c8 d |
          e4 r8
          <<
            { f8 c c }
            \new Staff {
              f8 f c
            }
          >>
          r4 |
        }
      }
      [image src="" alt="[image of music]" text="image of music"]
 
 Note that the size of the clef is the same as a clef printed following a
 clef change – slightly smaller than the clef at the beginning of the
 line.  This is usual for clefs printed in the middle of a line.
 
    The ossia section may be placed above the staff as follows:
 
      \new Staff = "main" {
        \relative g' {
          r4 g8 g c4 c8 d |
          e4 r8
          <<
            { f8 c c }
            \new Staff \with {
              alignAboveContext = #"main"
            } { f8 f c }
          >>
          r4 |
        }
      }
      [image src="" alt="[image of music]" text="image of music"]
 
    This example uses ‘\with’, which will be explained more fully later.
 It is a means of modifying the default behavior of a single Staff.  Here
 it says that the new staff should be placed above the staff called
 “main” instead of the default position which is below.
 
 
 See also
 ........
 
    Ossia are often written without clef and without time signature and
 are usually in a smaller font.  These require further commands which
DONTPRINTYET  have not yet been introduced.  See SeeSize of objects, and *noteDONTPRINTYET  have not yet been introduced.  See SeeSize of objects, and See
 (lilypond-notation)Ossia staves.