]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/refman.itely
* scripts/lilypond-book.py (option_definitions): typo
[lilypond.git] / Documentation / user / refman.itely
index 6859691e9a5f6bc7a740b52bafc7006e33fd533a..06e7ef03699efcf6907fab7274fc41b427143a13 100644 (file)
@@ -1,4 +1,4 @@
-@c Note: -*-texinfo-*-
+q@c Note: -*-texinfo-*-
 @c
 @c A menu is needed before every deeper *section nesting of @node's; run
 @c     M-x texinfo-all-menus-update
@@ -11,7 +11,7 @@
 @chapter Notation manual
 
 @html
-<!--- @@WEB-TITLE@@=Reference Manual --->
+<!--- @@WEB-TITLE@@=Notation manual --->
 @end html
 
 
@@ -31,7 +31,7 @@
 * Vocal music::                 
 * Tablatures::                  
 * Chord names::                 
-* Writing parts::               
+* Orchestral music::            
 * Ancient notation ::           
 * Contemporary notation::       
 * Tuning output::               
@@ -45,6 +45,9 @@
 @section Note entry
 @cindex Note entry
 
+This chapter describes all the different types of notation supported
+by LilyPond. It is intended as a reference for users that are already
+somewhat familiar with using LilyPond.
 
 
 @menu
@@ -55,8 +58,8 @@
 * Rests::                       
 * Skips::                       
 * Durations::                   
+* Stems::                       
 * Ties::                        
-* Automatic note splitting ::   
 * Tuplets::                     
 * Easy Notation note heads ::   
 @end menu
@@ -100,13 +103,12 @@ letters span the octave above that C.
 
 @cindex note names, Dutch
 
-A sharp is formed by adding @code{-is} to the end of a pitch
-name and a flat is formed by adding @code{-es}.  Double sharps and
-double flats are obtained by adding @code{-isis} or @code{-eses}.
-
-These default names are the Dutch note names.  In Dutch, @code{aes} is
-contracted to @code{as} in Dutch, but both forms are
-accepted. Similarly, both @code{es} and @code{ees} are accepted.
+A sharp is formed by adding @code{-is} to the end of a pitch name and
+a flat is formed by adding @code{-es}.  Double sharps and double flats
+are obtained by adding @code{-isis} or @code{-eses}.  These
+names are the Dutch note names.  In Dutch, @code{aes} is contracted to
+@code{as} in Dutch, but both forms are accepted. Similarly, both
+@code{es} and @code{ees} are accepted.
 
 There are predefined sets of note names for various other languages.
 To use them,  include the language specific init file.  For
@@ -143,18 +145,30 @@ octave; each @code{,} lowers the pitch by an octave.
 @end lilypond
 
 
-The verbose syntax for pitch specification is
+There is also a verbose syntax for pitch specification.
 
+@c TODO: junk this? 
 @cindex @code{\pitch}
 @example
   \pitch @var{scmpitch}
 @end example
 
+
 where @var{scmpitch} is a Scheme object of the @code{Pitch} type.
 
+@refcommands
+
+Notes can be hidden and unhidden with the following commands.
+
+@cindex @code{\hideNotes }
+@code{\hideNotes}, 
+@cindex @code{\unHideNotes }
+@code{\unHideNotes}.
+
 
 @seealso
 
+@noindent
 @internalsref{NoteEvent}, @internalsref{NoteHead}
 
 @node Chromatic alterations
@@ -183,9 +197,9 @@ ways. For more information, refer to @ref{Accidentals}.
 @subsection Chords
 
 A chord is formed by a enclosing a set of pitches in @code{<<} and
-@code{>>}.
+@code{>>}. A chord may be followed by  a duration, and a set of
+articulations, just like simple notes.
 
-TODO: accidental overides?
 
 @node  Rests
 @subsection Rests
@@ -200,13 +214,15 @@ Rests are entered like notes, with the note name @code{r}.
 r1 r2 r4 r8
 @end lilypond
 
-Whole bar rests, centered in middle of the bar, are specified using
-@code{R} (capital R); see @ref{Multi measure rests}.  See also
-@seeinternals{Rest}.
+Whole bar rests, centered in middle of the bar,
+must be done  with multi measure rests. They are discussed in
+@ref{Multi measure rests}.
+
 
-For some music, you may wish to explicitly specify the rest's vertical
-position.  This can be achieved by entering a note with the @code{\rest}
-keyword appended. Rest collision testing will leave these rests alone.
+A rest's vertical position may be explicitly specified by entering a
+note with the @code{\rest} keyword appended. This makes manual
+formatting in polyphonic music easier.  Rest collision testing will
+leave these rests alone.
 
 @lilypond[singleline,verbatim]
 a'4\rest d'4\rest
@@ -231,9 +247,8 @@ with note name `@code{s}' or with @code{\skip @var{duration}}:
 a2 s4 a4 \skip 1 a4 
 @end lilypond
 
- The @code{s} syntax is only available in Note mode and Chord
-mode.  In other situations, you should use the @code{\skip} command,
-which will work outside of those two modes:
+The @code{s} syntax is only available in Note mode and Chord mode.  In
+other situations, you should use the @code{\skip} command.
 
 @lilypond[singleline,verbatim]
 \score {
@@ -299,7 +314,7 @@ r1 r2 r4 r8 r16 r32 r64 r64
 
 
 If the duration is omitted then it is set to the previously entered
-duration. Default for the first note is a quarter note.  The duration
+duration. The default for the first note is a quarter note.  The duration
 can be followed by dots (`@code{.}') in order to obtain dotted note
 lengths:
 @cindex @code{.}
@@ -313,23 +328,59 @@ lengths:
 You can alter the length of duration by a fraction @var{N/M}
 appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This
 will not affect the appearance of the notes or rests produced.
-
-@lilypond[fragment,verbatim]
-  a'2*2 b'4*2 a'8*4 a'4*3/2 gis'4*3/2 a'4*3/2 a'4
+In the following example, the first three notes take up exactly two
+beats.
+@lilypond[fragment,relative 2,verbatim]
+  \time 2/4
+   a4*2/3 gis4*2/3 a4*2/3
+   a4
 @end lilypond
 
-Durations can also be produced through GUILE extension mechanism. 
+Durations can also be produced using the verbose syntax
+@code{\duration @var{Scheme object}}. 
 @lilypond[verbatim,fragment]
- c'\duration #(ly:make-duration 2 1)
+ c'\duration #(ly:make-duration 4 1)
 @end lilypond
 
 
+
+@refcommands
+
+Dots are normally moved up to avoid staff lines, except in polyphonic
+situations. The following commands may be used to force a particular
+direction manually.
+
+@cindex @code{\dotsUp }
+@code{\dotsUp}, 
+@cindex @code{\dotsDown }
+@code{\dotsDown}, 
+@cindex @code{\dotsBoth}
+@code{\dotsBoth}.
+
+@seealso
+
+@internalsref{Dots}, @internalsref{DotColumn}. 
+
 @refbugs
 
-Dot placement for chords is not perfect.  In some cases, dots overlap:
-@lilypond[]
- <<f, c'' d e f>>4.
-@end lilypond
+In dense chords, dots can overlap.
+
+@node Stems
+@subsection Stems
+
+Whenever a note is found,  a
+@internalsref{Stem} object is created automatically. For whole notes
+and rests, stem objects are also created, but in those cases, the stem
+is invisible.
+
+@refcommands
+
+@cindex @code{\stemUp}
+@code{\stemUp}, 
+@cindex @code{\stemDown}
+@code{\stemDown}, 
+@cindex @code{\stemBoth}
+@code{\stemBoth}, 
 
 
 @node Ties
@@ -358,9 +409,22 @@ exactly the same concept.
 @lilypond[fragment, singleline,quote]
 \time 3/4 c'2. c'2 ~ c'4
 @end lilypond
-If you need to tie notes over bars, it may be easier to use automatic
+If you need to tie a lot of  notes over bars, it may be easier to use automatic
 note splitting (See @ref{Automatic note splitting}).
 
+@refcommands
+
+
+@cindex @code{\tieUp }
+@code{\tieUp}, 
+@cindex @code{\tieDown }
+@code{\tieDown}, 
+@cindex @code{\tieBoth }
+@code{\tieBoth}, 
+@cindex @code{\tieDotted }
+@code{\tieDotted}, 
+@cindex @code{\tieSolid}
+@code{\tieSolid}, 
 
 @seealso 
 
@@ -377,59 +441,12 @@ supported in a simple way.  It can be achieved by moving the
 tie-engraver into the @internalsref{Thread} context and turning on and
 off ties per @internalsref{Thread}.
 
-Switching staves when a tie is active, will produce a horizontal tie
-on the first note.
+Switching staves when a tie is active, will not produce a slanted tie.
 
 Formatting of ties is a difficult subject. The results are often not
-optimal results.
-
-
-
-@node Automatic note splitting 
-@subsection Automatic note splitting
-@c FIXME: This subsection does not belong in @ref{Note entry}.
-
-Long notes can be converted automatically to tied notes.  This is done
-by replacing the @internalsref{Note_heads_engraver} by the
-@internalsref{Completion_heads_engraver}.
-
-@example
-  \paper @{ \translator @{
-      \ThreadContext
-      \remove "Note_heads_engraver"
-      \consists "Completion_heads_engraver"
-  @} @}
-@end example
-
-For example,
-@example
-  \time 2/4
-  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 
-@end example
-
-@lilypond[noindent]
-\score{
-  \notes\relative c'{
-  \time 2/4
-  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 
-  }
-  \paper { \translator {
-      \ThreadContext
-      \remove "Note_heads_engraver"
-      \consists "Completion_heads_engraver"
-  } }
-  }
-@end lilypond
-
-This engraver splits all running notes at the bar line, and inserts
-ties.  One of its uses is to debug complex scores: if the measures are
-not entirely filled, then the ties exactly show how much each measure
-is off.
+optimal.
 
-@refbugs
 
-Not all durations (especially those containing tuplets) can be
-represented exactly; the engraver will not insert tuplets. 
 
 @node Tuplets
 @subsection Tuplets
@@ -456,9 +473,11 @@ of their written length:
   g'4 \times 2/3 {c'4 c' c'} d'4 d'4
 @end lilypond
 
-The property @code{tupletSpannerDuration} specifies how long each bracket
-should last.  With this, you can make lots of tuplets while typing
-@code{\times} only once, saving lots of typing.
+The property @code{tupletSpannerDuration} specifies how long each
+bracket should last.  With this, you can make lots of tuplets while
+typing @code{\times} only once, saving lots of typing. In the next
+example, there are two triplets shown, while @code{\times} was only
+used once.
 
 @lilypond[fragment,  relative, singleline, verbatim]
 \property Voice.tupletSpannerDuration = #(ly:make-moment 1 4)
@@ -475,9 +494,19 @@ instead.
 @cindex @code{tupletNumberFormatFunction}
 @cindex tuplet formatting 
 
+
+@refcommands
+
+@cindex @code{\tupletUp  }
+@code{\tupletUp}, 
+@cindex @code{\tupletDown }
+@code{\tupletDown}, 
+@cindex @code{\tupletBoth}
+@code{\tupletBoth}, 
+
 @seealso
 
-@seeinternals{TupletBracket}, @seeinternals{TimeScaledMusic}.
+@internalsref{TupletBracket}, @internalsref{TimeScaledMusic}.
 
 @refbugs
 
@@ -505,8 +534,8 @@ context.  You probably will want to print it with magnification or a
 large font size to make it more readable.  To print with
 magnification, you must create a DVI file (with @file{ly2dvi}) and
 then enlarge it with something like @file{dvips -x 2000 file.dvi}.
-See @file{man dvips} for details.  To print with a larger font, see
-@ref{Font Size}.
+See the @code{dvips} documentation for more details.  To print with a
+larger font, see @ref{Font Size}.
 
 
 @cindex Xdvi
@@ -520,17 +549,27 @@ produce the correct result.
 @node Easier music entry
 @section Easier music entry
 @cindex Music entry
+
+When entering music it is easy to introduce errors. This section deals
+with tricks and features of the input language that help when entering
+music, and find and correct mistakes.  Some features of the input
+language ease entering music, but also have other applications. They
+are not described in this section.
+
+It is also possible to use external programs, for example GUI
+interfaces, or MIDI transcription programs, to enter or edit
+music. Refer to the website for more information. Finally, there are
+tools make debugging easier, by linking the input file and the output
+shown on screen. See @ref{Point and click} for more information.
+
+
 @menu
 * Relative octaves::            
 * Bar check::                   
 * Skipping corrected music::    
+* Automatic note splitting ::   
 @end menu
 
-When entering music it is easy to introduce errors. This section deals
-with tricks and features that help entering music, and find and
-correct mistakes.  It is also possible to use external programs, for
-example GUI interfaces, or MIDI transcription programs, to enter or
-edit music. Refer to the website for more information.
 
 
 
@@ -542,7 +581,8 @@ edit music. Refer to the website for more information.
 Octaves are specified by adding @code{'} and @code{,} to pitch names.
 When you copy existing music, it is easy to accidentally put a pitch
 in the wrong octave and hard to find such an error. The relative
-octave mode prevents these errors
+octave mode prevents these errors: a single error puts the rest of the
+piece off by one octave.
 
 @cindex @code{\relative}
 @example
@@ -556,28 +596,26 @@ between this and the last note is always taken to be a fourth or less
 @code{fisis} following a @code{ceses} will be put above the
 @code{ceses})
 
