]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/learning/fundamental.itely
Doc: LM - Fundamental - 3.3.2 Creating contexts
[lilypond.git] / Documentation / learning / fundamental.itely
index 60e67ee1358a51eb8b88b5100d5ca4cff4a71150..9a990ac9de5634d3d9663ebede32cf2cdc7717bd 100644 (file)
@@ -8,7 +8,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.2"
+@c \version "2.19.22"
 
 @node Fundamental concepts
 @chapter Fundamental concepts
 
 @node Fundamental concepts
 @chapter Fundamental concepts
@@ -68,9 +68,7 @@ There are many variations of this basic pattern, but this
 example serves as a useful starting place.
 
 @funindex \book
 example serves as a useful starting place.
 
 @funindex \book
-@funindex book
 @funindex \score
 @funindex \score
-@funindex score
 @cindex book
 @cindex score
 
 @cindex book
 @cindex score
 
@@ -80,8 +78,8 @@ adds the extra commands which are needed when you give it simple
 input.  LilyPond treats input like this:
 
 @example
 input.  LilyPond treats input like this:
 
 @example
-\relative c'' @{
-  c4 a d c
+\relative @{
+  c''4 a d c
 @}
 @end example
 
 @}
 @end example
 
@@ -93,8 +91,8 @@ as shorthand for this:
   \score @{
     \new Staff @{
       \new Voice @{
   \score @{
     \new Staff @{
       \new Voice @{
-        \relative c'' @{
-          c4 a b c
+        \relative @{
+          c''4 a b c
         @}
       @}
     @}
         @}
       @}
     @}
@@ -154,11 +152,8 @@ things, such as
 @end example
 
 @funindex \header
 @end example
 
 @funindex \header
-@funindex header
 @funindex \layout
 @funindex \layout
-@funindex layout
 @funindex \midi
 @funindex \midi
-@funindex midi
 @cindex header
 @cindex layout
 @cindex midi
 @cindex header
 @cindex layout
 @cindex midi
@@ -178,13 +173,12 @@ Two more commands you have not previously seen are
 shown they will cause LilyPond to produce a printed output and a
 MIDI output respectively.  They are described fully in the
 Notation Reference -- @ruser{Score layout}, and
 shown they will cause LilyPond to produce a printed output and a
 MIDI output respectively.  They are described fully in the
 Notation Reference -- @ruser{Score layout}, and
-@ruser{Creating MIDI files}.
+@ruser{Creating MIDI output}.
 
 @cindex scores, multiple
 @cindex book block, implicit
 @cindex implicit book block
 @funindex \book
 
 @cindex scores, multiple
 @cindex book block, implicit
 @cindex implicit book block
 @funindex \book
-@funindex book
 
 You may code multiple @code{\score} blocks.  Each will be
 treated as a separate score, but they will be all combined into
 
 You may code multiple @code{\score} blocks.  Each will be
 treated as a separate score, but they will be all combined into
@@ -222,8 +216,8 @@ shown in @ref{Organizing pieces with variables}.  All the
 templates use this:
 
 @example
 templates use this:
 
 @example
-melody = \relative c' @{
-  c4 a b c
+melody = \relative @{
+  c'4 a b c
 @}
 
 \score @{
 @}
 
 \score @{
@@ -252,7 +246,6 @@ For a complete definition of the input format, see
 @subsection Score is a (single) compound musical expression
 
 @funindex \score
 @subsection Score is a (single) compound musical expression
 
 @funindex \score
-@funindex score
 @cindex score
 @cindex contents of a score block
 @cindex score block, contents of
 @cindex score
 @cindex contents of a score block
 @cindex score block, contents of
@@ -341,8 +334,8 @@ At this stage, we could start filling in notes.  Inside the curly
 braces next to @code{\new Voice = "vocal"}, we could start writing
 
 @example
 braces next to @code{\new Voice = "vocal"}, we could start writing
 
 @example
-\relative c'' @{
-  r4 d8\noBeam g, c4 r
+\relative @{
+  r4 d''8\noBeam g, c4 r
 @}
 @end example
 
 @}
 @end example
 
@@ -360,10 +353,10 @@ So, adding a few notes and a bass clef for the left hand, we now
 have a piece of real music:
 
 @lilypond[verbatim,quote,ragged-right]
 have a piece of real music:
 
 @lilypond[verbatim,quote,ragged-right]
-melody = \relative c'' { r4 d8\noBeam g, c4 r }
+melody = \relative { r4 d''8\noBeam g, c4 r }
 text   = \lyricmode { And God said, }
 text   = \lyricmode { And God said, }
-upper  = \relative c'' { <g d g,>2~ <g d g,> }
-lower  = \relative c { b2 e }
+upper  = \relative { <g' d g,>2~ <g d g,> }
+lower  = \relative { b,2 e }
 
 \score {
   <<
 
 \score {
   <<
@@ -409,8 +402,8 @@ duration of three notes:
 
 @lilypond[verbatim,quote,ragged-right]
 \new Staff {
 
 @lilypond[verbatim,quote,ragged-right]
 \new Staff {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
     e4 r8
     <<
       { f8 c c }
@@ -436,8 +429,8 @@ as follows:
 
 @lilypond[verbatim,quote,ragged-right]
 \new Staff = "main" {
 
 @lilypond[verbatim,quote,ragged-right]
 \new Staff = "main" {
-  \relative g' {
-    r4 g8 g c4 c8 d |
+  \relative {
+    r4 g'8 g c4 c8 d |
     e4 r8
     <<
       { f8 c c }
     e4 r8
     <<
       { f8 c c }
@@ -519,8 +512,8 @@ So, for example, a phrasing slur can start before a manually
 inserted beam and end before the end of the beam -- not very
 musical, perhaps, but possible:
 
 inserted beam and end before the end of the beam -- not very
 musical, perhaps, but possible:
 
-@lilypond[quote,verbatim,ragged-right,relative=2]
-g8\( a b[ c b\) a] g4
+@lilypond[quote,verbatim,ragged-right]
+\relative { g'8\( a b[ c b\) a] g4 }
 @end lilypond
 
 In general, different kinds of brackets, bracket-like constructs,
 @end lilypond
 
 In general, different kinds of brackets, bracket-like constructs,
@@ -530,11 +523,13 @@ a slur extending into a tuplet (line 2), a beam and a slur
 extending into a tuplet, a tie crossing two tuplets, and a
 phrasing slur extending out of a tuplet (lines 3 and 4).
 
 extending into a tuplet, a tie crossing two tuplets, and a
 phrasing slur extending out of a tuplet (lines 3 and 4).
 
-@lilypond[quote,verbatim,ragged-right,relative=1]
-r16[ g \tuplet 3/2 { r16 e'8] }
-g,16( a \tuplet 3/2 { b16 d) e }
-g,8[( a \tuplet 3/2 { b8 d) e~] } |
-\tuplet 5/4 { e32\( a, b d e } a4.\)
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+  r16[ g' \tuplet 3/2 { r16 e'8] }
+  g,16( a \tuplet 3/2 { b16 d) e }
+  g,8[( a \tuplet 3/2 { b8 d) e~] } |
+  \tuplet 5/4 { e32\( a, b d e } a4.\)
+}
 @end lilypond
 
 
 @end lilypond
 
 
@@ -586,9 +581,11 @@ A single voice can contain many notes in a chord, of course,
 so when exactly are multiple voices needed?  Look first at
 this example of four chords:
 
 so when exactly are multiple voices needed?  Look first at
 this example of four chords:
 
-@lilypond[quote,verbatim,ragged-right,relative=1]
-\key g \major
-<d g>4 <d fis> <d a'> <d g>
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+  \key g \major
+  <d' g>4 <d fis> <d a'> <d g>
+}
 @end lilypond
 
 This can be expressed using just the single angle bracket chord
 @end lilypond
 
 This can be expressed using just the single angle bracket chord
@@ -621,22 +618,26 @@ of polyphony.
 Here's how we split the chords above into two voices and add both
 the passing note and a slur:
 
 Here's how we split the chords above into two voices and add both
 the passing note and a slur:
 
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key g \major
-%    Voice "1"               Voice "2"
-<< { g4 fis8( g) a4 g } \\ { d4 d d d }  >>
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+  \key g \major
+  %    Voice = "1"             Voice = "2"
+  << { g'4 fis8( g) a4 g } \\ { d4 d d d }  >>
+}
 @end lilypond
 
 Notice how the stems of the second voice now point down.
 
 Here's another simple example:
 
 @end lilypond
 
 Notice how the stems of the second voice now point down.
 
 Here's another simple example:
 
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key d \minor
-%    Voice "1"             Voice "2"
-<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
-<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
-<< { a2. r4 }         \\ { fis2. s4 }       >> |
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+  \key d \minor
+  %    Voice = "1"           Voice = "2"
+  << { r4 g' g4. a8 }   \\ { d,2 d4 g }       >> |
+  << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+  << { a2. r4 }         \\ { fis2. s4 }       >> |
+}
 @end lilypond
 
 It is not necessary to use a separate @code{<< \\ >>} construct
 @end lilypond
 
 It is not necessary to use a separate @code{<< \\ >>} construct
@@ -645,19 +646,20 @@ can help the legibility of the code, but if there are many
 notes in each bar it may be better to split out each voice
 separately, like this:
 
 notes in each bar it may be better to split out each voice
 separately, like this:
 
-@lilypond[quote,verbatim,ragged-right,relative=2]
-\key d \minor
-<< {
-  % Voice "1"
-  r4 g g4. a8 |
-  bes4 bes c bes |
-  a2. r4 |
-} \\ {
-  % Voice "2"
-  d,2 d4 g |
-  g4 g g8( a) g4 |
-  fis2. s4 |
-} >>
+@lilypond[quote,verbatim,ragged-right]
+<<
+  \key d \minor
+  \relative { % Voice = "1"
+    r4 g' g4. a8 |
+    bes4 bes c bes |
+    a2. r4 |
+  } \\
+  \relative { % Voice = "2"
+    d'2 d4 g |
+    g4 g g8( a) g4 |
+    fis2. s4 |
+  }
+>>
 @end lilypond
 
 
 @end lilypond
 
 
@@ -678,10 +680,10 @@ voice in context @code{"1"} and the lowest voice in context
 of slurs, stems, ties, dynamics etc., is set appropriately.
 
 @lilypond[quote,verbatim]
 of slurs, stems, ties, dynamics etc., is set appropriately.
 
 @lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
   % Main voice
   % Main voice
-  c16 d e f
-  %    Voice "1"     Voice "2"                Voice "3"
+  c'16 d e f
+  %    Voice = "1"   Voice = "2"              Voice = "3"
   << { g4 f e } \\ { r8 e4 d c8~ } >> |
   << { d2 e }   \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
 }
   << { g4 f e } \\ { r8 e4 d c8~ } >> |
   << { d2 e }   \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
 }
@@ -702,9 +704,9 @@ split across the same voices in two constructs, shown here in the
 blue triangle voice.
 
 @lilypond[quote,verbatim]
 blue triangle voice.
 
 @lilypond[quote,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
   % Main voice
   % Main voice
-  c16 d e f
+  c'16 d e f
   <<  % Bar 1
     {
       \voiceOneStyle
   <<  % Bar 1
     {
       \voiceOneStyle
@@ -759,7 +761,7 @@ the note immediately preceding it, or to the first note of the
 preceding chord.  So in
 
 @example
 preceding chord.  So in
 
 @example
-\relative c' @{ noteA << < noteB noteC > \\ noteD >> noteE @}
+\relative @{ noteA << < noteB noteC > \\ noteD >> noteE @}
 @end example
 
 @noindent
 @end example
 
 @noindent
@@ -774,13 +776,13 @@ voices are widely separated, is to place a @code{\relative}
 command at the start of each voice:
 
 @example
 command at the start of each voice:
 
 @example
-\relative c' @{ noteA @dots{} @}
+\relative @{ noteA @dots{} @}
 <<
 <<
-  \relative c'' @{ < noteB noteC > @dots{} @}
+  \relative @{ < noteB noteC > @dots{} @}
 \\
 \\
-  \relative g' @{ noteD @dots{} @}
+  \relative @{ noteD @dots{} @}
 >>
 >>
-\relative c' @{ noteE @dots{} @}
+\relative @{ noteE @dots{} @}
 @end example
 
 Let us finally analyze the voices in a more complex piece of music.
 @end example
 
 Let us finally analyze the voices in a more complex piece of music.
@@ -794,14 +796,14 @@ later sections.
 
 @c The following should appear as music without code
 @lilypond[quote,ragged-right]
 
 @c The following should appear as music without code
 @lilypond[quote,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
   \key aes \major
   <<  % Voice one
   \key aes \major
   <<  % Voice one
-    { c2 aes4. bes8 }
+    { c''2 aes4. bes8 }
   \\  % Voice two
     {
       % Ignore these for now - they are explained in Ch 4
   \\  % Voice two
     {
       % Ignore these for now - they are explained in Ch 4
-      \once \override NoteColumn.ignore-collision = ##t
+      \once \override NoteColumn.force-hshift = #0
       <ees, c>2
       \once \override NoteColumn.force-hshift = #0.5
       des2
       <ees, c>2
       \once \override NoteColumn.force-hshift = #0.5
       des2
@@ -841,17 +843,17 @@ not understand.
 @c The following should appear as music without code
 @c The three voice styles should be defined in -init
 @lilypond[quote,ragged-right]
 @c The following should appear as music without code
 @c The three voice styles should be defined in -init
 @lilypond[quote,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
   \key aes \major
   <<
     {  % Voice one
       \voiceOneStyle
   \key aes \major
   <<
     {  % Voice one
       \voiceOneStyle
-      c2 aes4. bes8
+      c''2 aes4. bes8
     }
   \\  % Voice two
     { \voiceTwoStyle
       % Ignore these for now - they are explained in Ch 4
     }
   \\  % Voice two
     { \voiceTwoStyle
       % Ignore these for now - they are explained in Ch 4
-      \once \override NoteColumn.ignore-collision = ##t
+      \once \override NoteColumn.force-hshift = #0
       <ees, c>2
       \once \override NoteColumn.force-hshift = #0.5
       des2
       <ees, c>2
       \once \override NoteColumn.force-hshift = #0.5
       des2
@@ -874,10 +876,10 @@ we have learnt, using the @code{<< \\  >>} construct to
 enter the music of the first bar in three voices:
 
 @lilypond[quote,verbatim,ragged-right]
 enter the music of the first bar in three voices:
 
 @lilypond[quote,verbatim,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
   \key aes \major
   <<
   \key aes \major
   <<
-    { c2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
+    { c''2 aes4. bes8 } \\ { <ees, c>2 des } \\ { aes'2 f4 fes }
   >> |
   <c ees aes c>1 |
 }
   >> |
   <c ees aes c>1 |
 }
@@ -897,10 +899,10 @@ and placing the music in voice four.  This is done by simply
 adding another pair of @code{\\}.
 
 @lilypond[quote,verbatim,ragged-right]
 adding another pair of @code{\\}.
 
 @lilypond[quote,verbatim,ragged-right]
-\new Staff \relative c'' {
+\new Staff \relative {
   \key aes \major
   <<  % Voice one
   \key aes \major
   <<  % Voice one
-    { c2 aes4. bes8 }
+    { c''2 aes4. bes8 }
   \\  % Voice two
     { <ees, c>2 des }
   \\  % Omit Voice three
   \\  % Voice two
     { <ees, c>2 des }
   \\  % Omit Voice three
@@ -935,15 +937,10 @@ Notation Reference: @ruser{Multiple voices}.
 @subsection Explicitly instantiating voices
 
 @funindex \voiceOne
 @subsection Explicitly instantiating voices
 
 @funindex \voiceOne
-@funindex voiceOne
 @funindex \voiceTwo
 @funindex \voiceTwo
-@funindex voiceTwo
 @funindex \voiceThree
 @funindex \voiceThree
-@funindex voiceThree
 @funindex \voiceFour
 @funindex \voiceFour
-@funindex voiceFour
 @funindex \oneVoice
 @funindex \oneVoice
-@funindex oneVoice
 @funindex \new Voice
 @cindex voice contexts, creating
 
 @funindex \new Voice
 @cindex voice contexts, creating
 
@@ -959,8 +956,8 @@ the previous section:
 
 @example
 \new Staff @{
 
 @example
 \new Staff @{
-  \relative c' @{
-    << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
+  \relative @{
+    << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
   @}
 @}
 @end example
   @}
 @}
 @end example
@@ -970,8 +967,8 @@ is equivalent to
 
 @example
 \new Staff <<
 
 @example
 \new Staff <<
-  \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
-  \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
+  \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
+  \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
 >>
 @end example
 
 >>
 @end example
 
@@ -980,8 +977,8 @@ Both of the above would produce
 @c The following example should not display the code
 @lilypond[ragged-right,quote]
 \new Staff <<
 @c The following example should not display the code
 @lilypond[ragged-right,quote]
 \new Staff <<
-  \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
-  \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
+  \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
+  \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
 >>
 @end lilypond
 
 >>
 @end lilypond
 
@@ -1002,25 +999,25 @@ Let us see in some simple examples exactly what effect
 markup, ties, slurs, and dynamics:
 
 @lilypond[quote,ragged-right,verbatim]
 markup, ties, slurs, and dynamics:
 
 @lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
   % Default behavior or behavior after \oneVoice
   % Default behavior or behavior after \oneVoice
-  c4 d8~ 8 e4( f | g4 a) b-> c |
+  c'4 d8~ 8 e4( f | g4 a) b-> c |
 }
 @end lilypond
 
 @lilypond[quote,ragged-right,verbatim]
 }
 @end lilypond
 
 @lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
   \voiceOne
   \voiceOne
-  c4 d8~ 8 e4( f | g4 a) b-> c |
+  c'4 d8~ 8 e4( f | g4 a) b-> c |
   \oneVoice
   c,4 d8~ 8 e4( f | g4 a) b-> c |
 }
 @end lilypond
 
 @lilypond[quote,ragged-right,verbatim]
   \oneVoice
   c,4 d8~ 8 e4( f | g4 a) b-> c |
 }
 @end lilypond
 
 @lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
   \voiceTwo
   \voiceTwo
-  c4 d8~ 8 e4( f | g4 a) b-> c |
+  c'4 d8~ 8 e4( f | g4 a) b-> c |
   \oneVoice
   c,4 d8~ 8 e4( f | g4 a) b-> c |
 }
   \oneVoice
   c,4 d8~ 8 e4( f | g4 a) b-> c |
 }
@@ -1038,10 +1035,10 @@ notes demonstrate that the main melody is now in a single voice context,
 permitting a phrasing slur to be drawn over them.
 
 @lilypond[quote,ragged-right,verbatim]
 permitting a phrasing slur to be drawn over them.
 
 @lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
+\new Staff \relative {
   \voiceOneStyle
   % This section is homophonic
   \voiceOneStyle
   % This section is homophonic
-  c16^( d e f
+  c'16^( d e f
   % Start simultaneous section of three voices
   <<
     % Continue the main voice in parallel
   % Start simultaneous section of three voices
   <<
     % Continue the main voice in parallel
@@ -1073,8 +1070,8 @@ voice appears only briefly this might be a more natural way to
 typeset the music:
 
 @lilypond[quote,ragged-right,verbatim]
 typeset the music:
 
 @lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' {
-  c16^( d e f
+\new Staff \relative {
+  c'16^( d e f
   <<
     { g4 f e | d2 e) | }
     \new Voice {
   <<
     { g4 f e | d2 e) | }
     \new Voice {
@@ -1102,11 +1099,11 @@ spacing notes to step over sections where the voice is silent,
 as here:
 
 @lilypond[quote,ragged-right,verbatim]
 as here:
 
 @lilypond[quote,ragged-right,verbatim]
-\new Staff \relative c' <<
+\new Staff \relative <<
   % Initiate first voice
   \new Voice {
     \voiceOne
   % Initiate first voice
   \new Voice {
     \voiceOne
-    c16^( d e f g4 f e | d2 e) |
+    c'16^( d e f g4 f e | d2 e) |
   }
   % Initiate second voice
   \new Voice {
   }
   % Initiate second voice
   \new Voice {
@@ -1130,13 +1127,9 @@ as here:
 @cindex collisions, notes
 @cindex shift commands
 @funindex \shiftOff
 @cindex collisions, notes
 @cindex shift commands
 @funindex \shiftOff
-@funindex shiftOff
 @funindex \shiftOn
 @funindex \shiftOn
-@funindex shiftOn
 @funindex \shiftOnn
 @funindex \shiftOnn
-@funindex shiftOnn
 @funindex \shiftOnnn
 @funindex \shiftOnnn
-@funindex shiftOnnn
 
 Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
 
 Closely spaced notes in a chord, or notes occurring at the same
 time in different voices, are arranged in two, occasionally more,
@@ -1167,7 +1160,8 @@ with stems up and one note (or chord) from a voice with stems
 down.  If notes from two voices which have their stems in the
 same direction are placed at the same position and both voices
 have no shift or the same shift specified, the error message
 down.  If notes from two voices which have their stems in the
 same direction are placed at the same position and both voices
 have no shift or the same shift specified, the error message
-@qq{Too many clashing note columns} will be produced.
+@qq{This voice needs a @code{@bs{}voiceXx} or @code{@bs{}shiftXx} setting}
+will be produced.
 
 
 @seealso
 
 
 @seealso
@@ -1186,7 +1180,6 @@ expressions -- notes and lyrics.
 
 @funindex \new Lyrics
 @funindex \lyricsto
 
 @funindex \new Lyrics
 @funindex \lyricsto
-@funindex lyricsto
 @funindex Lyrics
 @cindex Lyrics context, creating
 @cindex lyrics, linking to voice
 @funindex Lyrics
 @cindex Lyrics context, creating
 @cindex lyrics, linking to voice
@@ -1202,10 +1195,10 @@ name assigned to the Voice.
 @lilypond[quote,verbatim]
 <<
   \new Voice = "one" {
 @lilypond[quote,verbatim]
 <<
   \new Voice = "one" {
-    \relative c'' {
+    \relative {
       \autoBeamOff
       \time 2/4
       \autoBeamOff
       \time 2/4
-      c4 b8. a16 | g4. f8 | e4 d | c2 |
+      c''4 b8. a16 | g4. f8 | e4 d | c2 |
     }
   }
   \new Lyrics \lyricsto "one" {
     }
   }
   \new Lyrics \lyricsto "one" {
@@ -1222,7 +1215,6 @@ explicitly.
 @cindex lyrics and beaming
 @cindex beaming and lyrics
 @funindex \autoBeamOff
 @cindex lyrics and beaming
 @cindex beaming and lyrics
 @funindex \autoBeamOff
-@funindex autoBeamOff
 
 The automatic beaming which LilyPond uses by default works well
 for instrumental music, but not so well for music with lyrics,
 
 The automatic beaming which LilyPond uses by default works well
 for instrumental music, but not so well for music with lyrics,
@@ -1233,7 +1225,6 @@ melismata in the lyrics.  In the example above we use the command
 @funindex \new ChoirStaff
 @funindex ChoirStaff
 @funindex \lyricmode
 @funindex \new ChoirStaff
 @funindex ChoirStaff
 @funindex \lyricmode
-@funindex lyricmode
 @cindex vocal score structure
 @cindex choir staff
 
 @cindex vocal score structure
 @cindex choir staff
 
@@ -1248,14 +1239,14 @@ rather than music.
 @lilypond[quote,verbatim]
 global = { \key f \major \time 6/8 \partial 8 }
 
 @lilypond[quote,verbatim]
 global = { \key f \major \time 6/8 \partial 8 }
 
-SopOneMusic = \relative c'' {
-  c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
+SopOneMusic = \relative {
+  c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
 }
 SopOneLyrics = \lyricmode {
   Let | flee -- cy flocks the | hills a -- dorn, __
 }
 }
 SopOneLyrics = \lyricmode {
   Let | flee -- cy flocks the | hills a -- dorn, __
 }
-SopTwoMusic = \relative c' {
-  r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
+SopTwoMusic = \relative {
+  r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
 }
 SopTwoLyrics = \lyricmode {
   Let | flee -- cy flocks the | hills a -- dorn,
 }
 SopTwoLyrics = \lyricmode {
   Let | flee -- cy flocks the | hills a -- dorn,
@@ -1307,10 +1298,10 @@ examples this is often called @q{global}.
 @lilypond[quote,verbatim]
 keyTime = { \key c \major \time 4/4 \partial 4 }
 
 @lilypond[quote,verbatim]
 keyTime = { \key c \major \time 4/4 \partial 4 }
 
-SopMusic   = \relative c' { c4 | e4. e8 g4  g    | a4   a   g  }
-AltoMusic  = \relative c' { c4 | c4. c8 e4  e    | f4   f   e  }
-TenorMusic = \relative c  { e4 | g4. g8 c4.   b8 | a8 b c d e4 }
-BassMusic  = \relative c  { c4 | c4. c8 c4  c    | f8 g a b c4 }
+SopMusic   = \relative { c'4 | e4. e8 g4  g    | a4   a   g  }
+AltoMusic  = \relative { c'4 | c4. c8 e4  e    | f4   f   e  }
+TenorMusic = \relative  e4 | g4. g8 c4.   b8 | a8 b c d e4 }
+BassMusic  = \relative  c4 | c4. c8 c4  c    | f8 g a b c4 }
 
 VerseOne =
   \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
 
 VerseOne =
   \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
@@ -1373,8 +1364,8 @@ appear explicitly in the input file must be added to the
 output.  For example, compare the input and output of the
 following example:
 
 output.  For example, compare the input and output of the
 following example:
 
-@lilypond[quote,verbatim,relative=2]
-cis4 cis2. | a4 a2. |
+@lilypond[quote,verbatim]
+\relative { cis''4 cis2. | a4 a2. | }
 @end lilypond
 
 The input is rather sparse, but in the output, bar lines,
 @end lilypond
 
 The input is rather sparse, but in the output, bar lines,
@@ -1441,16 +1432,16 @@ Notation Reference: @ruser{Contexts explained}.
 @subsection Creating contexts
 
 @funindex \new
 @subsection Creating contexts
 
 @funindex \new
-@funindex new
 @cindex new contexts
 @cindex creating contexts
 @cindex contexts, creating
 
 @cindex new contexts
 @cindex creating contexts
 @cindex contexts, creating
 
-In an input file a score block, introduced with a @code{\score}
-command, contains a single music expression and an associated
-output definition (either a @code{\layout} or a @code{\midi} block).
-The @code{Score} context is usually left to be created automatically
-when the interpretation of that music expression starts.
+In an input file, a score block (introduced with a @code{\score}
+command) contains a single music expression; but it can also contain
+associated output definitions too -- either a @code{\layout} block, a
+@code{\midi} block or both.  The @code{Score} context is usually left to
+be created automatically when the interpretation of that music
+expression starts.
 
 For scores with only one voice and one staff, the @code{Voice} and
 @code{Staff} contexts may also be left to be created automatically,
 
 For scores with only one voice and one staff, the @code{Voice} and
 @code{Staff} contexts may also be left to be created automatically,
@@ -1486,8 +1477,8 @@ annotated real-music example:
       \clef "treble"
       \key g \minor
       \new Voice {  % create voice for RH notes
       \clef "treble"
       \key g \minor
       \new Voice {  % create voice for RH notes
-        \relative c'' {  % start of RH notes
-          d4 ees16 c8. |
+        \relative {  % start of RH notes
+          d''4 ees16 c8. |
           d4 ees16 c8. |
         }  % end of RH notes
       }  % end of RH voice
           d4 ees16 c8. |
         }  % end of RH notes
       }  % end of RH voice
@@ -1497,14 +1488,14 @@ annotated real-music example:
       \key g \minor
       \new Voice {  % create LH voice one
         \voiceOne
       \key g \minor
       \new Voice {  % create LH voice one
         \voiceOne
-        \relative {  % start of LH voice one notes
+        \relative {  % start of LH voice one notes
           g8 <bes d> ees, <g c> |
           g8 <bes d> ees, <g c> |
         }  % end of LH voice one notes
       }  % end of LH voice one
       \new Voice {  % create LH voice two
         \voiceTwo
           g8 <bes d> ees, <g c> |
           g8 <bes d> ees, <g c> |
         }  % end of LH voice one notes
       }  % end of LH voice one
       \new Voice {  % create LH voice two
         \voiceTwo
-        \relative {  % start of LH voice two notes
+        \relative {  % start of LH voice two notes
           g4 ees |
           g4 ees |
         }  % end of LH voice two notes
           g4 ees |
           g4 ees |
         }  % end of LH voice two notes
@@ -1643,9 +1634,7 @@ Internals reference: @rinternals{Engravers and Performers}.
 @cindex context properties, modifying
 @cindex modifying context properties
 @funindex \set
 @cindex context properties, modifying
 @cindex modifying context properties
 @funindex \set
-@funindex set
 @funindex \unset
 @funindex \unset
-@funindex unset
 
 Contexts are responsible for holding the values of a number of
 context @emph{properties}.  Many of them can be changed to
 
 Contexts are responsible for holding the values of a number of
 context @emph{properties}.  Many of them can be changed to
@@ -1717,27 +1706,28 @@ in which context they operate.  Sometimes this is obvious,
 but occasionally it can be tricky.  If the wrong context
 is specified, no error message is produced, but the expected
 action will not take place.  For example, the
 but occasionally it can be tricky.  If the wrong context
 is specified, no error message is produced, but the expected
 action will not take place.  For example, the
-@code{instrumentName} clearly lives in the @code{Staff} context, since
-it is the staff that is to be named.
-In this example the first staff is labeled, but not the second,
-because we omitted the context name.
+@code{clefGlyph} clearly lives in the @code{Staff} context, since
+it is the staff's clef glyph that is to be changed.
+In this example the first staff's clef is printed correctly, but not the
+second -- which prints the default treble clef instead of the
+expected bass (or F) clef -- because we omitted the context name.
 
 @lilypond[quote,verbatim,ragged-right]
 <<
 
 @lilypond[quote,verbatim,ragged-right]
 <<
-  \new Staff \relative c'' {
-    \set Staff.instrumentName = #"Soprano"
-    c2 c
+  \new Staff \relative {
+    \set Staff.clefGlyph = "clefs.C"
+    c''2 c
   }
   }
-  \new Staff \relative c' {
-    \set instrumentName = #"Alto"  % Wrong!
-    d2 d
+  \new Staff \relative {
+    \set clefGlyph = "clefs.F"  % Wrong!
+    d'2 d
   }
 >>
 @end lilypond
 
 Remember the default context name is @code{Voice}, so the second
   }
 >>
 @end lilypond
 
 Remember the default context name is @code{Voice}, so the second
-@code{\set} command set the property @code{instrumentName} in the
-@code{Voice} context to @qq{Alto}, but as LilyPond does not look
+@code{\set} command set the property @code{clefGlyph} in the
+@code{Voice} context to @code{clefs.F}, but as LilyPond does not look
 for any such property in the @code{Voice} context, no
 further action took place.  This is not an error, and no error
 message is logged in the log file.
 for any such property in the @code{Voice} context, no
 further action took place.  This is not an error, and no error
 message is logged in the log file.
@@ -1755,7 +1745,7 @@ such features, it is recommended to check the property name in the
 Internals Reference: see @rinternals{Tunable context properties}, or
 @rinternals{Contexts}.
 
 Internals Reference: see @rinternals{Tunable context properties}, or
 @rinternals{Contexts}.
 
-The @code{instrumentName} property will take effect only
+The @code{clefGlyph} property will take effect only
 if it is set in the @code{Staff} context, but
 some properties can be set in more than one context.
 For example, the property @code{extraNatural} is by
 if it is set in the @code{Staff} context, but
 some properties can be set in more than one context.
 For example, the property @code{extraNatural} is by
@@ -1769,12 +1759,12 @@ So this turns off extra naturals in one staff:
 
 @lilypond[quote,verbatim,ragged-right]
 <<
 
 @lilypond[quote,verbatim,ragged-right]
 <<
-  \new Staff \relative c'' {
-    aeses2 aes
+  \new Staff \relative {
+    aeses'2 aes
   }
   }
-  \new Staff \relative c'' {
+  \new Staff \relative {
     \set Staff.extraNatural = ##f
     \set Staff.extraNatural = ##f
-    aeses2 aes
+    aeses'2 aes
   }
 >>
 @end lilypond
   }
 >>
 @end lilypond
@@ -1784,12 +1774,12 @@ and this turns them off in all staves:
 
 @lilypond[quote,verbatim,ragged-right]
 <<
 
 @lilypond[quote,verbatim,ragged-right]
 <<
-  \new Staff \relative c'' {
-    aeses2 aes
+  \new Staff \relative {
+    aeses'2 aes
   }
   }
-  \new Staff \relative c'' {
+  \new Staff \relative {
     \set Score.extraNatural = ##f
     \set Score.extraNatural = ##f
-    aeses2 aes
+    aeses'2 aes
   }
 >>
 @end lilypond
   }
 >>
 @end lilypond
@@ -1813,17 +1803,19 @@ font size, which affects the size of the note heads (among
 other things) several times.  The change is from the default
 value, not the most recently set value.
 
 other things) several times.  The change is from the default
 value, not the most recently set value.
 
-@lilypond[quote,verbatim,ragged-right,relative=1]
-c4 d
-% make note heads smaller
-\set fontSize = #-4
-e4 f |
-% make note heads larger
-\set fontSize = #2.5
-g4 a
-% return to default size
-\unset fontSize
-b4 c |
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+  c'4 d
+  % make note heads smaller
+  \set fontSize = #-4
+  e4 f |
+  % make note heads larger
+  \set fontSize = #2.5
+  g4 a
+  % return to default size
+  \unset fontSize
+  b4 c |
+}
 @end lilypond
 
 We have now seen how to set the values of several different types of
 @end lilypond
 
 We have now seen how to set the values of several different types of
@@ -1837,7 +1829,6 @@ general way by using the very powerful @code{\markup} command.
 @subsubheading Setting context properties with @code{\with}
 
 @funindex \with
 @subsubheading Setting context properties with @code{\with}
 
 @funindex \with
-@funindex with
 @cindex context properties, setting with \with
 
 The default value of context properties may be set at the time the
 @cindex context properties, setting with \with
 
 The default value of context properties may be set at the time the
@@ -1859,13 +1850,13 @@ like this:
 @lilypond[quote,verbatim,ragged-right]
 <<
   \new Staff {
 @lilypond[quote,verbatim,ragged-right]
 <<
   \new Staff {
-    \relative c'' {
-      gisis4 gis aeses aes
+    \relative {
+      gisis'4 gis aeses aes
     }
   }
   \new Staff \with { extraNatural = ##f } {
     }
   }
   \new Staff \with { extraNatural = ##f } {
-    \relative c'' {
-      gisis4 gis aeses aes
+    \relative {
+      gisis'4 gis aeses aes
     }
   }
 >>
     }
   }
 >>
@@ -1886,7 +1877,6 @@ with @code{\set}, this new default value may be restored with the
 
 @cindex context properties, setting with \context
 @funindex \context
 
 @cindex context properties, setting with \context
 @funindex \context
-@funindex context
 
 The values of context properties may be set in @emph{all} contexts
 of a particular type, such as all @code{Staff} contexts, with a single
 
 The values of context properties may be set in @emph{all} contexts
 of a particular type, such as all @code{Staff} contexts, with a single
@@ -1902,8 +1892,8 @@ throughout the @code{\score} or @code{\book} block in which the
 @lilypond[verbatim,quote]
 \score {
   \new Staff {
 @lilypond[verbatim,quote]
 \score {
   \new Staff {
-    \relative c'' {
-      cisis4 e d cis
+    \relative {
+      cisis''4 e d cis
     }
   }
   \layout {
     }
   }
   \layout {
@@ -1922,13 +1912,13 @@ within the score:
 \score {
   <<
     \new Staff {
 \score {
   <<
     \new Staff {
-      \relative c'' {
-        gisis4 gis aeses aes
+      \relative {
+        gisis'4 gis aeses aes
       }
     }
     \new Staff {
       }
     }
     \new Staff {
-      \relative c'' {
-        gisis4 gis aeses aes
+      \relative {
+        gisis'4 gis aeses aes
       }
     }
   >>
       }
     }
   >>
@@ -1965,9 +1955,7 @@ Internals Reference:
 @cindex removing engravers
 
 @funindex \consists
 @cindex removing engravers
 
 @funindex \consists
-@funindex consists
 @funindex \remove
 @funindex \remove
-@funindex remove
 
 We have seen that contexts each contain several engravers, each
 of which is responsible for producing a particular part of the
 
 We have seen that contexts each contain several engravers, each
 of which is responsible for producing a particular part of the
@@ -1990,8 +1978,8 @@ produced by the @code{Staff_symbol_engraver}.
 \new Staff \with {
   \remove "Staff_symbol_engraver"
 }
 \new Staff \with {
   \remove "Staff_symbol_engraver"
 }
-\relative c' {
-  c4 d
+\relative {
+  c'4 d
   \set fontSize = #-4  % make note heads smaller
   e4 f |
   \set fontSize = #2.5  % make note heads larger
   \set fontSize = #-4  % make note heads smaller
   e4 f |
   \set fontSize = #2.5  % make note heads larger
@@ -2021,15 +2009,15 @@ range from that voice only:
   \new Voice \with {
     \consists "Ambitus_engraver"
   } {
   \new Voice \with {
     \consists "Ambitus_engraver"
   } {
-    \relative c'' {
+    \relative {
       \voiceOne
       \voiceOne
-      c4 a b g
+      c''4 a b g
     }
   }
   \new Voice {
     }
   }
   \new Voice {
-    \relative c' {
+    \relative {
       \voiceTwo
       \voiceTwo
-      c4 e d f
+      c'4 e d f
     }
   }
 >>
     }
   }
 >>
@@ -2046,15 +2034,15 @@ the notes in all the voices on that staff:
 }
 <<
   \new Voice {
 }
 <<
   \new Voice {
-    \relative c'' {
+    \relative {
       \voiceOne
       \voiceOne
-      c4 a b g
+      c''4 a b g
     }
   }
   \new Voice {
     }
   }
   \new Voice {
-    \relative c' {
+    \relative {
       \voiceTwo
       \voiceTwo
-      c4 e d f
+      c'4 e d f
     }
   }
 >>
     }
   }
 >>
@@ -2063,7 +2051,6 @@ the notes in all the voices on that staff:
 @subsubheading Changing all contexts of the same type
 
 @funindex \layout
 @subsubheading Changing all contexts of the same type
 
 @funindex \layout
-@funindex layout
 
 The examples above show how to remove or add engravers to
 individual contexts.  It is also possible to remove or add
 
 The examples above show how to remove or add engravers to
 individual contexts.  It is also possible to remove or add
@@ -2076,24 +2063,24 @@ staff in a four-staff score, we could write
 \score {
   <<
     \new Staff {
 \score {
   <<
     \new Staff {
-      \relative c'' {
-        c4 a b g
+      \relative {
+        c''4 a b g
       }
     }
     \new Staff {
       }
     }
     \new Staff {
-      \relative c' {
-        c4 a b g
+      \relative {
+        c'4 a b g
       }
     }
     \new Staff {
       \clef "G_8"
       }
     }
     \new Staff {
       \clef "G_8"
-      \relative c' {
-        c4 a b g
+      \relative {
+        c'4 a b g
       }
     }
     \new Staff {
       \clef "bass"
       }
     }
     \new Staff {
       \clef "bass"
-      \relative {
+      \relative {
         c4 a b g
       }
     }
         c4 a b g
       }
     }
@@ -2155,7 +2142,7 @@ soprano and cello.  In this case, we would start with the
 @example
 \version @w{"@version{}"}
 
 @example
 \version @w{"@version{}"}
 
-melody = \relative c' @{
+melody = \relative @{
   \clef "treble"
   \key c \major
   \time 4/4
   \clef "treble"
   \key c \major
   \time 4/4
@@ -2184,7 +2171,7 @@ Now we want to add a cello part.  Let's look at the @q{Notes only} example:
 @example
 \version @w{"@version{}"}
 
 @example
 \version @w{"@version{}"}
 
-melody = \relative c' @{
+melody = \relative @{
   \clef "treble"
   \key c \major
   \time 4/4
   \clef "treble"
   \key c \major
   \time 4/4
@@ -2212,7 +2199,7 @@ section for the soprano @code{sopranoMusic} and the section for
 the cello @code{celloMusic}.  While we're doing this, let's rename
 @code{text} to be @code{sopranoLyrics}.  Remember to rename both
 instances of all these names -- both the initial definition (the
 the cello @code{celloMusic}.  While we're doing this, let's rename
 @code{text} to be @code{sopranoLyrics}.  Remember to rename both
 instances of all these names -- both the initial definition (the
-@code{melody = \relative c' @{ } part) and the name's use (in the
+@code{melody = \relative @{ } part) and the name's use (in the
 @code{\score} section).
 
 While we're doing this, let's change the cello part's staff --
 @code{\score} section).
 
 While we're doing this, let's change the cello part's staff --
@@ -2222,7 +2209,7 @@ different notes.
 @example
 \version @w{"@version{}"}
 
 @example
 \version @w{"@version{}"}
 
-sopranoMusic = \relative c' @{
+sopranoMusic = \relative @{
   \clef "treble"
   \key c \major
   \time 4/4
   \clef "treble"
   \key c \major
   \time 4/4
@@ -2233,7 +2220,7 @@ sopranoLyrics = \lyricmode @{
   Aaa Bee Cee Dee
 @}
 
   Aaa Bee Cee Dee
 @}
 
-celloMusic = \relative @{
+celloMusic = \relative @{
   \clef "bass"
   \key c \major
   \time 4/4
   \clef "bass"
   \key c \major
   \time 4/4
@@ -2290,7 +2277,7 @@ This looks a bit messy; the indentation is messed up now.  That is
 easily fixed.  Here's the complete soprano and cello template.
 
 @lilypond[quote,verbatim,ragged-right,addversion]
 easily fixed.  Here's the complete soprano and cello template.
 
 @lilypond[quote,verbatim,ragged-right,addversion]
-sopranoMusic = \relative c' {
+sopranoMusic = \relative {
   \clef "treble"
   \key c \major
   \time 4/4
   \clef "treble"
   \key c \major
   \time 4/4
@@ -2301,7 +2288,7 @@ sopranoLyrics = \lyricmode {
   Aaa Bee Cee Dee
 }
 
   Aaa Bee Cee Dee
 }
 
-celloMusic = \relative {
+celloMusic = \relative {
   \clef "bass"
   \key c \major
   \time 4/4
   \clef "bass"
   \key c \major
   \time 4/4
@@ -2347,44 +2334,44 @@ from Handel's Messiah:
 @lilypond[quote,ragged-right]
 global = { \key d \major \time 4/4 }
 
 @lilypond[quote,ragged-right]
 global = { \key d \major \time 4/4 }
 
-sopranoMusic = \relative c'' {
+sopranoMusic = \relative {
   \clef "treble"
   \clef "treble"
-  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+  r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
 }
 sopranoWords = \lyricmode {
   Wor -- thy | is the lamb | that was slain |
 }
 
 }
 sopranoWords = \lyricmode {
   Wor -- thy | is the lamb | that was slain |
 }
 
-altoMusic = \relative a' {
+altoMusic = \relative {
   \clef "treble"
   \clef "treble"
-  r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
+  r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
 }
 altoWords = \sopranoWords
 
 }
 altoWords = \sopranoWords
 
-tenorMusic = \relative c' {
+tenorMusic = \relative {
   \clef "G_8"
   \clef "G_8"
-  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+  r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
 }
 tenorWords = \sopranoWords
 
 }
 tenorWords = \sopranoWords
 
-bassMusic = \relative c' {
+bassMusic = \relative {
   \clef "bass"
   \clef "bass"
-  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+  r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
 }
 bassWords = \sopranoWords
 
 }
 bassWords = \sopranoWords
 
-upper = \relative a' {
+upper = \relative {
   \clef "treble"
   \global
   \clef "treble"
   \global
-  r4 <a d fis>2 <a e' a>4 |
+  r4 <a' d fis>2 <a e' a>4 |
   <d fis d'>4. <d fis d'>8 <a d a'>2 |
   <g cis g'>4 <a d fis> <a cis e>2 |
 }
 
   <d fis d'>4. <d fis d'>8 <a d a'>2 |
   <g cis g'>4 <a d fis> <a cis e>2 |
 }
 
-lower = \relative c, {
+lower = \relative {
   \clef "bass"
   \global
   \clef "bass"
   \global
-  <d d'>4 <d d'>2 <cis cis'>4 |
+  <d, d'>4 <d d'>2 <cis cis'>4 |
   <b b'>4. <b' b'>8 <fis fis'>2 |
   <e e'>4 <d d'> <a' a'>2 |
 }
   <b b'>4. <b' b'>8 <fis fis'>2 |
   <e e'>4 <d d'> <a' a'>2 |
 }
@@ -2392,8 +2379,9 @@ lower = \relative c, {
 \score {
   <<  % combine ChoirStaff and PianoStaff in parallel
     \new ChoirStaff <<
 \score {
   <<  % combine ChoirStaff and PianoStaff in parallel
     \new ChoirStaff <<
-      \new Staff = "sopranos" <<
-        \set Staff.instrumentName = #"Soprano"
+      \new Staff = "sopranos"
+      \with { instrumentName = #"Soprano" }
+      <<
         \new Voice = "sopranos" {
           \global
           \sopranoMusic
         \new Voice = "sopranos" {
           \global
           \sopranoMusic
@@ -2402,24 +2390,31 @@ lower = \relative c, {
       \new Lyrics \lyricsto "sopranos" {
         \sopranoWords
       }
       \new Lyrics \lyricsto "sopranos" {
         \sopranoWords
       }
-      \new Staff = "altos" <<
-        \set Staff.instrumentName = #"Alto"
+      \new Staff = "altos"
+      \with { instrumentName = #"Alto" }
+      <<
         \new Voice = "altos" {
           \global
           \altoMusic
         }
       >>
         \new Voice = "altos" {
           \global
           \altoMusic
         }
       >>
-      \new Lyrics \lyricsto "altos" { \altoWords }
-      \new Staff = "tenors" <<
-        \set Staff.instrumentName = #"Tenor"
+      \new Lyrics \lyricsto "altos" {
+        \altoWords
+      }
+      \new Staff = "tenors"
+      \with { instrumentName = #"Tenor" }
+      <<
         \new Voice = "tenors" {
           \global
           \tenorMusic
         }
       >>
         \new Voice = "tenors" {
           \global
           \tenorMusic
         }
       >>
-      \new Lyrics \lyricsto "tenors" { \tenorWords }
-      \new Staff = "basses" <<
-        \set Staff.instrumentName = #"Bass"
+      \new Lyrics \lyricsto "tenors" {
+        \tenorWords
+      }
+      \new Staff = "basses"
+      \with { instrumentName = #"Bass" }
+      <<
         \new Voice = "basses" {
           \global
           \bassMusic
         \new Voice = "basses" {
           \global
           \bassMusic
@@ -2429,8 +2424,8 @@ lower = \relative c, {
         \bassWords
       }
     >>  % end ChoirStaff
         \bassWords
       }
     >>  % end ChoirStaff
-    \new PianoStaff <<
-      \set PianoStaff.instrumentName = #"Piano"
+    \new PianoStaff \with { instrumentName = #"Piano" }
+    <<
       \new Staff = "upper" \upper
       \new Staff = "lower" \lower
     >>
       \new Staff = "upper" \upper
       \new Staff = "lower" \lower
     >>
@@ -2468,8 +2463,9 @@ Doing this gives for our ChoirStaff:
 
 @example
 \new ChoirStaff <<
 
 @example
 \new ChoirStaff <<
-  \new Staff = "sopranos" <<
-    \set Staff.instrumentName = #"Soprano"
+  \new Staff = "sopranos"
+  \with @{ instrumentName = #"Soprano" @}
+  <<
     \new Voice = "sopranos" @{
       \global
       \sopranoMusic
     \new Voice = "sopranos" @{
       \global
       \sopranoMusic
@@ -2478,8 +2474,9 @@ Doing this gives for our ChoirStaff:
   \new Lyrics \lyricsto "sopranos" @{
     \sopranoWords
   @}
   \new Lyrics \lyricsto "sopranos" @{
     \sopranoWords
   @}
-  \new Staff = "altos" <<
-    \set Staff.instrumentName = #"Alto"
+  \new Staff = "altos"
+  \with @{ instrumentName = #"Alto" @}
+  <<
     \new Voice = "altos" @{
       \global
       \altoMusic
     \new Voice = "altos" @{
       \global
       \altoMusic
@@ -2488,8 +2485,9 @@ Doing this gives for our ChoirStaff:
   \new Lyrics \lyricsto "altos" @{
     \altoWords
   @}
   \new Lyrics \lyricsto "altos" @{
     \altoWords
   @}
-  \new Staff = "tenors" <<
-    \set Staff.instrumentName = #"Tenor"
+  \new Staff = "tenors"
+  \with @{ instrumentName = #"Tenor" @}
+  <<
     \new Voice = "tenors" @{
       \global
       \tenorMusic
     \new Voice = "tenors" @{
       \global
       \tenorMusic
@@ -2498,8 +2496,9 @@ Doing this gives for our ChoirStaff:
   \new Lyrics \lyricsto "tenors" @{
     \tenorWords
   @}
   \new Lyrics \lyricsto "tenors" @{
     \tenorWords
   @}
-  \new Staff = "basses" <<
-    \set Staff.instrumentName = #"Bass"
+  \new Staff = "basses"
+  \with @{ instrumentName = #"Bass" @}
+  <<
     \new Voice = "basses" @{
       \global
       \bassMusic
     \new Voice = "basses" @{
       \global
       \bassMusic
@@ -2516,8 +2515,8 @@ easy - we just pull out the piano part from the
 @q{Solo piano} template:
 
 @example
 @q{Solo piano} template:
 
 @example
-\new PianoStaff <<
-  \set PianoStaff.instrumentName = #"Piano  "
+\new PianoStaff \with @{ instrumentName = #"Piano  " @}
+<<
   \new Staff = "upper" \upper
   \new Staff = "lower" \lower
 >>
   \new Staff = "upper" \upper
   \new Staff = "lower" \lower
 >>
@@ -2573,8 +2572,8 @@ stacked one above the other:
     @}
   >>  % end ChoirStaff
 
     @}
   >>  % end ChoirStaff
 
-  \new PianoStaff <<
-    \set PianoStaff.instrumentName = #"Piano"
+  \new PianoStaff \with @{ instrumentName = #"Piano" @}
+  <<
     \new Staff = "upper" \upper
     \new Staff = "lower" \lower
   >>
     \new Staff = "upper" \upper
     \new Staff = "lower" \lower
   >>
@@ -2586,39 +2585,39 @@ for the three bars of the example above gives:
 
 @lilypond[quote,verbatim,ragged-right,addversion]
 global = { \key d \major \time 4/4 }
 
 @lilypond[quote,verbatim,ragged-right,addversion]
 global = { \key d \major \time 4/4 }
-sopranoMusic = \relative c'' {
+sopranoMusic = \relative {
   \clef "treble"
   \clef "treble"
-  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
+  r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
 }
 sopranoWords = \lyricmode {
   Wor -- thy | is the lamb | that was slain |
 }
 }
 sopranoWords = \lyricmode {
   Wor -- thy | is the lamb | that was slain |
 }
-altoMusic = \relative a' {
+altoMusic = \relative {
   \clef "treble"
   \clef "treble"
-  r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
+  r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
 }
 altoWords = \sopranoWords
 }
 altoWords = \sopranoWords
-tenorMusic = \relative c' {
+tenorMusic = \relative {
   \clef "G_8"
   \clef "G_8"
-  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
+  r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
 }
 tenorWords = \sopranoWords
 }
 tenorWords = \sopranoWords
-bassMusic = \relative c' {
+bassMusic = \relative {
   \clef "bass"
   \clef "bass"
-  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
+  r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
 }
 bassWords = \sopranoWords
 }
 bassWords = \sopranoWords
-upper = \relative a' {
+upper = \relative {
   \clef "treble"
   \global
   \clef "treble"
   \global
-  r4 <a d fis>2 <a e' a>4 |
+  r4 <a' d fis>2 <a e' a>4 |
   <d fis d'>4. <d fis d'>8 <a d a'>2 |
   <g cis g'>4 <a d fis> <a cis e>2 |
 }
   <d fis d'>4. <d fis d'>8 <a d a'>2 |
   <g cis g'>4 <a d fis> <a cis e>2 |
 }
-lower = \relative c, {
+lower = \relative {
   \clef "bass"
   \global
   \clef "bass"
   \global
-  <d d'>4 <d d'>2 <cis cis'>4 |
+  <d, d'>4 <d d'>2 <cis cis'>4 |
   <b b'>4. <b' b'>8 <fis fis'>2 |
   <e e'>4 <d d'> <a' a'>2 |
 }
   <b b'>4. <b' b'>8 <fis fis'>2 |
   <e e'>4 <d d'> <a' a'>2 |
 }
@@ -2626,8 +2625,9 @@ lower = \relative c, {
 \score {
   <<  % combine ChoirStaff and PianoStaff in parallel
     \new ChoirStaff <<
 \score {
   <<  % combine ChoirStaff and PianoStaff in parallel
     \new ChoirStaff <<
-      \new Staff = "sopranos" <<
-        \set Staff.instrumentName = #"Soprano"
+      \new Staff = "sopranos"
+      \with { instrumentName = #"Soprano" }
+      <<
         \new Voice = "sopranos" {
           \global
           \sopranoMusic
         \new Voice = "sopranos" {
           \global
           \sopranoMusic
@@ -2636,8 +2636,9 @@ lower = \relative c, {
       \new Lyrics \lyricsto "sopranos" {
         \sopranoWords
       }
       \new Lyrics \lyricsto "sopranos" {
         \sopranoWords
       }
-      \new Staff = "altos" <<
-        \set Staff.instrumentName = #"Alto"
+      \new Staff = "altos"
+      \with { instrumentName = #"Alto" }
+      <<
         \new Voice = "altos" {
           \global
           \altoMusic
         \new Voice = "altos" {
           \global
           \altoMusic
@@ -2646,8 +2647,9 @@ lower = \relative c, {
       \new Lyrics \lyricsto "altos" {
         \altoWords
       }
       \new Lyrics \lyricsto "altos" {
         \altoWords
       }
-      \new Staff = "tenors" <<
-        \set Staff.instrumentName = #"Tenor"
+      \new Staff = "tenors"
+      \with { instrumentName = #"Tenor" }
+      <<
         \new Voice = "tenors" {
           \global
           \tenorMusic
         \new Voice = "tenors" {
           \global
           \tenorMusic
@@ -2656,8 +2658,9 @@ lower = \relative c, {
       \new Lyrics \lyricsto "tenors" {
         \tenorWords
       }
       \new Lyrics \lyricsto "tenors" {
         \tenorWords
       }
-      \new Staff = "basses" <<
-        \set Staff.instrumentName = #"Bass"
+      \new Staff = "basses"
+      \with { instrumentName = #"Bass" }
+      <<
         \new Voice = "basses" {
           \global
           \bassMusic
         \new Voice = "basses" {
           \global
           \bassMusic
@@ -2668,8 +2671,9 @@ lower = \relative c, {
       }
     >>  % end ChoirStaff
 
       }
     >>  % end ChoirStaff
 
-    \new PianoStaff <<
-      \set PianoStaff.instrumentName = #"Piano  "
+    \new PianoStaff
+    \with { instrumentName = #"Piano  " }
+    <<
       \new Staff = "upper" \upper
       \new Staff = "lower" \lower
     >>
       \new Staff = "upper" \upper
       \new Staff = "lower" \lower
     >>
@@ -2917,19 +2921,19 @@ is to add the music, and combine all the parts together.
   composer = "J S Bach"
 }
 keyTime = { \key c \minor \time 4/4 }
   composer = "J S Bach"
 }
 keyTime = { \key c \minor \time 4/4 }
-ManualOneVoiceOneMusic = \relative g' {
-  g4 g f ees |
+ManualOneVoiceOneMusic = \relative {
+  g'4 g f ees |
   d2 c |
 }
   d2 c |
 }
-ManualOneVoiceTwoMusic = \relative c' {
-  ees16 d ees8~ 16 f ees d c8 d~ d c~ |
+ManualOneVoiceTwoMusic = \relative {
+  ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
   8 c4 b8 c8. g16 c b c d |
 }
   8 c4 b8 c8. g16 c b c d |
 }
-ManualTwoMusic = \relative c' {
-  c16 b c8~ 16 b c g a8 g~ 16 g aes ees |
+ManualTwoMusic = \relative {
+  c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
   f16 ees f d g aes g f ees d ees8~ 16 f ees d |
 }
   f16 ees f d g aes g f ees d ees8~ 16 f ees d |
 }
-PedalOrganMusic = \relative {
+PedalOrganMusic = \relative {
   r8 c16 d ees d ees8~ 16 a, b g c b c8 |
   r16 g ees f g f g8 c,2 |
 }
   r8 c16 d ees d ees8~ 16 a, b g c b c8 |
   r16 g ees f g f g8 c,2 |
 }
@@ -2983,7 +2987,7 @@ Music Glossary:
 By this point, you've seen this kind of thing:
 
 @lilypond[quote,verbatim,ragged-right]
 By this point, you've seen this kind of thing:
 
 @lilypond[quote,verbatim,ragged-right]
-hornNotes = \relative c'' { c4 b dis c }
+hornNotes = \relative { c''4 b dis c }
 
 \score {
   {
 
 \score {
   {
@@ -2995,8 +2999,8 @@ hornNotes = \relative c'' { c4 b dis c }
 You may even realize that this could be useful in minimalist music:
 
 @lilypond[quote,verbatim,ragged-right]
 You may even realize that this could be useful in minimalist music:
 
 @lilypond[quote,verbatim,ragged-right]
-fragmentA = \relative c'' { a4 a8. b16 }
-fragmentB = \relative c'' { a8. gis16 ees4 }
+fragmentA = \relative { a'4 a8. b16 }
+fragmentB = \relative { a'8. gis16 ees4 }
 
 violin = \new Staff {
   \fragmentA \fragmentA |
 
 violin = \new Staff {
   \fragmentA \fragmentA |
@@ -3013,21 +3017,21 @@ violin = \new Staff {
 However, you can also use these variables (also known as
 macros, or user-defined commands) for tweaks:
 
 However, you can also use these variables (also known as
 macros, or user-defined commands) for tweaks:
 
-@c TODO Avoid padtext - not needed with skylining
 @lilypond[quote,verbatim,ragged-right]
 dolce = \markup { \italic \bold dolce }
 
 @lilypond[quote,verbatim,ragged-right]
 dolce = \markup { \italic \bold dolce }
 
-padText = { \once \override TextScript.padding = #5.0 }
+centreText = { \once \override TextScript.self-alignment-X = #CENTER }
+
 fthenp =_\markup {
   \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
 }
 
 fthenp =_\markup {
   \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
 }
 
-violin = \relative c'' {
+violin = \relative {
   \repeat volta 2 {
   \repeat volta 2 {
-    c4._\dolce b8 a8 g a b |
-    \padText
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\fthenp b8 c4 c-. |
+    c''4._\dolce b8 a8 g a b |
+    \centreText
+    c4.^"hi there!" d8 e f g d |
+    c4.\fthenp b8 c4 c-. |
   }
 }
 
   }
 }
 
@@ -3035,7 +3039,6 @@ violin = \relative c'' {
   {
     \violin
   }
   {
     \violin
   }
-  \layout { ragged-right = ##t }
 }
 @end lilypond
 
 }
 @end lilypond
 
@@ -3047,12 +3050,12 @@ variables.  It's a lot harder to read, especially
 the last line.
 
 @example
 the last line.
 
 @example
-violin = \relative c'' @{
+violin = \relative @{
   \repeat volta 2 @{
   \repeat volta 2 @{
-    c4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
-    \once \override TextScript.padding = #5.0
-    c4.^"hi there!" d8 e' f g d |
-    c,4.\markup @{
+    c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
+    \once \override TextScript.self-alignment-X = #CENTER
+    c4.^"hi there!" d8 e f g d |
+    c4._\markup @{
       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
     @}
     b8 c4 c-. |
       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
     @}
     b8 c4 c-. |
@@ -3060,13 +3063,10 @@ violin = \relative c'' @{
 @}
 @end example
 
 @}
 @end example
 
-@c TODO Replace the following with a better example  -td
-@c Skylining handles this correctly without padText
-
 So far we've seen static substitution -- when LilyPond
 So far we've seen static substitution -- when LilyPond
-sees @code{\padText}, it replaces it with the stuff that
+sees @code{\centreText}, it replaces it with the stuff that
 we've defined it to be (ie the stuff to the right of
 we've defined it to be (ie the stuff to the right of
-@code{padtext=}).
+@code{centreText=}).
 
 LilyPond can handle non-static substitution, too (you
 can think of these as functions).
 
 LilyPond can handle non-static substitution, too (you
 can think of these as functions).
@@ -3074,18 +3074,18 @@ can think of these as functions).
 @lilypond[quote,verbatim,ragged-right]
 padText =
 #(define-music-function
 @lilypond[quote,verbatim,ragged-right]
 padText =
 #(define-music-function
-     (parser location padding)
+     (padding)
      (number?)
    #{
      \once \override TextScript.padding = #padding
    #})
 
      (number?)
    #{
      \once \override TextScript.padding = #padding
    #})
 
-\relative c''' {
-  c4^"piu mosso" b a b |
+\relative {
+  c''4^"piu mosso" b a b
   \padText #1.8
   \padText #1.8
-  c4^"piu mosso" d e f |
+  c4^"piu mosso" b a b
   \padText #2.6
   \padText #2.6
-  c4^"piu mosso" fis a g |
+  c4^"piu mosso" b a b
 }
 @end lilypond
 
 }
 @end lilypond
 
@@ -3112,7 +3112,7 @@ suppose that the file @file{horn-music.ly} contains the following part
 of a horn/@/bassoon duo
 
 @example
 of a horn/@/bassoon duo
 
 @example
-hornNotes = \relative @{
+hornNotes = \relative @{
   \time 2/4
   r4 f8 a | cis4 f | e4 d |
 @}
   \time 2/4
   r4 f8 a | cis4 f | e4 d |
 @}
@@ -3149,7 +3149,7 @@ tuning of a normal French Horn in@tie{}F.  The transposition can be seen
 in the following output
 
 @lilypond[quote,ragged-right]
 in the following output
 
 @lilypond[quote,ragged-right]
-\transpose f c' \relative {
+\transpose f c' \relative {
   \time 2/4
   r4 f8 a | cis4 f | e4 d |
 }
   \time 2/4
   r4 f8 a | cis4 f | e4 d |
 }
@@ -3167,22 +3167,18 @@ takes 3@tie{}measures in 2/4 time
 R2*3
 @end example
 
 R2*3
 @end example
 
-When printing the part, multi-rests
-must be condensed.  This is done by setting a run-time variable
+When printing the part, multi-measure rests must be compressed.  There
+is a music function available to do this:
 
 @example
 
 @example
-\set Score.skipBars = ##t
+\compressMMRests @{ ... @}
 @end example
 
 @end example
 
-@noindent
-This command sets the property @code{skipBars} in the
-@code{Score} context to true (@code{##t}).  Prepending the rest and
-this option to the music above, leads to the following result
+Applying this to @code{hornNotes} gives:
 
 @lilypond[quote,ragged-right]
 
 @lilypond[quote,ragged-right]
-\transpose f c' \relative c {
+\compressMMRests \transpose f c' \relative {
   \time 2/4
   \time 2/4
-  \set Score.skipBars = ##t
   R2*3 |
   r4 f8 a | cis4 f | e4 d |
 }
   R2*3 |
   r4 f8 a | cis4 f | e4 d |
 }
@@ -3207,7 +3203,7 @@ that the other voice is in @code{bassoonNotes} in the file
 leading to
 
 @lilypond[quote,ragged-right]
 leading to
 
 @lilypond[quote,ragged-right]
-\relative <<
+\relative <<
   \new Staff {
     \clef "treble"
     \time 2/4
   \new Staff {
     \clef "treble"
     \time 2/4
@@ -3223,5 +3219,13 @@ leading to
 >>
 @end lilypond
 
 >>
 @end lilypond
 
+@seealso
+Learning Manual:
+@ref{Organizing pieces with variables}.
 
 
+Notation Reference:
+@ruser{Transpose},
+@ruser{Writing parts},
+@ruser{Full measure rests},
+@ruser{Including LilyPond files}.