-The octave changing marks @code{'} and @code{,} can be added to raise or
-lower the pitch by an extra octave.  Upon entering relative mode, an
-absolute starting pitch must be specified that will act as the
+The octave changing marks @code{'} and @code{,} can be added to raise
+or lower the pitch by an extra octave.  Upon entering relative mode,
+an absolute starting pitch must be specified that will act as the
 predecessor of the first note of @var{musicexpr}.
 
-Entering music that changes octave frequently  is easy in relative mode.
+Here is the relative mode shown in action:
 @lilypond[fragment,singleline,verbatim,center]
   \relative c'' {
     b c d c b c bes a 
   }
 @end lilypond
 
-And octave changing marks are used for intervals greater than a fourth.
+Octave changing marks are used for intervals greater than a fourth.
 @lilypond[fragment,verbatim,center]
   \relative c'' {
     c g c f, c' a, e'' }
 @end lilypond
 
 If the preceding item is a chord, the first note of the chord is used
-to determine the first note of the next chord. However, other notes
-within the second chord are determined by looking at the immediately
-preceding note.
+to determine the first note of the next chord.
 
 @lilypond[fragment,verbatim,center]
   \relative c' {
@@ -607,15 +645,16 @@ additional @code{\relative} inside the @code{\transpose}.
 @cindex @code{barCheckSynchronize}
 @cindex @code{|}
 
-
-Whenever a bar check is encountered during interpretation, a warning
-message is issued if it does not fall at a measure boundary.  This can
-help find errors in the input.  Depending on the value of
+Bar checks help detect errors in the durations.  A bar check is
+entered using the bar symbol, `@code{|}'.  Whenever it is encountered
+during interpretation, it should fall on a measure boundary.  If it
+does not, a warning is printed.  Depending on the value of
 @code{barCheckSynchronize}, the beginning of the measure will be
-relocated. A bar check is entered using the bar symbol, `@code{|}'.
+relocated.
 
+In the next example, the second bar check will signal an error. 
 @example
-  \time 3/4 c2 e4 | g2.
+  \time 3/4 c2 e4 | g2 | 
 @end example
 
 
@@ -646,13 +685,58 @@ been checked for errors.
 c d b bes a g c2 } 
 @end lilypond
 
+@node Automatic note splitting 
+@subsection Automatic note splitting
+
+Long notes can be converted automatically to tied notes.  This is done
+by replacing the @internalsref{Note_heads_engraver} by the
+@internalsref{Completion_heads_engraver}.
+
+@example
+  \paper @{ \translator @{
+      \ThreadContext
+      \remove "Note_heads_engraver"
+      \consists "Completion_heads_engraver"
+  @} @}
+@end example
+
+For example,
+@example
+  \time 2/4
+  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 
+@end example
+
+@lilypond[noindent]
+\score{
+  \notes\relative c'{
+  \time 2/4
+  c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 
+  }
+  \paper { \translator {
+      \ThreadContext
+      \remove "Note_heads_engraver"
+      \consists "Completion_heads_engraver"
+  } }
+  }
+@end lilypond
+
+This engraver splits all running notes at the bar line, and inserts
+ties.  One of its uses is to debug complex scores: if the measures are
+not entirely filled, then the ties exactly show how much each measure
+is off.
+
+@refbugs
+
+Not all durations (especially those containing tuplets) can be
+represented exactly; the engraver will not insert tuplets. 
+
 
 
 
 @node Staff notation
 @section Staff notation
 
-This section describes with music notation that occurs on staff level,
+This section describes music notation that occurs on staff level,
 such as keys, clefs and time signatures.
 
 @cindex Staff notation
@@ -663,6 +747,7 @@ such as keys, clefs and time signatures.
 * Clef::                        
 * Ottava brackets::             
 * Time signature::              
+* Partial measures::            
 * Unmetered music::             
 * Bar lines::                   
 @end menu
@@ -676,7 +761,7 @@ such as keys, clefs and time signatures.
 
 Notes, dynamic signs, etc. are grouped
 with a set of horizontal lines, into a staff (plural `staves'). In our
-system, these lines are drawn using a separate graphical object called
+system, these lines are drawn using a separate layout object called
 staff symbol.  
 
 This object is created whenever a @internalsref{Staff} context is
@@ -695,7 +780,7 @@ exactly on the barline.
 
 @node Key signature
 @subsection Key signature
-@cindex Key
+@cindex Key signature
 
 @cindex @code{\key}
 
@@ -734,8 +819,8 @@ can be specified by setting this property directly.
 
 @refbugs
 
-The ordering of a key restoration (alterations that change back to
-natural) is wrong when combined with a repeat barline.
+The ordering of a key cancellation is wrong when it is combined with
+repeat bar lines. The cancellation is also printed after a line break.
 
 @seealso
 
@@ -824,8 +909,8 @@ the staff. They are created by invoking the function
   a b }
 @end lilypond
 
-Internally the @code{set-octavation} sets @code{ottavation} (eg. to
-@code{"8va"}) and @code{centralCPosition} properties.
+Internally the @code{set-octavation} function sets the properties
+@code{ottavation} (eg. to @code{"8va"}) and @code{centralCPosition}.
 
 @seealso
 
@@ -854,19 +939,19 @@ command.
  \time 2/4 c'2 \time 3/4 c'2. 
 @end lilypond
 
-The actual symbol that is printed can be customized with the
-@code{style} property. Setting it to @code{#'()} uses fraction style
-for 4/4 and 2/2 time.  There are many more options for its layout.
-See @inputfileref{input/test,time.ly} for more examples.
+The symbol that is printed can be customized with the @code{style}
+property. Setting it to @code{#'()} uses fraction style for 4/4 and
+2/2 time.  There are many more options for its layout.  See
+@inputfileref{input/test,time.ly} for more examples.
 
 
 This command sets the property @code{timeSignatureFraction},
 @code{beatLength} and @code{measureLength} in the @code{Timing}
 context, which is normally aliased to @internalsref{Score}.  The
-property @code{timeSignatureFraction} determines where bar lines
-should be inserted, and how automatic beams should be generated.
-Changing the value of @code{timeSignatureFraction} also causes the
-symbol to be printed.
+property @code{measureLength} determines where bar lines should be
+inserted, and how automatic beams should be generated.  Changing the
+value of @code{timeSignatureFraction} also causes the symbol to be
+printed.
 
 More options are available through the Scheme function
 @code{set-time-signature}. In combination with the
@@ -900,20 +985,19 @@ measure is subdivided in 2, 2, 2 and 3. This is passed to
 Automatic beaming does not use measure grouping specified with
 @code{set-time-signature}.
 
-
-@subsection Partial
+@node Partial measures
+@subsection Partial measures
 @cindex Partial
 @cindex anacrusis
-@cindex upbeat
 @cindex partial measure
 @cindex measure, partial
 @cindex shorten measures
 @cindex @code{\partial}
 
-Partial measures, for example in upbeats, are entered using the
+Partial measures, for example in upsteps, are entered using the
 @code{\partial} command:
 @lilypond[fragment,verbatim]
-\partial 16*5  c'16 c4 f16 a'2. ~ a'8. a'16 | g'1
+\partial 16*5  c'16 c4 |   a'2. ~ a'8. a'16 | g'1
 @end lilypond
 
 The syntax for this command is 
@@ -936,6 +1020,14 @@ music (e.g. cadenzas), this is not desirable.  By setting
 @code{Score.timing} to false, this automatic timing can be switched
 off.
 
+
+@refcommands
+
+@cindex @code{\cadenzaOn }
+@code{\cadenzaOn}, 
+@cindex @code{\cadenzaOff }
+@code{\cadenzaOff}, 
+
 @node Bar lines
 @subsection Bar lines
 @cindex Bar lines
@@ -945,12 +1037,13 @@ off.
 @cindex repeat bars
 
 
-Bar lines delimit measures, but are also used to indicate
-repeats. Line breaks may only happen on barlines.
+Bar lines delimit measures, but are also used to indicate repeats.
+Normally, tehy are inserted automatically.  Line breaks may only
+happen on barlines.
 
 @syntax
 
-Bar lines are inserted automatically.  Special types
+ Special types
 of barlines can be forced with the @code{\bar} command:
 @lilypond[relative=1,fragment,verbatim]
    c4 \bar "|:" c4
@@ -969,9 +1062,10 @@ c4
 \bar "|." 
 @end lilypond
 
-In scores with many staves, the barlines are automatically placed at
-top level, and they are connected between different staves of a
-@internalsref{StaffGroup}:
+In scores with many staves, a @code{\bar} command in one staff is
+automatically applied to all staffs. The resulting bar lines are
+connected between different staves of a @internalsref{StaffGroup}:
+@c
 @lilypond[fragment, verbatim]
 < \context StaffGroup <
   \context Staff = up { e'4 d'
@@ -982,15 +1076,15 @@ top level, and they are connected between different staves of a
 @end lilypond
 
 
-The command @code{\bar @var{bartype}} is a short cut for
-doing  @code{\property Score.whichBar = @var{bartype}}
-Whenever @code{whichBar} is set to a string, a bar line of that type is
-created.  @code{whichBar} is usually set automatically: at the start of
-a measure it is set to @code{defaultBarType}. The contents of
-@code{repeatCommands} is used to override default measure bars.
+The command @code{\bar @var{bartype}} is a short cut for doing
+@code{\property Score.whichBar = @var{bartype}} Whenever
+@code{whichBar} is set to a string, a bar line of that type is
+created.  At the start of a measure it is set to
+@code{defaultBarType}. The contents of @code{repeatCommands} are used
+to override default measure bars.
 
 @code{whichBar} can also be set directly, using @code{\property} or
-@code{\bar  }.  These settings take precedence over the automatic
+@code{\bar}.  These settings take precedence over the automatic
 @code{whichBar} settings. 
 
 @cindex whichBar
@@ -1022,13 +1116,14 @@ small, short-lived voices or for single chords:
 
 @lilypond[verbatim,fragment]
 \context Voice = VA \relative c'' {
- c4 < { f d e  } \\ { b c2 } > c4 < g' \\ b, \\  f' \\ d' >
+ c4 < { f d e  } \\ { b c2 } > c4 < g' \\ b, \\  f' \\ d >
 }
 @end lilypond
 
-The separator causes @internalsref{Voice} contexts to be instantiated,
-bearing the names @code{"1"}, @code{"2"}, etc. In each of these
-contexts, vertical direction of slurs, stems, etc. are set
+The separator causes @internalsref{Voice} contexts to be
+instantiated. They 
+bear the names @code{"1"}, @code{"2"}, etc. In each of these
+contexts, vertical direction of slurs, stems, etc. is set
 appropriately.
 
 This can also be done by instantiating @internalsref{Voice} contexts
@@ -1047,7 +1142,7 @@ Normally, note heads with a different number of dots are not merged, but
 when  the object property @code{merge-differently-dotted} is set in
 the @internalsref{NoteCollision} object, they are:
 @lilypond[verbatim,fragment,singleline]
-\relative c' \context Voice < {
+\relative c'' \context Voice < {
      g8 g8 
      \property Staff.NoteCollision \override
         #'merge-differently-dotted = ##t
@@ -1068,10 +1163,43 @@ Similarly, you can merge half note heads with eighth notes, by setting
 
 LilyPond also vertically shifts rests that are opposite of a stem. 
 
+
 @lilypond[singleline,fragment,verbatim]
 \context Voice < c''4 \\  r4 >
 @end lilypond
 
+
+@refcommands
+
+
+
+@cindex @code{\oneVoice }
+@code{\oneVoice}, 
+@cindex @code{\voiceOne }
+@code{\voiceOne}, 
+@cindex @code{\voiceTwo }
+@code{\voiceTwo}, 
+@cindex @code{\voiceThree }
+@code{\voiceThree}, 
+@cindex @code{\voiceFour }
+@code{\voiceFour}, 
+
+The following commands specify in what chords of the current voice
+should be shifted: the outer voice has @code{\shiftOff}, and the inner
+voices have @code{\shiftOn}, @code{\shiftOnn}, etc.
+
+
+@cindex @code{\shiftOn}
+@code{\shiftOn}, 
+@cindex @code{\shiftOnn}
+@code{\shiftOnn}, 
+@cindex @code{\shiftOnnn}
+@code{\shiftOnnn}, 
+@cindex @code{\shiftOff}
+@code{\shiftOff}, 
+
+
+
 @seealso
 
 The objects responsible for resolving collisions are
@@ -1090,6 +1218,9 @@ are handled. When LilyPond cannot cope, the @code{force-hshift}
 property of the @internalsref{NoteColumn} object and pitched rests can
 be used to override typesetting decisions.
 
+When using @code{merge-differently-headed} with upstem 8th or shorter
+note, and a downstem half note, the 8th note gets the wrong offset.
+
 @node Beaming
 @section Beaming
 
@@ -1116,9 +1247,9 @@ that differ from the defaults.
 @cindex @code{[}
 
 In some cases it may be necessary to override the automatic beaming
-algorithm.  For example, the auto beamer will not beam over rests or
-bar lines, If you want that, specify the begin and end point manually
-using @code{[} and @code{]}.
+algorithm.  For example, the auto beamer will not put beams over rests
+or bar lines. Such beams are specified by manually: the begin and end
+point are marked with @code{[} and @code{]}.
 
 @lilypond[fragment,relative,verbatim]
   \context Staff {
@@ -1144,18 +1275,18 @@ is set, its value will be used only once, and then it is erased.
 
 
 The property @code{subdivideBeams} can be set in order to subdivide
-all 16th or shorter beams at beat positions.  This accomplishes the
-same effect as twiddling with @code{stemLeftBeamCount} and
-@code{stemRightBeamCount}, but it take less typing.
+all 16th or shorter beams at beat positions, as defined by the
+@code{beatLength} property .  This accomplishes the same effect as
+twiddling with @code{stemLeftBeamCount} and @code{stemRightBeamCount},
+but it take less typing.
 
 
 @lilypond[relative=1,verbatim,noindent]
         c16-[ c c c c c c c-]
         \property Voice.subdivideBeams = ##t
         c16-[ c c c c c c c-]
-        c32-[ c c c c c c c c c c c c c c c-]
         \property Score.beatLength = #(ly:make-moment 1 8)
-        c32-[ c c c c c c c c c c c c c c c-]
+        c16-[ c c c c c c c-]
 @end lilypond
 @cindex subdivideBeams
 
@@ -1209,7 +1340,7 @@ Some beams should be horizontal. These are so-called concave beams.
 @cindex automatic beams, tuning
 @cindex tuning automatic beaming
 
-[TODO: use \applycontext]
+@c [TODO: use \applycontext]
 
 In normal time signatures, automatic beams can start on any note but can
 only end in a few positions within the measure: beams can end on a beat,
@@ -1218,7 +1349,7 @@ or at durations specified by the properties in
 are defined in @file{scm/auto-beam.scm}.
 
 The value of @code{autoBeamSettings} is changed using
-@code{\override} and unset using @code{\revert}:
+@code{\override} and restored with @code{\revert}:
 @example
 \property Voice.autoBeamSettings \override #'(@var{BE} @var{P} @var{Q} @var{N} @var{M}) = @var{dur}
 \property Voice.autoBeamSettings \revert #'(@var{BE} @var{P} @var{Q} @var{N} @var{M})
@@ -1276,6 +1407,13 @@ For melodies that have lyrics, you may want to switch off
 automatic beaming. This is done by setting @code{Voice.autoBeaming} to
 @code{#f}. 
 
+@refcommands
+
+@cindex @code{\autoBeamOff }
+@code{\autoBeamOff}, 
+@cindex @code{\autoBeamOn }
+@code{\autoBeamOn}, 
+
 
 @refbugs
 
@@ -1296,8 +1434,8 @@ automatic beaming in irregular meters such as @code{5/8}.
 @section Accidentals
 @cindex Accidentals
 
-This section describes how to change the way that LilyPond automatically
-inserts accidentals before the running notes.
+This section describes how to change the way that accidentals are
+inserted automatically before the running notes.
 
 
 @menu
@@ -1313,7 +1451,7 @@ quite hairy, so non-experts should stick to the variables
 defined in @file{ly/property-init.ly}.
 @cindex @file{property-init.ly}
 
-The variables set properties in the ``Current'' context (see
+The variables set properties in the ``@code{Current}'' context (see
 @ref{Context properties}). This means that the variables should
 normally be added right after the creation of the context in which the
 accidental typesetting described by the variable is to take
@@ -1404,8 +1542,8 @@ instead.
       @cindex @code{\modernCautionaries}
      This rule is similar to @code{\modernAccidentals}, but the
      ``extra'' accidentals (the ones not typeset by
-     @code{\defaultAccidentals}) are typeset as cautionary accidentals
-     (i.e. in reduced size):
+     @code{\defaultAccidentals}) are typeset as cautionary accidentals.
+     They are printed in reduced size or with parentheses.
 @lilypond[singleline,fragment,verbatim]
       \modernCautionaries
       cis' c'' cis'2 | c'' c'
@@ -1450,7 +1588,7 @@ some of them are typeset as cautionaries.
 @item \forgetAccidentals
       @cindex @code{\forgetAccidentals}
       This is sort of the opposite of @code{\noResetKey}: Accidentals
-      are not remembered at all - and hence all accidentals are
+      are not remembered at all---and hence all accidentals are
       typeset relative to the key signature, regardless of what was
       before in the music:
 @lilypond[singleline,fragment,verbatim,relative]
@@ -1483,10 +1621,33 @@ voices in the same staff share accidentals, but staves do not.
       immediately, and if @var{lazyness} is @code{#t} then the accidental
       lasts forever.
 
-[TODO: should use  +infinity for this case?]
+@c [TODO: should use  +infinity for this case?]
 
 @end table
 
+@refcommands
+
+@cindex @code{\defaultAccidentals }
+@code{\defaultAccidentals}, 
+@cindex @code{\voiceAccidentals }
+@code{\voiceAccidentals}, 
+@cindex @code{\modernAccidentals }
+@code{\modernAccidentals}, 
+@cindex @code{\modernCautionaries }
+@code{\modernCautionaries}, 
+@cindex @code{\modernVoiceAccidentals }
+@code{\modernVoiceAccidentals}, 
+@cindex @code{\modernVoiceCautionaries }
+@code{\modernVoiceCautionaries}, 
+@cindex @code{\pianoAccidentals }
+@code{\pianoAccidentals}, 
+@cindex @code{\pianoCautionaries }
+@code{\pianoCautionaries}, 
+@cindex @code{\noResetKey }
+@code{\noResetKey}, 
+@cindex @code{\forgetAccidentals }
+@code{\forgetAccidentals}, 
+
 @seealso
 
 @internalsref{Accidental_engraver}, @internalsref{Accidental},
@@ -1575,6 +1736,20 @@ stems might look better:
   d,32-( d'4 d8..-)
 @end lilypond
 
+@refcommands
+
+
+@cindex @code{\slurUp   }
+@code{\slurUp}, 
+@cindex @code{\slurDown }
+@code{\slurDown}, 
+@cindex @code{\slurBoth }
+@code{\slurBoth}, 
+@cindex @code{\slurDotted }
+@code{\slurDotted}, 
+@cindex @code{\slurSolid }
+@code{\slurSolid}, 
+
 @seealso
 
 @seeinternals{Slur}, @internalsref{SlurEvent}.
@@ -1583,8 +1758,8 @@ stems might look better:
 @refbugs
 
 Producing nice slurs is a difficult problem, and LilyPond currently
-uses a simple, empiric method to produce slurs. In some cases, the
-results of this method are ugly.
+uses a simple, empiric method to produce slurs. In some cases, its
+results are ugly.
 
 
 @cindex Adjusting slurs
@@ -1612,6 +1787,15 @@ should use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
 The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurBoth}
 will only affect normal slurs and not phrasing slurs.
 
+@refcommands
+
+@cindex @code{\phrasingSlurUp   }
+@code{\phrasingSlurUp}, 
+@cindex @code{\phrasingSlurDown }
+@code{\phrasingSlurDown}, 
+@cindex @code{\phrasingSlurBoth }
+@code{\phrasingSlurBoth}, 
+
 @seealso
 
 See also @internalsref{PhrasingSlur},
@@ -1620,7 +1804,7 @@ See also @internalsref{PhrasingSlur},
 @refbugs
 
 Phrasing slurs have the same limitations in their formatting as normal
-slurs.
+slurs. Putting phrasing slurs over rests leads to spurious warnings.
 
 @node Breath marks
 @subsection Breath marks
@@ -1628,12 +1812,12 @@ slurs.
 Breath marks are entered using @code{\breathe}.
 
 
-@lilypond[fragment,relative]
+@lilypond[fragment,relative,verbatim]
 c'4 \breathe d4
 @end lilypond
 
 The glyph of the breath mark can be tweaked by overriding the
-@code{text} property of the @code{BreathingSign} grob with the name of
+@code{text} property of the @code{BreathingSign} layout object with the name of
 any glyph of @ref{The Feta font}.  For example,
 @lilypond[fragment,verbatim,relative]
 c'4
@@ -1730,13 +1914,6 @@ To use this, add the @internalsref{Horizontal_bracket_engraver} to
 @internalsref{HorizontalBracket}, @internalsref{NoteGroupingEvent},
 @inputfileref{input/regression,note-group-bracket.ly}. 
 
-@refbugs
-
-Bracket endings should be angled/slanted. (TODO)
-
-
-
 
 @node Articulations
 @section Articulations
@@ -1764,8 +1941,8 @@ put them up:
 
 
 Other symbols can be added using the syntax
-@var{note}@code{-\}@var{name}. Again, they can be forced up or down
-using @code{^} and @code{_}.
+@var{note}@code{-\}@var{name}, e.g. @code{c4-\fermata}. Again, they
+can be forced up or down using @code{^} and @code{_}.
 
 @cindex accent
 @cindex marcato
@@ -1798,6 +1975,16 @@ using @code{^} and @code{_}.
 
 @lilypondfile[notexidoc]{script-chart.ly}
 
+
+@refcommands
+
+@cindex @code{\scriptUp  }
+@code{\scriptUp}, 
+@cindex @code{\scriptDown }
+@code{\scriptDown}, 
+@cindex @code{\scriptBoth}
+@code{\scriptBoth}, 
+
 @seealso
 
 @internalsref{ScriptEvent}, @internalsref{Script}.
@@ -1829,14 +2016,28 @@ For finger changes, use markup texts:
 @cindex superscript
 @cindex subscript
 
+You can use the thumb-script to indicate that a note should be
+played with your thumb (used in cello music):
+
+@lilypond[verbatim, singleline, fragmnt]
+      <<a' a''-3>>8-(_\thumb-[ <<b' b''-3>>-)_\thumb
+      <<c'' c'''-3>>-(_\thumb <<d'' d'''-3>>-)_\thumb-]
+@end lilypond
+
+Fingerings for chords can also be added to individual notes
+of the chord by adding them after the pitches
 @lilypond[verbatim,singleline,fragment,relative=1]
         << c-1  e-2 g-3 b-5 >> 4
+@end lilypond
+
+Setting @code{fingerHorizontalDirection} will put the fingerings next
+to the note head.
+
+@lilypond[verbatim,singleline,fragment,relative=1]
        \property Voice.fingerHorizontalDirection = #LEFT
-       << c-1  es-3 g-5 >> 4
+       << c-1  es-2 g-4 bes-5 >> 4
        \property Voice.fingerHorizontalDirection = #RIGHT
-       << c-1  e-2 g-3 b-5 >>4
-       \property Voice.fingerHorizontalDirection = #LEFT
-       << c_1  e-2 g-3 b^5 >>4
+       << c-1  es-2 g-4 bes-5 >> 4
 @end lilypond
         
 @seealso
@@ -1865,10 +2066,9 @@ will be taken into account.
 c4^"longtext" \fatText c4_"longlongtext" c4 }
 @end lilypond
 
-It is possible to use @TeX{} commands in the strings, but this should be
-avoided because it makes it impossible for LilyPond to compute the
-exact length of the string, which may lead to collisions.  Also, @TeX{}
-commands will not work with direct PostScript output.
+It is possible to use @TeX{} commands in the strings, but this should
+be avoided because the exact dimensions of the string can then no
+longer be computed.
 
 
 @seealso
@@ -1881,8 +2081,6 @@ commands will not work with direct PostScript output.
 @node Grace notes
 @subsection Grace notes
 
-
-
 @cindex @code{\grace}
 @cindex ornaments
 @cindex grace notes
@@ -1908,17 +2106,18 @@ example is shown here with timing tuples.
   c4^"(0,0)"  \grace c16_" "_"(1/4,-1/16)"  c4^"(1/4,0)"  \grace {
   c16_"(2/4,-1/8)"-[  d16^"(2/4,-1/16)" ] } c4_" "_"(2/4,0)"
   }
-\paper {  linewidth = 8.\cm }
+\paper {  linewidth = 12.\cm }
 }
 @end lilypond
 
 
-The placement of these grace notes is synchronized between different
-staves.
+The placement of grace notes is synchronized between different staves.
+In the following example, there are two sixteenth graces notes for
+every eighth grace note.
 
 @lilypond[relative=2,verbatim,fragment] 
 < \context Staff = SA { e4 \grace { c16-[ d e f-] } e4 }
-  \context Staff = SB { c'4 \grace { g8 b } c4 } >
+  \context Staff = SB { c'4 \grace { g8-[ b-] } c4 } >
 @end lilypond
 
 
@@ -1958,6 +2157,10 @@ is to put the grace notes before a phantom ``space note'', e.g.
 }
 @end lilypond
 
+@noindent
+By adjusting the duration of the skip note (here it is a half-note),
+the space between the main-note and the grace is adjusted.
+
 A @code{\grace} section has some default values, and LilyPond will
 use those default values unless you specify otherwise inside the
 @code{\grace} section.  For example, if you specify \slurUp
@@ -1985,15 +2188,19 @@ second bars in this example:
 
 @seealso
 
-@internalsref{GraceMusic}.
+@internalsref{GraceMusic},
 
 @refbugs
 
 Grace notes cannot be used in the smallest size (@file{paper11.ly}).
 
+A score that starts with an @code{\grace} section needs an explicit
+@code{\context Voice} declaration, otherwise the main note and grace
+note end up on different staffs.
+
 Grace note synchronization can also lead to surprises. Staff notation,
 such as key signatures, barlines, etc. are also synchronized. Take
-care when you mix staves with grace notes and staves without.
+care when you mix staves with grace notes and staves without, for example:
 
 @lilypond[relative=2,verbatim,fragment]
 < \context Staff = SA { e4 \bar "|:" \grace c16 d4 }
@@ -2001,12 +2208,12 @@ care when you mix staves with grace notes and staves without.
 @end lilypond
 
 Grace sections should only be used within sequential music
-expressions.  Nesting, juxtaposing, or ending sequential music with a
-grace section is not supported, and might produce crashes or other
-errors.
+expressions.  Nesting or juxtaposing grace sections is not supported,
+and might produce crashes or other errors.
 
-Overriding settings for grace music using @code{add-to-grace-init}
-cannot be done in a modular way.
+Overriding settings for grace music globally cannot be done in a
+modular way. A kludge (@code{add-to-grace-init}) is defined in
+@file{ly/grace-init.ly}.
 
 
 @node Glissando 
@@ -2034,8 +2241,7 @@ a note:
 
 @refbugs
 
-Printing of an additional text (such as @emph{gliss.}) must be done
-manually.
+Additional texts (such as @emph{gliss.}) is not supported.
 
 
 @node Dynamics
@@ -2083,13 +2289,10 @@ note: @code{c4-\ff}.  The available dynamic marks are: @code{\ppp},
 
 
 
-A crescendo mark is started with @code{\cr} and terminated with
-@code{\endcr}, and decrescendi similarly with @code{\decr} and
-@code{\enddecr}.  There are also shorthands for these marks.  A
-crescendo can be started with @code{\<} and a decrescendo can be
-started with @code{\>}.  Either one can be terminated with @code{\!}.
-Because these marks are bound to notes, if you must use spacer notes
-if multiple marks during one note are needed.
+A crescendo mark is started with @code{\<} and terminated with
+@code{\!}. A decrescendo is started with @code{\>} and also terminated
+with @code{\!}.  Because these marks are bound to notes, if you must
+use spacer notes if multiple marks during one note are needed.
 
 @lilypond[fragment,verbatim,center,quote]
   c''-\< c''-\!   d''-\decr e''-\rced 
@@ -2107,17 +2310,16 @@ You can also use a text saying @emph{cresc.} instead of hairpins. Here
 is an example how to do it:
 
 @lilypond[fragment,relative=2,verbatim]
-  c4 \cresc c4 \endcresc c4
+  c4 \cresc c4 c c c \endcresc c4
 @end lilypond
 
-
 @cindex crescendo
 @cindex decrescendo
 
 You can also supply your own texts:
 @lilypond[fragment,relative,verbatim]
   \context Voice {
-    \property Voice.crescendoText = "cresc. poco"
+    \property Voice.crescendoText = \markup { \italic "cresc. poco" }
     \property Voice.crescendoSpanner = #'dashed-line
     a'2-\mf-\< a a a-\!
   }
@@ -2125,6 +2327,18 @@ You can also supply your own texts:
 
 @cindex diminuendo
 
+
+@refcommands
+
+@cindex @code{\dynamicUp  }
+@code{\dynamicUp}, 
+@cindex @code{\dynamicDown }
+@code{\dynamicDown}, 
+@cindex @code{\dynamicBoth }
+@code{\dynamicBoth}, 
+
+@cindex direction, of dynamics
+
 @seealso
 
 @internalsref{CrescendoEvent}, @internalsref{DecrescendoEvent},
@@ -2136,12 +2350,7 @@ handled by the @internalsref{DynamicLineSpanner} object.
 
 If you want to adjust padding or vertical direction of the dynamics,
 you must set properties for the @internalsref{DynamicLineSpanner}
-object. Predefined variables to set the vertical direction are
-@code{\dynamicUp} and  @code{\dynamicDown}.
-
-@cindex direction, of dynamics
-@cindex @code{\dynamicDown}
-@cindex @code{\dynamicUp}
+object.
 
 
 @node Repeats
@@ -2242,7 +2451,7 @@ With alternative endings:
 
 @refbugs
 
- If you do a nested repeat like
+If you do a nested repeat like
 
 @example 
 \repeat @dots{}
@@ -2269,10 +2478,9 @@ example file @inputfileref{input/test,unfold-all-repeats.ly}.
 @refbugs
 
 Timing information is not remembered at the start of an alternative,
-so you have to reset timing information after a repeat, e.g. using a
-bar-check (See @ref{Bar check}), setting @code{Score.measurePosition}
-or entering @code{\partial}.  Similarly, slurs or ties are also not
-repeated.
+so after a repeat timing information must be reset by hand, for
+example by setting @code{Score.measurePosition} or entering
+@code{\partial}.  Similarly, slurs or ties are also not repeated.
 
 
 @node Manual repeat commands
@@ -2284,18 +2492,18 @@ The property @code{repeatCommands} can be used to control the layout of
 repeats. Its value is a Scheme list of repeat commands, where each repeat
 command can be
 
-@table @code
-@item 'start-repeat
- Print a |: bar line
-@item 'end-repeat
Print a :| bar line
-@item (volta . @var{text})
Print a volta bracket saying @var{text}. The text can be specified as
+@table @asis
+@item the symbol @code{start-repeat},
+  which prints a @code{|:} bar line.
+@item The symbol @code{end-repeat},
 which prints a @code{:|} bar line
+@item The list @code{(volta @var{text})}
 which prints a volta bracket saying @var{text}. The text can be specified as
 a text string or as a markup text, see @ref{Text markup}. Do not
 forget to change the font, as the default number font does not contain
 alphabetic characters.
-@item (volta . #f) 
Stop a running volta bracket
+@item The list @code{(volta #f)}, which 
 stops a running volta bracket
 @end table
 
 @lilypond[verbatim, fragment]
@@ -2333,13 +2541,14 @@ style.
 
 @seealso
 
-Tremolo beams are @internalsref{Beam} objects. Single stem tremolos are
-@internalsref{StemTremolo}.  @internalsref{TremoloEvent}.
+Tremolo beams are @internalsref{Beam} objects. Single stem tremolos
+are @internalsref{StemTremolo}.  The music expression is
+@internalsref{TremoloEvent}.
 
 
 @refbugs
 
-The single stem tremolo @emph{must} be entered without @code{@{} and
+The single stem tremolo must be entered without @code{@{} and
 @code{@}}.
 
 @node Tremolo subdivisions
@@ -2357,7 +2566,7 @@ length is omitted, then then the last value (stored in
   c'2:8 c':32 | c': c': |
 @end lilypond
 
-[TODO : stok is te kort bij 32en]
+@c [TODO : stok is te kort bij 32en]
 
 @refbugs
 
@@ -2388,9 +2597,6 @@ patterns that divide the measure length are replaced by slashes.
 @internalsref{DoublePercentRepeat}.
 
 
-@refbugs
-
-Single measure and double measure percent-repeats cannot be nested.
 
 @node Rhythmic music
 @section Rhythmic music
@@ -2416,15 +2622,15 @@ staff are squashed, and the staff itself has a single line:
 @cindex percussion
 @cindex drums
 
-To typeset more than one piece of percussion to be played by the same
-musician one typically uses a multiline staff where each staff
-position refers to a specific piece of percussion.
+A percussion part for more than one instrument typically uses a
+multiline staff where each position in the staff refers to one piece
+of percussion.
 
 @syntax
 
 Percussion staves are typeset with help of a set of Scheme
 functions. The system is based on the general MIDI drum-pitches.
-Include @file{ly/drumpitch-init.ly} to use drum pitches. This file
+Include @file{drumpitch-init.ly} to use drum pitches. This file
 defines the pitches from the Scheme variable @code{drum-pitch-names},
 the definition of which can be read in @file{scm/drums.scm}.  Each
 piece of percussion has a full name and an abbreviated name, and both
@@ -2622,7 +2828,7 @@ If you do not like any of the predefined lists you can define your own
 list at the top of your file:
 
 @lilypond[singleline, verbatim]
-#(define mydrums `(
+#(set-drum-kit 'mydrums `(
         (bassdrum     default   #f        ,(ly:make-pitch -1 2 0))
         (snare        default   #f        ,(ly:make-pitch 0 1 0))
         (hihat        cross     #f        ,(ly:make-pitch 0 5 0))
@@ -2645,10 +2851,10 @@ To use a modified existing list, one can prepend modifications to the
 the existing list:
 
 @example
-#(define mydrums (append `(
+#(set-drum-kit mydrums (append `(
    (bassdrum default #f ,(ly:make-pitch -1 2 0))
    (lowtom   diamond #f ,(ly:make-pitch -1 6 0))
-) drums ))
+) (get-drum-kit 'drums)))
 @end example
 
 The file @file{drumpitch-init.ly} replaces the normal pitch names, so
@@ -2673,15 +2879,15 @@ bass = \notes \transpose c c,, { a4. e8 r e g e }
 }
 @end lilypond
 
-@node Percussion midi output
-@subsection Percussion midi output
+@node Percussion MIDI output
+@subsection Percussion MIDI output
 
-In order to produce correct midi output you need to produce two score
-blocks---one for the paper and one for the midi output.  To use the
+In order to produce correct MIDI output you need to produce two score
+blocks---one for the paper and one for the MIDI output.  To use the
 percussion channel you set the property @code{instrument} to
-@code{'drums}. Because the drum-pitches themself are similar to the
-general midi pitches all you have to do is to insert the voices with
-none of the scheme functions to get the correct midi output:
+@code{'drums}. Because the drum-pitches themselves are similar to the
+general MIDI pitches all you have to do is to insert the voices with
+none of the scheme functions to get the correct MIDI output:
 
 @example
 \score @{    
@@ -2703,7 +2909,7 @@ none of the scheme functions to get the correct midi output:
 
 @refbugs
 
-This scheme is to be considered a temporary implementation.
+This scheme is a temporary implementation.
 
 
 @node Piano music
@@ -2755,7 +2961,7 @@ staff. The syntax for this is
   \autochange Staff \context Voice @{ @dots{}@var{music}@dots{} @}
 @end example        
 The autochanger switches on basis of pitch (central C is the turning
-point), and it looks ahead skipping over rests to switch rests in
+point), and it looks ahead skipping over rests to switch in
 advance. Here is a practical example:
         
 @lilypond[verbatim,singleline,quote]
@@ -2768,7 +2974,9 @@ advance. Here is a practical example:
        s1*2
 } > }
 @end lilypond
-Spacer rests are used to prevent the bottom staff from
+
+@noindent
+In this example, spacer rests are used to prevent the bottom staff from
 terminating too soon.
 
 
@@ -2789,6 +2997,8 @@ Voices can be switched between staves manually, using the following command:
 @example
   \translator Staff = @var{staffname} @var{music}
 @end example
+
+@noindent
 The string @var{staffname} is the name of the staff. It switches the
 current voice from its current staff to the Staff called
 @var{staffname}. Typically @var{staffname} is @code{"up"} or
@@ -2809,16 +3019,20 @@ Piano pedal instruction can be expressed by attaching
 @code{\treCorde}, @code{\sostenutoDown} and @code{\sostenutoUp} to a
 note or chord.
 
-The symbols that are printed can be modified by setting
-@code{pedal@var{X}Strings}, where @var{X} is one of the pedal types:
-Sustain, Sostenuto or UnaCorda.  Refer to the generated documentation
-of @internalsref{SustainPedal} for more information.
+@lilypond[fragment,verbatim]
+  c'4-\sustainDown c'4-\sustainUp
+@end lilypond
+
+What is printed can be modified by setting @code{pedal@var{X}Strings},
+where @var{X} is one of the pedal types: @code{Sustain},
+@code{Sostenuto} or @code{UnaCorda}.  Refer to the generated
+documentation of @internalsref{SustainPedal} for more information.
 
 Pedals can also be indicated by a sequence of brackets, by setting the 
 @code{pedal-type} property of @internalsref{SustainPedal} objects: 
 
 @lilypond[fragment,verbatim]
-\property Staff.SustainPedal \override #'pedal-type = #'bracket
+ \property Staff.SustainPedal \override #'pedal-type = #'bracket
  c''4-\sustainDown d''4 e''4
  a'4-\sustainUp-\sustainDown
  f'4 g'4 a'4-\sustainUp
@@ -2910,6 +3124,12 @@ arpeggiate the chord. To draw these brackets, set the
        <<c' e g c>>-\arpeggio
 @end lilypond
 
+@refcommands
+
+@cindex @code{\arpeggioBracket }
+@code{\arpeggioBracket}, 
+@cindex @code{\arpeggio}
+@code{\arpeggio}, 
 
 @refbugs
 
@@ -2944,115 +3164,213 @@ can be printed automatically. This is enabled if the property
 
 The associated object is @internalsref{VoiceFollower}.
 
+@refcommands
+
+@cindex @code{\showStaffSwitch }
+@code{\showStaffSwitch}, 
+@cindex @code{\hideStaffSwitch }
+@code{\hideStaffSwitch}, 
+
 
 @node Vocal music
 @section Vocal music
 
-For a discussion of how to put lyrics into a score, see section
-@code{Printing lyrics} in the tutorial.
+This section discusses how to enter, and print lyrics.
 
-@cindex context variables
-@cindex setting context variables
-An interpretation context has variables that tune its behavior.  These
-variables are also called @emph{properties}.  The @code{autoBeaming}
-variable in a @code{Staff} controls whether 8th and shorter notes are
-beamed automatically. Setting the variable to @code{##f}, which is the
-boolean value @var{false}, turns it off.
+@menu
+* Entering lyrics::             
+* The Lyrics context::          
+* More stanzas::                
+* Ambitus::                     
+@end menu
 
+@node Entering lyrics
+@subsection Entering lyrics
 
-This will create an extender, which is a line
-that extends over the entire duration of the lyric.  This line will
-run all the way to the start of the next lyric, so you may want to
-shorten it by using a blank lyric (using @code{_}).
 
-@cindex lyric mode
+@cindex lyrics
 @cindex @code{\lyrics}
+@cindex punctuation
 
- To get them printed, you must do two
-things: indicate that lyrics   are entered with @code{\lyrics}, and
-indicate that this type of music must be interpreted as texts (and not
-notes). This is done with @code{\context Lyrics}. 
+Lyrics are entered in a special input mode. This mode is is introduced
+by the keyword @code{\lyrics}.  In this mode you can enter lyrics, with
+punctuation and accents without any hassle.  Syllables are entered like
+notes, but with pitches replaced by text.  For example,
+@example
+  \lyrics @{ Twin-4 kle4 twin- kle litt- le star2 @}
+@end example
+
+A word in Lyrics mode begins with: an alphabetic character, @code{_},
+@code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
+through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
+any 8-bit character with ASCII code over 127, or a two-character
+combination of a backslash followed by one of @code{`}, @code{'},
+@code{"}, or @code{^}.
+
+Subsequent characters of a word can be any character that is not a digit
+and not white space.  One important consequence of this is that a word
+can end with @code{@}}. The following example is usually a bug. The
+syllable includes a @code{@}}, and hence the opening brace is not balanced.
+@example
+  \lyrics @{ twinkle@}
+@end example
+which may be confusing. 
 
-You can enter lyrics in a special input mode of LilyPond. This mode is
-called Lyrics mode, and it is introduced by the keyword
-@code{\lyrics}.  In this mode you can enter lyrics, with punctuation
-and accents without any hassle.  Syllables are entered like notes, but
-with pitches replaced by text.  For example,
+@cindex @code{\property}, in @code{\lyrics}
+Similarly, a  period following a alphabetic sequence, is included in the
+resulting string. As a consequence, spaces must be inserted around
+@code{\property} commands:
 @example
-  Twin- kle twin- kle
+  \property Lyrics . LyricText \set #'font-shape = #'italic
 @end example
 
+@cindex @code{_}
+@cindex spaces, in lyrics
+@cindex quotes, in lyrics
 
+Any @code{_} character which appears in an unquoted word is converted
+to a space.  This provides a mechanism for introducing spaces into words
+without using quotes.  Quoted words can also be used in Lyrics mode to
+specify words that cannot be written with the above rules:
 
+@example
+  \lyrics @{ He said: "\"Let" my peo ple "go\"" @}
+@end example
 
-You can use ordinary hyphens at the end of a syllable, i.e.
+@cindex hyphens
+Hyphens can be entered as ordinary hyphens at the end of a syllable, i.e.
 @example
         soft- ware
 @end example
-but then the hyphen will be attached to the end of the first syllable.
-If you want them centered between syllables you can use the special
-`@code{-}@code{-}' lyric as a separate word between syllables.  The
-hyphen will have variable length depending on the space between
-the syllables and it will be centered between the syllables.
 
+These will be attached to the end of the first syllable.
 
+Centered hyphens are entered using the special `@code{-}@code{-}' lyric
+as a separate word between syllables.  The hyphen will have variable
+length depending on the space between the syllables and it will be
+centered between the syllables.
 
+@cindex melisma
+@cindex extender
 
-Normally the notes that you enter are transformed into note heads.
-Note heads alone make no sense. They need surrounding information: a
-key signature, a clef, staff lines, etc.  They need @emph{context}.
-In LilyPond, these symbols are created by objects called
-`interpretation contexts'.  Interpretation contexts exist for
-generating notation (`notation context') and for generating sound
-(`performance context').  These objects only exist while LilyPond is
-executing.  For lyrics, the command
-@example
-  \context Lyrics
-@end example
-must be used to interpret a set of syllables as lyrics.
+When a lyric is sung over many notes (this is called a melisma), this is
+indicated with a horizontal line centered between a syllable and the
+next one. Such a line is called an extender line, and it is entered as
+@code{__}.
+
+@seealso
 
+@internalsref{LyricEvent}, @internalsref{HyphenEvent},
+@internalsref{ExtenderEvent}.
 
+@refbugs
+
+The definition of lyrics mode is too complex. 
 
-@cindex context
-@cindex interpretation context
-@cindex notation context
+@node The Lyrics context
+@subsection  The Lyrics context
 
+Lyrics are printed by interpreting them in @internalsref{Lyrics}
+context:
+@example
+ \context Lyrics \lyrics @dots{}
+@end example
 
+@cindex automatic syllable durations
+@cindex @code{\addlyrics}
+@cindex lyrics and melodies
 
-The melody and the lyrics can be combined with the @code{\addlyrics}:
+This will place the lyrics according to the durations that were
+entered. The lyrics can also be aligned under a given melody
+automatically.  In this case, it is no longer necessary to enter the
+correct duration for each syllable.  This is achieved by combining the
+melody and the lyrics with the @code{\addlyrics} expression
 @example
 \addlyrics
-  \notes \relative c' @dots{}
-  \context Lyrics \lyrics @dots{} 
+  \notes @dots{}
+  \context Lyrics @dots{} 
+@end example
+
+@cindex staff order, with @code{\addlyrics}
+
+Normally, this will put the lyrics below the staff. For different or
+more complex orderings, the best way is to setup the hierarchy of
+staffs and lyrics first, e.g.
+@example
+\context ChoirStaff \notes <
+  \context Lyrics = LA @{ s1 @}
+  \context Staff = SA @{ s1 @}
+  \context Lyrics = LB @{ s1 @}
+  \context Staff = SB @{ s1 @}
+>
+@end example
+and then combine the appropriate melodies and lyric lines:
+@example
+  \addlyrics
+    \context Staff = SA @emph{the music}
+    \context Lyrics = LA @emph{the lyrics}
 @end example
 
-[TODO: Move lyrics section from tutorial to here?]
+putting both together, you would get
+@example
+\context ChoirStaff \notes <
+  \context Lyrics = LA @dots{}
+  \context Staff = SB @dots{}
+  \addlyrics @dots{}
+>
+@end example
 
-See also the sections on @ref{Slurs} and @ref{Breath marks}.
+@cindex SATB
+@cindex choral score
 
-[TODO: Move slurs / breath marks section to here?]
+An example of a  SATB score setup is in the file
+@inputfileref{input/template,satb}.
 
-[TODO: Write subsection upon usage of ChoirStaff.]
+@seealso
 
-@menu
-* More stanzas::                
-* Ambitus::                     
-@end menu
+@internalsref{LyricCombineMusic}, @internalsref{Lyrics},
+@inputfileref{input/template,satb}.
+
+@refbugs
+
+@code{\addlyrics} is not automatic enough: melismata are not detected
+automatically, and melismata are not stopped when they hit a rest.  A
+melisma on the last note in a melody is not printed.
 
 
 @node More stanzas
 @subsection More stanzas
 
 
-@cindex phrasing
+@cindex phrasing, in lyrics
+
+When multiple stanzas are printed underneath each other, the vertical
+groups of syllables should be aligned around punctuation.  This can be
+done automatically when corresponding lyric lines and melodies are
+marked.
+
+To this end, give the @internalsref{Voice} context an identity,
+@example
+\context Voice = duet @{
+     \time 3/4
+     g2 e4 a2 f4 g2.  @}
+@end example
 
-If you have multiple stanzas printed underneath each other, the vertical
-groups of syllables should be aligned around punctuation.  LilyPond can
-do this if you tell it which lyric lines belong to which melody.
-We show how you can do this by showing how you could print a frivolous
-fragment of a fictional Sesame Street duet. 
+Then set the @internalsref{LyricsVoice} contexts to names starting with
+that identity followed by a dash.  In the preceding example, the
+@internalsref{Voice} identity is @code{duet}, so the identities of the
+@internalsref{LyricsVoices} are marked @code{duet-1} and @code{duet-2}.
+@example
+  \context LyricsVoice = "duet-1" @{
+    Hi, my name is bert. @}
+  \context LyricsVoice = "duet-2" @{
+    Ooooo, ch\'e -- ri, je t'aime. @}
+@end example
+The convention for naming @internalsref{LyricsVoice} and
+@internalsref{Voice} must also be used to get melismata on rests
+correct.
 
+The complete example is shown here.
 @lilypond[singleline,verbatim]
 \score {
 \addlyrics
@@ -3069,48 +3387,20 @@ fragment of a fictional Sesame Street duet.
 }
 @end lilypond
 
-To this end, give the Voice context an identity, and set the
-LyricsVoice to a name starting with that identity followed by a dash.
-In the following example, the Voice identity is @code{duet},
-@example
-\context Voice = duet @{
-     \time 3/4
-     g2 e4 a2 f4 g2.  @}
-@end example
-and the
-identities of the LyricsVoices are @code{duet-1} and @code{duet-2}.
-@example
-  \context LyricsVoice = "duet-1" @{
-    Hi, my name is bert. @}
-  \context LyricsVoice = "duet-2" @{
-    Ooooo, ch\'e -- ri, je t'aime. @}
-@end example
-The convention for naming @code{LyricsVoice} and @code{Voice} must
-also be used to get melismata on rests correct.
-
-
-We add the names of the singers.  This can be done by setting
-@code{LyricsVoice.Stanza} (for the first system) and
-@code{LyricsVoice.stz} for the following systems.   You must
-surround dots with spaces in @code{\lyrics} mode.
-
+Stanza numbers, or the names of the singers can be added by setting
+@code{LyricsVoice.Stanza} (for the first system) and
+@code{LyricsVoice.stz} for the following systems.  Notice how dots are
+surrounded with spaces in @code{\lyrics} mode.
+
 @example
     \property LyricsVoice . stanza = "Bert"
     @dots{}
     \property LyricsVoice . stanza = "Ernie" 
 @end example
 
-
-
-
-For entering quotes in Lyrics mode, use the following
-@example
-"\"God\"" is "`King'"
-@end example
-
 You can use empty syllables, e.g. @code{_4} or @code{" "4} to enter
 lyrics. This can confuse the LilyPond -- for example, this might put
-(empty) lyrics under rests. To remedy this, use @code{\skip}.
+(empty) lyrics under rests. To remedy this, use @code{\skip} instead.
 
 
 
@@ -3315,7 +3605,7 @@ such as bend are not yet supported.
 
 
 @node Chord names
-@section Chord namess
+@section Chord names
 @cindex Chords
 
 LilyPond has support for both entering and printing named chords.
@@ -3567,10 +3857,33 @@ in lower case for the base note.
 
 @end table
 
+
+There are also two other chord name schemes implemented: an alternate
+Jazz chord notation, and a systematic scheme called Banter chords. The
+alternate jazz notation is also shown on the chart in @ref{Chord name
+chart}.  Turning on these styles is described in the input file
+@inputfileref{input/test/,chord-names-jazz.ly}.
+
+@cindex Banter
+@cindex jazz chords
+@cindex chords, jazz  
+
+
+@refcommands
+
+@cindex @code{\germanChords }
+@code{\germanChords}, 
+@cindex @code{\semiGermanChords }
+@code{\semiGermanChords}, 
+
+
+
+
 @seealso
 
 @inputfileref{input/regression,chord-name-major7.ly},
 @inputfileref{input/regression,chord-name-exceptions.ly},
+@inputfileref{input/test,chord-names-jazz.ly},
 @inputfileref{input/test,chord-names-german.ly},
 @file{scm/chords-ignatzek.scm}, @file{scm/chord-entry.scm}
 
@@ -3585,8 +3898,10 @@ may result in strange chord names when chords are entered with the
 
 
 
-@node Writing parts
-@section Writing parts
+@node Orchestral music
+@section Orchestral music
+
+@cindex  Writing parts
 
 Orchestral music involves some special notation, both in the full
 score and the individual parts. This section explains how to tackle
@@ -3595,6 +3910,7 @@ some common problems in orchestral music.
 
 
 @menu
+* Multiple staff contexts::     
 * Rehearsal marks::             
 * Bar numbers::                 
 * Instrument names::            
@@ -3605,6 +3921,28 @@ some common problems in orchestral music.
 * Sound output for transposing instruments::  
 @end menu
 
+@node Multiple staff contexts
+@subsection Multiple staff contexts
+
+Polyphonic scores consist of many staffs. These staffs can be
+constructed in three different ways:
+@itemize @bullet
+@item The group is started with a brace at the left. This is done with the
+@internalsref{GrandStaff} context.
+@item The group is started with a bracket. This is done with the
+@internalsref{StaffGroup} context
+@item The group is  started with a vertical line. This is the default
+for the score.
+@end itemize
+
+@cindex Staff, multiple
+@cindex bracket, vertical
+@cindex brace, vertical
+@cindex grand staff
+@cindex staff group
+
+
+
 
 @node Rehearsal marks
 @subsection Rehearsal marks
@@ -3679,15 +4017,15 @@ whose source is available as
 @lilypondfile[notexidoc]{bar-number-every-fifth.ly}
 
 The start of that numbering can also be reset, as demonstrated in
-@inputfileref{input/test,bar-number-every-5-reset.ly}.
+@inputfileref{input/test,bar-number-every-five-reset.ly}.
 
-@lilypondfile[notexidoc]{bar-number-every-5-reset.ly}
+@lilypondfile[notexidoc]{bar-number-every-five-reset.ly}
 
 
 @seealso
 
 @internalsref{BarNumber}.
-@inputfileref{input/test,bar-number-every-5-reset.ly}.
+@inputfileref{input/test,bar-number-every-five-reset.ly}.
 @inputfileref{input/test,bar-number-every-fifth.ly}
 
 @refbugs
@@ -3785,7 +4123,8 @@ you must put @code{\transpose} outside of @code{\relative}, since
 
 @node  Multi measure rests
 @subsection Multi measure rests
-@cindex Multi measure rests
+@cindex multi measure rests
+@cindex Rests, multi measure
 
 @cindex @code{R}
 
@@ -3825,7 +4164,7 @@ two whole notes), regardless of the time signature.
 @cindex fermata on multi-measure rest
 
 Texts can be added to multi-measure rests by using the
-@var{note}-@code{markup} syntax.  In this case, the number is
+@var{note}-@code{markup} syntax (see @ref{Text markup}).  In this case, the number is
 replaced. If you need both texts and the number, you must add the
 number by hand. A variable (@code{\fermataMarkup}) is provided for
 adding fermatas.
@@ -3845,9 +4184,9 @@ adding fermatas.
 @internalsref{MultiMeasureRestEvent},
 @internalsref{MultiMeasureTextEvent},
 @internalsref{MultiMeasureRestMusicGroup},
-@internalsref{MultiMeasureRest}.
+@internalsref{MultiMeasureRest}
 
-The graphical object @internalsref{MultiMeasureRestNumber} is for the
+The layout object @internalsref{MultiMeasureRestNumber} is for the
 default number, and @internalsref{MultiMeasureRestText} for user
 specified texts.
 
@@ -3961,7 +4300,7 @@ measure.
   >
 @end lilypond
 
-The part combiner is slated to be rewritten [TODO: explain why] .
+The part combiner is slated to be rewritten [TODO: explain why].
 
 @cindex @code{Thread_devnull_engraver}
 @cindex @code{Voice_engraver}
@@ -3975,16 +4314,15 @@ This saves some space. This style is called `French Score'.
 
 @syntax
 
-This is supported through the @code{FrenchStaff}. This staff is
+This is supported through the @code{RemoveEmptyStaff}. This staff is
 removed when it turns out empty (or containing multimeasure rests)
 after the line-breaking process.
 
-
 For @internalsref{Lyrics}, @internalsref{LyricsVoice},
 @internalsref{ChordNames} and @internalsref{FiguredBass}, this is
 switched on by default. For normal staffs, it is available as a
 specialized @internalsref{Staff} context, with the name variable
-@code{\FrenchStaffContext}.  Observe how the second staff in this
+@code{\RemoveEmptyStaffContext}.  Observe how the second staff in this
 example disappears in the second line.
 
 @lilypond[verbatim]
@@ -3995,7 +4333,7 @@ example disappears in the second line.
   >
   \paper {
     linewidth = 6.\cm 
-    \translator { \FrenchStaffContext }
+    \translator { \RemoveEmptyStaffContext }
   }
 }
 @end lilypond
@@ -4027,7 +4365,7 @@ output.
 @cindex Petrucci
 @cindex mensural
 
-[TODO: write introduction on ancient notation]
+@c [TODO: write introduction on ancient notation]
 
 @menu
 * Ancient note heads::          
@@ -4071,29 +4409,6 @@ arbitrary line, as described in section @ref{Clef}.  The note printed
 to the right side of each clef in the example column denotes the
 @code{c'} with respect to that clef.
 
-@c --- This should go somewhere else: ---
-@c @item modern style G clef (glyph: @code{clefs-G})
-@c
-@c Supported clefs:
-@c @code{treble}, @code{violin}, @code{G}, @code{G2}, @code{french}
-@c
-@c @lilypond[26pt]{\property Staff.TimeSignature \set #'transparent = ##t \clef "G" c'}
-@c
-@c @item modern style F clef (glyph: @code{clefs-F})
-@c
-@c Supported clefs:
-@c @code{varbaritone}, @code{bass}, @code{F}, @code{subbass}
-@c
-@c @lilypond{\property Staff.TimeSignature \set #'transparent = ##t \clef "F" c'}
-@c
-@c @item modern style C clef (glyph: @code{clefs-C})
-@c
-@c Supported clefs:
-@c @code{soprano}, @code{mezzosoprano}, @code{alto}, @code{C},
-@c @code{tenor}, @code{baritone}
-@c
-@c @lilypond{\property Staff.TimeSignature \set #'transparent = ##t \clef "C" c'}
-
 @multitable @columnfractions  .3 .3 .3 .1
 
 @item
@@ -4603,11 +4918,18 @@ to the following:
 
 Gregorian square neumes notation (following the style of the Editio
 Vaticana) is under heavy development, but not yet really usable for
-production purposes.  The following table contains the extended neumes
-table of the 2nd volume of the Antiphonale Romanum (@emph{Liber
-Hymnarius}), published 1983 by the monks of Solesmes.
+production purposes.  Core ligatures can already be typeset, but
+essential issues for serious typesetting are still under development,
+such as (among others) horizontal alignment of multiple ligatures,
+lyrics alignment and proper accidentals handling.  Still, this section
+gives a sneak preview of what Gregorian chant may look like once it
+will work.
+
+The following table contains the extended neumes table of the 2nd
+volume of the Antiphonale Romanum (@emph{Liber Hymnarius}), published
+1983 by the monks of Solesmes.
 
-@multitable @columnfractions  .4 .2 .2 .2
+@multitable @columnfractions .4 .2 .2 .2
 
 @item
 @b{Neuma aut@*Neumarum Elementa} @tab
@@ -4617,19 +4939,28 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 
 @c TODO: \paper block is identical in all of the below examples.
 @c Therefore, it should somehow be included rather than duplicated all
-@c the time.
+@c the time. --jr
+
+@c why not make identifiers in ly/engraver-init.ly? --hwn
+
+@c Because it's just used to typeset plain notes without
+@c a staff for demonstration purposes rather than something
+@c special of Gregorian chant notation. --jr
 
 @item
-@code{1. Punctum} @tab
+@code{1. Punctum}
+@tab
 @lilypond[noindent, 26pt, nofragment, linewidth=1.5cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
-        % Puctum
+        % Punctum
         \[ b \]
+        \noBreak s^\markup {"a"} \noBreak
 
         % Punctum Inclinatum
         \[ \inclinatum b \]
+        \noBreak s^\markup {"b"}
     }
     \paper {
         interscoreline = 1
@@ -4641,7 +4972,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4655,19 +4986,23 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=2.5cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Punctum Auctum Ascendens
         \[ \auctum \ascendens b \]
+        \noBreak s^\markup {"c"} \noBreak
 
         % Punctum Auctum Descendens
         \[ \auctum \descendens b \]
+        \noBreak s^\markup {"d"} \noBreak
 
         % Punctum Inclinatum Auctum
         \[ \inclinatum \auctum b \]
+        \noBreak s^\markup {"e"}
     }
     \paper {
         interscoreline = 1
@@ -4679,7 +5014,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4693,13 +5028,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Punctum Inclinatum Parvum
         \[ \inclinatum \deminutum b \]
+        \noBreak s^\markup {"f"}
     }
     \paper {
         interscoreline = 1
@@ -4711,7 +5048,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4728,13 +5065,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{2. Virga} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{2. Virga}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Virga
         \[ \virga b \]
+        \noBreak s^\markup {"g"}
     }
     \paper {
         interscoreline = 1
@@ -4746,7 +5085,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4760,16 +5099,20 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab @tab
+@end lilypond
+@tab
+@tab
 
 @item
-@code{3. Apostropha vel Stropha} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{3. Apostropha vel Stropha}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Stropha
         \[ \stropha b \]
+        \noBreak s^\markup {"h"}
     }
     \paper {
         interscoreline = 1
@@ -4781,7 +5124,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4795,13 +5138,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Stropha Aucta
         \[ \stropha \auctum b \]
+        \noBreak s^\markup {"i"}
     }
     \paper {
         interscoreline = 1
@@ -4813,7 +5158,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4827,16 +5172,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
+@end lilypond
+@tab
 
 @item
-@code{4. Oriscus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{4. Oriscus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Oriscus
         \[ \oriscus b \]
+        \noBreak s^\markup {"j"}
     }
     \paper {
         interscoreline = 1
@@ -4848,7 +5196,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4862,16 +5210,20 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab @tab
+@end lilypond
+@tab
+@tab
 
 @item
-@code{5. Clivis vel Flexa} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{5. Clivis vel Flexa}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Clivis vel Flexa
         \[ b \flexa g \]
+        s^\markup {"k"}
     }
     \paper {
         interscoreline = 1
@@ -4883,7 +5235,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4897,16 +5249,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=2.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Clivis Aucta Descendens
         \[ b \flexa \auctum \descendens g \]
+        \noBreak s^\markup {"l"} \noBreak
 
         % Clivis Aucta Ascendens
         \[ b \flexa \auctum \ascendens g \]
+        \noBreak s^\markup {"m"}
     }
     \paper {
         interscoreline = 1
@@ -4918,7 +5273,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4932,13 +5287,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Cephalicus
         \[ b \flexa \deminutum g \]
+        s^\markup {"n"}
     }
     \paper {
         interscoreline = 1
@@ -4950,7 +5307,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4967,13 +5324,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{6. Podatus vel Pes} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{6. Podatus vel Pes}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Podatus vel Pes
         \[ g \pes b \]
+        s^\markup {"o"}
     }
     \paper {
         interscoreline = 1
@@ -4985,7 +5344,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -4999,16 +5358,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=2.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Pes Auctus Descendens
         \[ g \pes \auctum \descendens b \]
+        \noBreak s^\markup {"p"} \noBreak
 
         % Pes Auctus Ascendens
         \[ g \pes \auctum \ascendens b \]
+        \noBreak s^\markup {"q"}
     }
     \paper {
         interscoreline = 1
@@ -5020,7 +5382,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5034,13 +5396,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Epiphonus
         \[ g \pes \deminutum b \]
+        s^\markup {"r"}
     }
     \paper {
         interscoreline = 1
@@ -5052,7 +5416,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5069,13 +5433,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{7. Pes Quassus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{7. Pes Quassus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Pes Quassus
         \[ \oriscus g \pes \virga b \]
+        s^\markup {"s"}
     }
     \paper {
         interscoreline = 1
@@ -5087,7 +5453,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5101,13 +5467,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Pes Quassus Auctus Descendens
         \[ \oriscus g \pes \auctum \descendens b \]
+        s^\markup {"t"}
     }
     \paper {
         interscoreline = 1
@@ -5119,7 +5487,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5133,16 +5501,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
+@end lilypond
+@tab
 
 @item
-@code{8. Quilisma Pes} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{8. Quilisma Pes}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Quilisma Pes
         \[ \quilisma g \pes b \]
+        s^\markup {"u"}
     }
     \paper {
         interscoreline = 1
@@ -5154,7 +5525,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5168,13 +5539,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Quilisma Pes Auctus Descendens
         \[ \quilisma g \pes \auctum \descendens b \]
+        s^\markup {"v"}
     }
     \paper {
         interscoreline = 1
@@ -5186,7 +5559,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5200,16 +5573,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
+@end lilypond
+@tab
 
 @item
-@code{9. Podatus Initio Debilis} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{9. Podatus Initio Debilis}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Pes Initio Debilis
         \[ \deminutum g \pes b \]
+        s^\markup {"w"}
     }
     \paper {
         interscoreline = 1
@@ -5221,7 +5597,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5235,13 +5611,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Pes Auctus Descendens Initio Debilis
         \[ \deminutum g \pes \auctum \descendens b \]
+        s^\markup {"x"}
     }
     \paper {
         interscoreline = 1
@@ -5253,7 +5631,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5267,16 +5645,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
+@end lilypond
+@tab
 
 @item
-@code{10. Torculus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{10. Torculus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Torculus
         \[ a \pes b \flexa g \]
+        s^\markup {"y"}
     }
     \paper {
         interscoreline = 1
@@ -5288,7 +5669,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5302,13 +5683,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Torculus Auctus Descendens
         \[ a \pes b \flexa \auctum \descendens g \]
+        s^\markup {"z"}
     }
     \paper {
         interscoreline = 1
@@ -5320,7 +5703,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5334,13 +5717,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Torculus Deminutus
         \[ a \pes b \flexa \deminutum g \]
+        s^\markup {"A"}
     }
     \paper {
         interscoreline = 1
@@ -5352,7 +5737,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5369,13 +5754,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{11. Torculus Initio Debilis} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{11. Torculus Initio Debilis}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Torculus Initio Debilis
         \[ \deminutum a \pes b \flexa g \]
+        s^\markup {"B"}
     }
     \paper {
         interscoreline = 1
@@ -5387,7 +5774,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5401,13 +5788,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Torculus Auctus Descendens Initio Debilis
         \[ \deminutum a \pes b \flexa \auctum \descendens g \]
+        s^\markup {"C"}
     }
     \paper {
         interscoreline = 1
@@ -5419,7 +5808,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5433,13 +5822,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Torculus Deminutus Initio Debilis
         \[ \deminutum a \pes b \flexa \deminutum g \]
+        s^\markup {"D"}
     }
     \paper {
         interscoreline = 1
@@ -5451,7 +5842,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5468,13 +5859,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{12. Porrectus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{12. Porrectus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Porrectus
         \[ a \flexa g \pes b \]
+        s^\markup {"E"}
     }
     \paper {
         interscoreline = 1
@@ -5486,7 +5879,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5500,13 +5893,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Porrectus Auctus Descendens
         \[ a \flexa g \pes \auctum \descendens b \]
+        s^\markup {"F"}
     }
     \paper {
         interscoreline = 1
@@ -5518,7 +5913,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5532,13 +5927,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Porrectus Deminutus
         \[ a \flexa g \pes \deminutum b \]
+        s^\markup {"G"}
     }
     \paper {
         interscoreline = 1
@@ -5550,7 +5947,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5567,13 +5964,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{13. Climacus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{13. Climacus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Climacus
         \[ \virga b \inclinatum a \inclinatum g \]
+        s^\markup {"H"}
     }
     \paper {
         interscoreline = 1
@@ -5585,7 +5984,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5599,13 +5998,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Climacus Auctus
         \[ \virga b \inclinatum a \inclinatum \auctum g \]
+        s^\markup {"I"}
     }
     \paper {
         interscoreline = 1
@@ -5617,7 +6018,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5631,13 +6032,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Climacus Deminutus
         \[ \virga b \inclinatum a \inclinatum \deminutum g \]
+        s^\markup {"J"}
     }
     \paper {
         interscoreline = 1
@@ -5649,7 +6052,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5666,13 +6069,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{14. Scandicus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{14. Scandicus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Scandicus
         \[ g \pes a \virga b \]
+        s^\markup {"K"}
     }
     \paper {
         interscoreline = 1
@@ -5684,7 +6089,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5698,13 +6103,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Scandicus Auctus Descendens
         \[ g \pes a \pes \auctum \descendens b \]
+        s^\markup {"L"}
     }
     \paper {
         interscoreline = 1
@@ -5716,7 +6123,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5730,13 +6137,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Scandicus Deminutus
         \[ g \pes a \pes \deminutum b \]
+        s^\markup {"M"}
     }
     \paper {
         interscoreline = 1
@@ -5748,7 +6157,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5765,13 +6174,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
 @end lilypond
 
 @item
-@code{15. Salicus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{15. Salicus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Salicus
         \[ g \oriscus a \pes \virga b \]
+        s^\markup {"N"}
     }
     \paper {
         interscoreline = 1
@@ -5783,7 +6194,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5797,13 +6208,15 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@end lilypond
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Salicus Auctus Descendens
         \[ g \oriscus a \pes \auctum \descendens b \]
+        s^\markup {"O"}
     }
     \paper {
         interscoreline = 1
@@ -5815,7 +6228,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5829,16 +6242,19 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab
+@end lilypond
+@tab
 
 @item
-@code{16. Trigomus} @tab
-@lilypond[noindent, 26pt, nofragment, linewidth=3.0cm]
+@code{16. Trigonus}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.0cm]
 \include "gregorian-init.ly"
 \score {
     \notes \transpose c c' {
         % Trigonus
         \[ \stropha b \stropha b \stropha a \]
+        s^\markup {"P"}
     }
     \paper {
         interscoreline = 1
@@ -5850,7 +6266,7 @@ Hymnarius}), published 1983 by the monks of Solesmes.
             \StaffContext
             \remove "Clef_engraver"
             \remove "Key_engraver"
-            \remove "Staff_symbol_engraver"
+            StaffSymbol \set #'transparent = ##t
             \remove "Time_signature_engraver"
             \remove "Bar_engraver"
             minimumVerticalExtent = ##f
@@ -5864,16 +6280,263 @@ Hymnarius}), published 1983 by the monks of Solesmes.
         }
     }
 }
-@end lilypond @tab @tab
+@end lilypond
+@tab
+@tab
+
+@end multitable
+
+
+Unlike most other neumes notation systems, the input language for
+neumes does not necessarily reflect directly the typographical
+appearance, but is designed to solely focuse on musical meaning.  For
+example, @code{\[ a \pes b \flexa g \]} produces a Torculus consisting
+of three Punctum heads, while @code{\[ a \flexa g \pes b \]} produces
+a torculus with a curved flexa shape and only a single Punctum head.
+There is no command to explicitly typeset the curved flexa shape; the
+decision of when to typeset a curved flexa shape is purely taken from
+the musical input.  The idea of this approach is to separate the
+musical aspects of the input from the notation style of the output.
+This way, the same input can be reused to typeset the same music in a
+different style of Gregorian chant notation such as Hufnagel (also
+known as German gothic neumes) or Medicaea (kind of a very simple
+forerunner of the Editio Vaticana).  As soon as Hufnagel ligature
+engraver and Medicaea ligature engraver will have been implemented, it
+will be as simple as replacing the ligature engraver in the
+VoiceContext to get the desired notation style from the same input.
+
+The following table shows the code fragments that produce the
+ligatures in the above neumes table.  The letter in the first column
+in each line of the below table indicates to which ligature in the
+above table it refers.  The second column gives the name of the
+ligature.  The third column shows the code fragment that produces this
+ligature, using @code{g}, @code{a} and @code{b} as example pitches.
+
+@multitable @columnfractions .1 .4 .5
+
+@item
+@b{#} @tab
+@b{Name} @tab
+@b{Input Language}
+
+@item
+a @tab
+Punctum @tab
+@code{\[ b \]}
+
+@item
+b @tab
+Punctum Inclinatum @tab
+@code{\[ \inclinatum b \]}
+
+@item
+c @tab
+Punctum Auctum Ascendens @tab
+@code{\[ \auctum \ascendens b \]}
+
+@item
+d @tab
+Punctum Auctum Descendens @tab
+@code{\[ \auctum \descendens b \]}
+
+@item
+e @tab
+Punctum Inclinatum Auctum @tab
+@code{\[ \inclinatum \auctum b \]}
+
+@item
+f @tab
+Punctum Inclinatum Parvum @tab
+@code{\[ \inclinatum \deminutum b \]}
+
+@item
+g @tab
+Virga @tab
+@code{\[ \virga b \]}
+
+@item
+h @tab
+Stropha @tab
+@code{\[ \stropha b \]}
+
+@item
+i @tab
+Stropha Aucta @tab
+@code{\[ \stropha \auctum b \]}
+
+@item
+j @tab
+Oriscus @tab
+@code{\[ \oriscus b \]}
+
+@item
+k @tab
+Clivis vel Flexa @tab
+@code{\[ b \flexa g \]}
+
+@item
+l @tab
+Clivis Aucta Descendens @tab
+@code{\[ b \flexa \auctum \descendens g \]}
+
+@item
+m @tab
+Clivis Aucta Ascendens @tab
+@code{\[ b \flexa \auctum \ascendens g \]}
+
+@item
+n @tab
+Cephalicus @tab
+@code{\[ b \flexa \deminutum g \]}
+
+@item
+o @tab
+Podatus vel Pes @tab
+@code{\[ g \pes b \]}
+
+@item
+p @tab
+Pes Auctus Descendens @tab
+@code{\[ g \pes \auctum \descendens b \]}
+
+@item
+q @tab
+Pes Auctus Ascendens @tab
+@code{\[ g \pes \auctum \ascendens b \]}
+
+@item
+r @tab
+Epiphonus @tab
+@code{\[ g \pes \deminutum b \]}
+
+@item
+s @tab
+Pes Quassus @tab
+@code{\[ \oriscus g \pes \virga b \]}
+
+@item
+t @tab
+Pes Quassus Auctus Descendens @tab
+@code{\[ \oriscus g \pes \auctum \descendens b \]}
+
+@item
+u @tab
+Quilisma Pes @tab
+@code{\[ \quilisma g \pes b \]}
+
+@item
+v @tab
+Quilisma Pes Auctus Descendens @tab
+@code{\[ \quilisma g \pes \auctum \descendens b \]}
+
+@item
+w @tab
+Pes Initio Debilis @tab
+@code{\[ \deminutum g \pes b \]}
+
+@item
+x @tab
+Pes Auctus Descendens Initio Debilis @tab
+@code{\[ \deminutum g \pes \auctum \descendens b \]}
+
+@item
+y @tab
+Torculus @tab
+@code{\[ a \pes b \flexa g \]}
+
+@item
+z @tab
+Torculus Auctus Descendens @tab
+@code{\[ a \pes b \flexa \auctum \descendens g \]}
+
+@item
+A @tab
+Torculus Deminutus @tab
+@code{\[ a \pes b \flexa \deminutum g \]}
+
+@item
+B @tab
+Torculus Initio Debilis @tab
+@code{\[ \deminutum a \pes b \flexa g \]}
+
+@item
+C @tab
+Torculus Auctus Descendens Initio Debilis @tab
+@code{\[ \deminutum a \pes b \flexa \auctum \descendens g \]}
+
+@item
+D @tab
+Torculus Deminutus Initio Debilis @tab
+@code{\[ \deminutum a \pes b \flexa \deminutum g \]}
+
+@item
+E @tab
+Porrectus @tab
+@code{\[ a \flexa g \pes b \]}
+
+@item
+F @tab
+Porrectus Auctus Descendens @tab
+@code{\[ a \flexa g \pes \auctum \descendens b \]}
+
+@item
+G @tab
+Porrectus Deminutus @tab
+@code{\[ a \flexa g \pes \deminutum b \]}
+
+@item
+H @tab
+Climacus @tab
+@code{\[ \virga b \inclinatum a \inclinatum g \]}
+
+@item
+I @tab
+Climacus Auctus @tab
+@code{\[ \virga b \inclinatum a \inclinatum \auctum g \]}
+
+@item
+J @tab
+Climacus Deminutus @tab
+@code{\[ \virga b \inclinatum a \inclinatum \deminutum g \]}
+
+@item
+K @tab
+Scandicus @tab
+@code{\[ g \pes a \virga b \]}
+
+@item
+L @tab
+Scandicus Auctus Descendens @tab
+@code{\[ g \pes a \pes \auctum \descendens b \]}
+
+@item
+M @tab
+Scandicus Deminutus @tab
+@code{\[ g \pes a \pes \deminutum b \]}
+
+@item
+N @tab
+Salicus @tab
+@code{\[ g \oriscus a \pes \virga b \]}
+
+@item
+O @tab
+Salicus Auctus Descendens @tab
+@code{\[ g \oriscus a \pes \auctum \descendens b \]}
+
+@item
+P @tab
+Trigonus @tab
+@code{\[ \stropha b \stropha b \stropha a \]}
 
 @end multitable
 
 @refbugs
 
-Horizontal head alignment is broken in Pes Initio Debilis.
+Scandicus Deminutus: Punctum Auctum Ascendens overlaps with
+Semivocalis head; this looks awful.
 
-Use special heads for lower/upper head of Pes only when heads are
-stacked.
+Trigonus: apply equal spacing, regardless of pitch.
 
 @node Figured bass
 @subsection Figured bass
@@ -5912,8 +6575,8 @@ In figures input mode, a group of bass figures is delimited by
 \figures { <4 6> }
 @end lilypond
 
-Accidentals are added to the numbers if you alterate them by
-appending @code{-}, @code{!}  and @code{+}.
+Accidentals are added when you append @code{-}, @code{!}  and @code{+}
+to the numbers.
 
 @example
   <4- 6+ 7!>
@@ -5946,7 +6609,7 @@ vertical spacing of the figures may be set with @code{baseline-skip}.
 
 @seealso
 
-@internalsref{BassFigureEvent} music, @internalsref{BassFigure} grob,
+@internalsref{BassFigureEvent} music, @internalsref{BassFigure} object,
 @internalsref{FiguredBass} context
 
 @refbugs
@@ -5962,7 +6625,7 @@ vocabulary. With this expansion, many innovations in musical notation
 have been tried. For a comprehensive overview, refer to @cite{Stone
 1980} (see @ref{Literature}). In general, the use of new, innovative
 notation makes a piece harder to understand and perform and its use
-should be avoided if possible.  For this reason, support for
+should therefore be avoided if possible.  For this reason, support for
 contemporary notation in LilyPond is limited.
 
 
@@ -6001,15 +6664,13 @@ reasonable to specify a cluster as the envelope of a set of notes.
 
 @syntax
 
-A cluster is engraved as the envelope of a set of notes. The starting
-note is marked with @code{\startCluster}, and the ending note with
-@code{\stopCluster}, e.g.,
-
-@example
-  c4-\startCluster
-     ...
-  f4-\stopCluster 
-@end example
+A cluster is engraved as the envelope of a set of
+cluster-notes. Cluster notes are created by applying the function
+@code{notes-to-clusters} to a sequence of chords, eg.
+@c
+@lilypond[relative 2]
+    \apply #notes-to-clusters {  << c e >> <<b f'>>  }
+@end lilypond
 
 The following example (from
 @inputfileref{input/regression,cluster.ly}) shows what the result
@@ -6025,14 +6686,12 @@ ordinary notes and clusters.
 
 @seealso
 
-@internalsref{Cluster}, @inputfileref{input/regression,cluster.ly},
-@internalsref{Cluster_engraver}, @internalsref{ClusterEvent}.
+@internalsref{ClusterSpanner}, @internalsref{ClusterSpannerBeacon},
+@inputfileref{input/regression,cluster.ly},
+@internalsref{Cluster_engraver}, @internalsref{ClusterNoteEvent}.
 
 @refbugs
 
-When a cluster is active, note heads must be switched off manually using
-@code{\hideNotes}. 
-
 Music expressions like @code{< @{ g8 e8 @} a4 >} are not printed
 accurately.  Use @code{<<g a>>8 <<e a>>8} instead.
 
@@ -6104,12 +6763,15 @@ object, and set a object property in that object.
 
 @menu
 * Tuning objects ::             
+* Constructing a tweak::        
 * Applyoutput::                 
 * Outputproperty::              
 * Font selection::              
 * Text markup::                 
 @end menu
 
+
+
 @node Tuning objects 
 @subsection Tuning objects 
 
@@ -6117,7 +6779,7 @@ object, and set a object property in that object.
 
 The definition of an object is actually a list of default object
 properties. For example, the definition of the Stem object (available
-in @file{scm/grob-description.scm}), includes the following definitions for
+in @file{scm/define-grobs.scm}), includes the following definitions for
 @internalsref{Stem}
 
 @example
@@ -6129,7 +6791,7 @@ in @file{scm/grob-description.scm}), includes the following definitions for
 
 
 By adding variables on top of these existing definitions, the system
-defaults is overriden, and the appearance of a graphical objects is
+default is overridden, and the appearance of a layout objects is
 altered.
 
 @syntax
@@ -6139,11 +6801,11 @@ Changing a variable for only   one object is commonly achieved with
 @code{\once}:
 
 @example
-\once \property @var{context}.@var{grobname}
+\once \property @var{context}.@var{objectname}
   \override @var{symbol} = @var{value}
 @end example
 Here @var{symbol} is a Scheme expression of symbol type, @var{context}
-and @var{grobname} is a string and @var{value} is a Scheme expression.
+and @var{objectname} is a string and @var{value} is a Scheme expression.
 This command applies a setting only during one moment in the score.
 
 In the following example, only one @internalsref{Stem} object is
@@ -6160,16 +6822,16 @@ changed from its original setting:
 For changing more objects, the same command, without @code{\once} can
 be used.
 @example
-\property @var{context}.@var{grobname} \override @var{symbol} = @var{value}
+\property @var{context}.@var{objectname} \override @var{symbol} = @var{value}
 @end example
 This command adds @code{@var{symbol} = @var{value}} to the definition
-of @var{grobname} in the context @var{context}, and this definition
+of @var{objectname} in the context @var{context}, and this definition
 stays in place until it is removed.
 
 An existing definition may be removed by the following command
 @c
 @example
-\property @var{context}.@var{grobname} \revert @var{symbol}
+\property @var{context}.@var{objectname} \revert @var{symbol}
 @end example
 @c
 All @code{\override} and @code{\revert} commands should be balanced.
@@ -6177,7 +6839,7 @@ The @code{\set} shorthand, performs a revert followed by an override,
 and is often more convenient to use
 
 @example
-\property @var{context}.@var{grobname} \set @var{symbol} = @var{value}
+\property @var{context}.@var{objectname} \set @var{symbol} = @var{value}
 @end example
 
 Some examples: 
@@ -6245,7 +6907,7 @@ work, and may cause crashes or other anomalous behavior.
 
 @internalsref{OverrideProperty}, @internalsref{RevertProperty},
 @internalsref{PropertySet}, @internalsref{backend properties},
-@internalsref{All Graphical Objects}.
+@internalsref{All layout objects}.
 
 
 @refbugs
@@ -6255,6 +6917,160 @@ Cyclic references in @var{value} cause hangs and/or crashes.
 Similarly, reverting properties that are system defaults may also lead
 to crashes.
 
+@node Constructing a tweak
+@subsection Constructing a tweak
+
+
+@cindex internal documentation
+@cindex finding graphical objects
+@cindex graphical object descriptions 
+@cindex tweaking
+@cindex @code{\override}
+@cindex @code{\set}
+@cindex internal documentation
+
+
+
+Using @code{\override} and @code{\set}, requires three pieces of
+information: the name of the layout object, the context and the name
+of the property.  We demonstrate how to glean this information from
+the notation manual and the generated documentation.
+
+The generated documentation is a set of HTML pages which should be
+included if you installed a binary distribution, typically in
+@file{/usr/share/doc/lilypond}.  They are also available on the web:
+go to the @uref{LilyPond website,http://lilypond.org}, click
+``Documentation: Index'' on the side bar, look in the ``Information
+for users'' section, and click on ``Documentation of internals.''  It
+is advisable to bookmark either the local HTML files if possilbe. They
+will load faster than the ones on the web.  If you use the version
+from the web, you must check whether the documentation matches the
+program version: the documentation is generated from the definitions
+that the program uses, and therefore it is strongly tied to the
+LilyPond version.
+
+
+@c  [TODO: revise for new site.]
+
+Suppose we want to move the fingering indication in the fragment below
+
+@lilypond[relative=2]
+c-2
+\stemUp
+f
+@end lilypond
+
+If you visit the documentation of @code{Fingering} (in @ref{Fingering
+instructions}), you will notice that it says
+
+@quotation
+@seealso
+
+@internalsref{FingerEvent} and @internalsref{Fingering}.
+@end quotation
+
+This implies that the fingerings, once entered, are internally stored
+as @code{FingerEvent} music objects. When printed, a @code{Fingering}
+layout object is created for every @code{FingerEvent}.
+
+@ifhtml
+When we follow the link of @internalsref{Fingering},
+@end ifhtml
+@ifnothtml
+When we look up @internalsref{Fingering} in the generated
+documentation,
+@end ifnothtml
+we see a list of interfaces. The Fingering object has a number of
+different functions, and each of those is captured in an interface.
+
+The @code{Fingering} object has a fixed size
+(@internalsref{item-interface}), the symbol is a piece of text
+(@internalsref{text-interface}), whose font can be set
+(@internalsref{font-interface}).  It is centered horizontally
+(@internalsref{self-alignment-interface}), it is placed next to other
+objects (@internalsref{side-position-interface}) vertically, and its
+placement is coordinated with other scripts
+(@internalsref{text-script-interface}).  It also has the standard
+@internalsref{grob-interface} (grob stands for Graphical object)
+@cindex grob
+@cindex graphical object
+@cindex layout object
+@cindex object, layout 
+with all the variables that come with
+it.  Finally, it denotes a fingering instruction, so it has
+@internalsref{finger-interface}.
+
+For the vertical placement, we have to look under
+@code{side-position-interface}.
+@quotation
+ side-position-interface
+
+  Position a victim object (this one) next to other objects (the
+  support).  In this case, the direction signifies where to put the
+  victim object relative to the support (left or right, up or down?)
+@end quotation
+below this description, the variable @code{padding} is described as
+@quotation
+@table @code
+@item padding
+ (dimension, in staff space)
+
+   add this much extra space between objects that are next to each
+other. Default value: @code{0.6}
+@end table
+@end quotation
+
+By increasing the value of @code{padding}, we can move away the
+fingering.  The following command inserts 3 staff spaces of white
+between the note and the fingering
+@example
+\once \property Voice.Fingering \set #'padding = #3
+@end example
+
+Before the object is created, we get
+@lilypond[relative=2,fragment]
+\once \property Voice.Fingering
+  \set #'padding = #3
+c-2
+\stemUp
+f
+@end lilypond
+
+The context name @code{Voice} in the example above can be determined
+as follows. In the documentation for @internalsref{Fingering}, it says
+@quotation
+Fingering grobs are created by: @internalsref{Fingering_engraver}
+@end quotation
+
+Clicking @code{Fingering_engraver} shows the documentation of
+the module responsible for interpreting the fingering instructions and
+translating them to a @code{Fingering} object.  Such a module is called
+an @emph{engraver}.  The documentation of the @code{Fingering_engraver}
+says
+@example
+Fingering_engraver is part of contexts: Voice and TabVoice
+@end example
+so tuning the settings for Fingering should be done using either
+@example
+  \property Voice.Fingering \set @dots{}
+@end example
+or
+@example
+  \property TabVoice.Fingering \set @dots{}
+@end example
+
+Since the @code{TabVoice} is only used for tab notation, we see that
+the first guess @code{Voice} was indeed correct.
+
+Of course, the tweak may also done in a larger context than
+@code{Voice}, for example, @internalsref{Staff} or
+@internalsref{Score}.
+
+The internals document also contains alphabetical lists of
+@internalsref{All contexts}, @internalsref{All layout objects} and
+@internalsref{All music types}, so you can also find which objects to
+tweak by browsing the internals document.
+
 
 @node Applyoutput
 @subsection Applyoutput
@@ -6266,17 +7082,17 @@ syntax is
 @end example
 where @var{proc} is a Scheme function, taking four arguments.
 
-When interpreted, the function @var{proc} is called for every grob found
+When interpreted, the function @var{proc} is called for every layout object found
 in the context, with the following arguments:
 @itemize @bullet
-@item the grob itself
-@item the context where the grob was created
+@item the layout object itself
+@item the context where the layout object was created
 @item the context where @code{\applyoutput} is processed.
 @end itemize
 
-In addition, the cause of the grob, i.e.  the music expression or object
-that was responsible for creating the object, is in the object property
-@code{cause}.  For example, for a note head, this is a
+In addition, the cause of the layout object, i.e.  the music
+expression or object that was responsible for creating it, is in the
+object property @code{cause}.  For example, for a note head, this is a
 @internalsref{NoteHead} event, and for a @internalsref{Stem} object,
 this is a @internalsref{NoteHead} object.
 
@@ -6284,7 +7100,7 @@ this is a @internalsref{NoteHead} object.
 @node Outputproperty
 @subsection Outputproperty
 
-@cindex \outputproperty
+@cindex @code{\outputproperty}
 
 Another way of tuning objects is the more arcane @code{\outputproperty}
 feature.  The syntax is as follows:
@@ -6399,7 +7215,16 @@ to override default setting, which are always present. For example:
 
 @cindex @code{font-style}
 
+@refcommands
 
+The following commands set @code{fontSize} for the current voice.
+
+@cindex @code{\tiny}
+@code{\tiny}, 
+@cindex @code{\small}
+@code{\small}, 
+@cindex @code{\normalsize}
+@code{\normalsize}, 
 
 @refbugs
 
@@ -6449,11 +7274,11 @@ For clarity, you can also do this for single arguments, e.g.
 
 The following size commands set abolute sizes
 
-@cindex \teeny
-@cindex \tiny
-@cindex \small
-@cindex \large
-@cindex \huge
+@cindex @code{\teeny}
+@cindex @code{\tiny}
+@cindex @code{\small}
+@cindex @code{\large}
+@cindex @code{\huge}
 
 @table @code
 @item \teeny
@@ -6469,10 +7294,10 @@ with the commands @code{\larger} and @code{\smaller}.
 @cindex larger
 
 @cindex font style, for texts
-@cindex \bold
-@cindex \dynamic
-@cindex \number
-@cindex \italic
+@cindex @code{\bold}
+@cindex @code{\dynamic}
+@cindex @code{\number}
+@cindex @code{\italic}
 
 The following font change commands are defined:
 @table @code
@@ -6496,8 +7321,8 @@ Changes @code{font-series} to @code{bold}
 @cindex moving text
 @cindex translating text
 
-@cindex \sub
-@cindex \super
+@cindex @code{\sub}
+@cindex @code{\super}
 
 Raising and lowering texts can be done with @code{\super} and
 @code{\sub}.
@@ -6506,7 +7331,7 @@ Raising and lowering texts can be done with @code{\super} and
  c1^\markup { E "=" mc \super "2" }
 @end lilypond
 
-@cindex \raise
+@cindex @code{\raise}
 
 If you want to give an explicit amount for lowering or raising, use
 @code{\raise}.  This command takes a Scheme valued first argument, and
@@ -6526,7 +7351,7 @@ Other commands taking  single arguments include
 respectively.
 
 @item \musicglyph
-@cindex \musicglyph
+@cindex @code{\musicglyph}
   This is converted to a musical symbol, e.g. @code{\musicglyph
 #"accidentals-0"} will select the natural sign from the music font.
 See @ref{The Feta font} for  a complete listing of the possible glyphs.
@@ -6534,8 +7359,14 @@ See @ref{The Feta font} for  a complete listing of the possible glyphs.
 This produces a single character, e.g. @code{\char #65} produces the 
 letter 'A'.
 
+@item \note
+@cindex @code{\note @var{log} @var{dots} @var{dir}}
+
+This produces a note with a stem pointing in @var{dir} direction, with
+duration log @var{log} and @var{dots} augmentation dots.
+
 @item \hspace #@var{amount}
-@cindex \hspace
+@cindex @code{\hspace}
 This produces a invisible object taking horizontal space.
 @example 
 \markup @{ A \hspace #2.0 B @} 
@@ -6544,7 +7375,7 @@ will put extra space between A and B, on top of the space that is
 normally inserted before elements on a line.
 
 @item \fontsize #@var{size}
-@cindex \fontsize
+@cindex @code{\fontsize}
 This sets the relative font size, eg.
 @example
 A \fontsize #2 @{ B C @} D
@@ -6561,7 +7392,7 @@ A \translate #(cons 2 -3) @{ B C @} D
 This moves `B C' 2 spaces to the right, and 3 down.
 
 @item \magnify  #@var{mag}
-@cindex \magnify
+@cindex @code{\magnify}
 This sets the font magnification for the its argument. In the following
 example, the middle A will be 10% larger.
 @example
@@ -6570,11 +7401,11 @@ A \magnify #1.1 @{ A @} A
 
 
 @item \override #(@var{key} . @var{value})
-@cindex \override
+@cindex @code{\override}
 This overrides a  formatting property for its argument. The argument
 should be a key/value pair, e.g.
 @example
-m \override #'(font-family . math) m m
+  m \override #'(font-family . math) m m
 @end example
 @end table
 
@@ -6778,7 +7609,7 @@ exaggerated corrections.
 
 @cindex SpacingSpanner, overriding properties
 
-Properties of the  @internalsref{SpacingSpanner} must be overriden
+Properties of the  @internalsref{SpacingSpanner} must be overridden
 from the @code{\paper} block, since the @internalsref{SpacingSpanner}
 is created before any @code{\property} statements are interpreted.
 @example
@@ -6923,6 +7754,7 @@ the @file{.tex} output to instruct @TeX{} where to break pages.  This
 is done by setting the @code{between-systems-strings} on the
 @internalsref{NonMusicalPaperColumn} where the system is broken.
 An example is shown in @inputfileref{input/regression,between-systems.ly}.
+The predefined command @code{\newpage} also does this.
 
 @cindex paper size
 @cindex page size
@@ -6944,6 +7776,12 @@ will set the paper variables @code{hsize} and @code{vsize} (used by
 Lilypond and @code{ly2dvi})
 
 
+@refcommands
+
+@cindex @code{\newpage}
+@code{\newpage}, 
+
+
 @seealso
 
 @ref{Invoking ly2dvi},
@@ -6965,25 +7803,21 @@ choose sensible page breaks in multi-page pieces.
 Entered music can also be converted to MIDI output.  The performance
 is good enough for proof-hearing the music for errors.
 
-
 Ties, dynamics and tempo changes are interpreted.  Dynamic marks,
 crescendi and decrescendi translate into MIDI volume levels.  Dynamic
 marks translate to a fixed fraction of the available MIDI volume
-range, crescendi and decrescendi make the volume vary linearly
-between their two extremities.  The fractions be adjusted by
+range, crescendi and decrescendi make the volume vary linearly between
+their two extremities.  The fractions be adjusted by
 @code{dynamicAbsoluteVolumeFunction} in @internalsref{Voice} context.
-
-For each type of musical instrument (that MIDI supports), a volume range
-can be defined.  This gives you basic equalizer control, which can
-enhance the quality of the MIDI output remarkably.  The equalizer
-can be controlled by setting @code{instrumentEqualizer}.
-
-Both loudness controls are combined to produce the final  MIDI volume. 
+For each type of MIDI instrument, a volume range can be defined.  This
+gives you basic equalizer control, which can enhance the quality of
+the MIDI output remarkably.  The equalizer can be controlled by
+setting @code{instrumentEqualizer}.
 
 @refbugs
 
 Many musically interesting effects, such as swing, articulation,
-slurring, etc., are translated to MIDI.
+slurring, etc., are not translated to MIDI.
 
 
 @menu
@@ -7002,8 +7836,8 @@ simpler.  The @code{\midi} block can contain:
 @cindex MIDI block
 
 @itemize @bullet
-  @item  a @code{\tempo} definition
-  @item  context definitions
+  @item a @code{\tempo} definition
+  @item context definitions
 @end itemize
 
 Assignments in the @code{\midi} block are not allowed.