]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/refman.itely
* scm/bass-figure.scm (make-bass-figure-markup): add
[lilypond.git] / Documentation / user / refman.itely
index 5a2ed6d76d71a10d26da5a2b78bba69792a0007b..d524ac706c591cbaab5a978a0d26d713168c0bcb 100644 (file)
@@ -7,21 +7,14 @@
 @c FIXME: singular vs. plural:  Beams/Beam
 
 
-@node Reference Manual
-@chapter Reference Manual
+@node Notation manual
+@chapter Notation manual
 
 @html
-<!--- @@WEB-TITLE@@=Reference Manual --->
+<!--- @@WEB-TITLE@@=Notation manual --->
 @end html
 
 
-This document describes GNU LilyPond and its input format. The last
-revision of this document was made for LilyPond 1.7.10.  It assumes
-that you already know a little bit about LilyPond input (how to
-make an input file, how to create sheet music from that input file,
-etc).  New users are encouraged to study the tutorial before reading
-this manual.
-
 @menu
 * Note entry::                  
 * Easier music entry::          
@@ -30,14 +23,15 @@ this manual.
 * Beaming::                     
 * Accidentals::                 
 * Expressive marks::            
-* Ornaments::                   
+* Articulations::               
+* Fingering instructions::      
 * Repeats::                     
 * Rhythmic music::              
 * Piano music::                 
 * Vocal music::                 
 * Tablatures::                  
-* Chords::                      
-* Writing parts::               
+* Chord names::                 
+* Orchestral music::            
 * Ancient notation ::           
 * Contemporary notation::       
 * Tuning output::               
@@ -51,21 +45,18 @@ this manual.
 @section Note entry
 @cindex Note entry
 
-Notes constitute the most basic elements of LilyPond input, but they do
-not form valid input on their own without a @code{\score} block.  However,
-for the sake of brevity and simplicity we will generally omit
-@code{\score} blocks and @code{\paper} declarations in this manual.
 
 
 @menu
 * Notes::                       
 * Pitches::                     
 * Chromatic alterations::       
+* Chords::                      
 * Rests::                       
 * Skips::                       
 * Durations::                   
+* Stems::                       
 * Ties::                        
-* Automatic note splitting ::   
 * Tuplets::                     
 * Easy Notation note heads ::   
 @end menu
@@ -76,6 +67,12 @@ for the sake of brevity and simplicity we will generally omit
 
 
 A note is printed by specifying its pitch and then its duration.
+@footnote{Notes constitute the most basic elements of LilyPond input,
+but they do not form valid input on their own without a @code{\score}
+block.  However, for the sake of brevity and simplicity we will
+generally omit @code{\score} blocks and @code{\paper} declarations in
+this manual.}
+
 @lilypond[fragment,verbatim]
   cis'4 d'8 e'16 c'16
 @end lilypond
@@ -89,20 +86,12 @@ A note is printed by specifying its pitch and then its duration.
 @cindex pitches
 @cindex entering notes
 
-The verbose syntax for pitch specification is
-
-@cindex @code{\pitch}
-@example
-  \pitch @var{scmpitch}
-@end example
-
-where @var{scmpitch} is a pitch scheme object.
-
-In Note and Chord mode, pitches may be designated by names.  The
-default names are the Dutch note names.  The notes are specified by
-the letters @code{a} through @code{g}, while the octave is formed with
-notes ranging from @code{c} to @code{b}.  The pitch @code{c} is an
-octave below middle C and the letters span the octave above that C.
+The most common syntax for pitch entry is used in @code{\chords} and
+@code{\notes} mode.  In Note and Chord mode, pitches may be designated
+by names.  The notes are specified by the letters @code{a} through
+@code{g}, while the octave is formed with notes ranging from @code{c}
+to @code{b}.  The pitch @code{c} is an octave below middle C and the
+letters span the octave above that C.
 
 @lilypond[fragment,verbatim]
 \clef bass
@@ -111,10 +100,12 @@ octave below middle C and the letters span the octave above that C.
 
 @cindex note names, Dutch
 
-In Dutch, a sharp is formed by adding @code{-is} to the end of a pitch
+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}.
-@code{aes} is contracted to @code{as} in Dutch, but both forms are
+
+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.
 
 There are predefined sets of note names for various other languages.
@@ -152,6 +143,32 @@ octave; each @code{,} lowers the pitch by an octave.
 @end lilypond
 
 
+The verbose syntax for pitch specification is
+
+@cindex @code{\pitch}
+@example
+  \pitch @var{scmpitch}
+@end example
+
+
+where @var{scmpitch} is a Scheme object of the @code{Pitch} type.
+
+@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.
+
+@refcommand dotsUp 
+@refcommand dotsDown 
+@refcommand dotsBoth
+
+Notes can be hidden and unhidden with the following commands.
+
+@refcommand hideNotes 
+@refcommand unHideNotes 
+
+
 @seealso
 
 @internalsref{NoteEvent}, @internalsref{NoteHead}
@@ -178,11 +195,29 @@ question mark `@code{?}' after the pitch.
 The automatic production of accidentals can be tuned in many
 ways. For more information, refer to @ref{Accidentals}.
 
+@node Chords
+@subsection Chords
+
+A chord is formed by a enclosing a set of pitches in @code{<<} and
+@code{>>}. A chord may be followed by  a duration, and a set of
+articulations, just like simple notes.
+
+Additionally, fingerings and articulations may be attached to
+individual pitches of the chord:
+
+@lilypond[singleline,verbatim,relative 1]
+  <<f-1 a-^ c-5>>
+@end lilypond
+
+
 
 @node  Rests
 @subsection Rests
 @cindex Rests
 
+
+
+
 Rests are entered like notes, with the note name @code{r}.
 
 @lilypond[singleline,verbatim]
@@ -201,6 +236,8 @@ keyword appended. Rest collision testing will leave these rests alone.
 a'4\rest d'4\rest
 @end lilypond
 
+@seealso
+
 @internalsref{RestEvent}, @internalsref{Rest}
 
 
@@ -252,7 +289,8 @@ In Note, Chord, and Lyrics mode, durations are designated by numbers
 and dots: durations are entered as their reciprocal values.  For example,
 a quarter note is entered using a @code{4} (since it is a 1/4 note), while
 a half note is entered using a @code{2} (since it is a 1/2 note).  For notes
-longer than a whole you must use identifiers.
+longer than a whole you must use variables.
+
 @c FIXME: what is an identifier?  I do not think it's been introduced yet.
 @c and if it has, I obviously skipped that part.     - Graham
 
@@ -317,6 +355,20 @@ Dot placement for chords is not perfect.  In some cases, dots overlap:
  <<f, c'' d e f>>4.
 @end lilypond
 
+@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
+
+@refcommand stemUp
+@refcommand stemDown
+@refcommand stemBoth
+
 
 @node Ties
 @subsection Ties
@@ -334,9 +386,8 @@ musical phrasing.  A tie is entered using the tilde symbol `@code{~}'.
   e' ~ e' <<c' e' g'>> ~ <<c' e' g'>>
 @end lilypond
 
-When a tie is applied to a chord, all note heads (whose pitches match) are
-connected.  If you try to tie together chords that have no common pitches,
-no ties will be created.
+When a tie is applied to a chord, all note heads whose pitches match
+are connected.  When no note heads match, no ties will be created.
 
 In its meaning a tie is just a way of extending a note duration, similar
 to the augmentation dot: the following example are two ways of notating
@@ -348,6 +399,14 @@ exactly the same concept.
 If you need to tie notes over bars, it may be easier to use automatic
 note splitting (See @ref{Automatic note splitting}).
 
+@refcommands
+
+
+@refcommand tieUp 
+@refcommand tieDown 
+@refcommand tieBoth 
+@refcommand tieDotted 
+@refcommand tieSolid
 
 @seealso 
 
@@ -367,41 +426,10 @@ off ties per @internalsref{Thread}.
 Switching staves when a tie is active, will produce a horizontal tie
 on the first note.
 
+Formatting of ties is a difficult subject. The results are often not
+optimal results.
 
-Formatting of ties is a difficult subject. LilyPond often does not
-give optimal results.
-
-
-
-@node Automatic note splitting 
-@subsection Automatic note splitting
-@c FIXME: This subsection does not belong in @ref{Note entry}.
-
-LilyPond can automatically converting long notes to tied notes.  This
-is done by replacing the @internalsref{Note_heads_engraver} by the
-@internalsref{Completion_heads_engraver}. 
-
-@lilypond[verbatim,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 Tuplets
 @subsection Tuplets
@@ -430,7 +458,7 @@ of their written length:
 
 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 you lots of typing.
+@code{\times} only once, saving lots of typing.
 
 @lilypond[fragment,  relative, singleline, verbatim]
 \property Voice.tupletSpannerDuration = #(ly:make-moment 1 4)
@@ -439,15 +467,24 @@ should last.  With this, you can make lots of tuplets while typing
 
 The format of the number is determined by the property
 @code{tupletNumberFormatFunction}.  The default prints only the
-denominator, but if you set it to the Scheme function
-@code{fraction-tuplet-formatter}, Lilypond will print @var{num}:@var{den}
+denominator, but if it is set to the Scheme function
+@code{fraction-tuplet-formatter}, @var{num}:@var{den} will be printed
 instead.
 
 
 @cindex @code{tupletNumberFormatFunction}
 @cindex tuplet formatting 
 
-See also @seeinternals{TupletBracket}.
+
+@refcommands
+
+@refcommand tupletUp  
+@refcommand tupletDown 
+@refcommand tupletBoth
+
+@seealso
+
+@seeinternals{TupletBracket}, @seeinternals{TimeScaledMusic}.
 
 @refbugs
 
@@ -460,7 +497,7 @@ tuplet brackets should be moved manually.
 @cindex easy notation
 @cindex Hal Leonard
 
-The "easyplay" note head includes a note name inside the head.  It is
+The `easyplay' note head includes a note name inside the head.  It is
 used in music aimed at beginners.
 
 @lilypond[singleline,verbatim,26pt]
@@ -470,7 +507,7 @@ used in music aimed at beginners.
 }
 @end lilypond
 
-The @code{EasyNotation} identifier overrides a @internalsref{Score}
+The @code{EasyNotation} variable overrides a @internalsref{Score}
 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
@@ -490,17 +527,31 @@ 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, for example
+the use of variables (for splitting up large pieces of music), and
+unfolded repeats for writing repetitive parts. They are described in
+other sections (see @ref{Repeats} and @ref{Assignments}), since they
+are not especially aimed at easing entry
+
+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 with LilyPond, it is easy to introduce
-errors. This section deals with tricks and features that help you
-enter music, and find and correct mistakes.  It is also possible to
-use external programs to enter or edit music. Refer to the website for
-more information.
 
 
 
@@ -510,9 +561,9 @@ more information.
 @cindex relative octave specification
 
 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.  To prevent these
-errors, LilyPond features octave entry.
+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
 
 @cindex @code{\relative}
 @example
@@ -580,11 +631,10 @@ additional @code{\relative} inside the @code{\transpose}.
 
 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 you find errors in the input.  Depending on the value of
+help find errors in the input.  Depending on the value of
 @code{barCheckSynchronize}, the beginning of the measure will be
-relocated, so this can also be used to shorten measures.
+relocated. A bar check is entered using the bar symbol, `@code{|}'.
 
-A bar check is entered using the bar symbol, `@code{|}'.
 @example
   \time 3/4 c2 e4 | g2.
 @end example
@@ -606,8 +656,8 @@ in the next section.
 The property @code{Score.skipTypesetting} can be used to switch on and
 off typesetting completely during the interpretation phase. When
 typesetting is switched off, the music is processed much more quickly.
-You can use this to skip over the parts of a score that you have already
-checked for errors. 
+This can be used to skip over the parts of a score that have already
+been checked for errors.
 
 @lilypond[fragment,singleline,verbatim]
 \relative c'' { c8 d
@@ -617,13 +667,58 @@ 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 deals with music notation that occurs on staff level,
+This section describes with music notation that occurs on staff level,
 such as keys, clefs and time signatures.
 
 @cindex Staff notation
@@ -632,6 +727,7 @@ such as keys, clefs and time signatures.
 * Staff symbol::                
 * Key signature::               
 * Clef::                        
+* Ottava brackets::             
 * Time signature::              
 * Unmetered music::             
 * Bar lines::                   
@@ -644,28 +740,28 @@ such as keys, clefs and time signatures.
 @cindex StaffSymbol, using \property
 @cindex staff lines, setting number of
 
-Staff is a the general name for Notes, dynamic signs, etc. are grouped
+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
-created.  You can not change the appearance of the staff symbol by
+created.  The appearance of the staff symbol cannot be changed by
 using @code{\override} or @code{\set}.  At the moment that
-@code{\property Staff} is interpreted, a Staff context is made, and
-the @internalsref{StaffSymbol} is created before any @code{\override} is
-effective. You can deal with this either overriding properties in a
+@code{\property Staff} is interpreted, a @internalsref{Staff} context
+is made, and the @internalsref{StaffSymbol} is created before any
+@code{\override} is effective. Properties can be changed in a
 @code{\translator} definition, or by using @code{\outputproperty}.
 
 @refbugs
 
-If you end a staff halfway a piece, the staff symbol may not end
+If a staff is ended halfway a piece, the staff symbol may not end
 exactly on the barline.
 
 
 @node Key signature
 @subsection Key signature
-@cindex Key
+@cindex Key signature
 
 @cindex @code{\key}
 
@@ -702,10 +798,14 @@ This command sets the context property
 @internalsref{Staff}.@code{keySignature}.  Non-standard key signatures
 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.
 
 @seealso
 
-@internalsref{KeyChangeEvent}, @internalsref{KeySignature}
+@internalsref{KeyChangeEvent}, @internalsref{KeySignature}.
 
 @cindex @code{keySignature}
 
@@ -752,9 +852,9 @@ G clef on 2nd line
 @end table
 
 By adding @code{_8} or @code{^8} to the clef name, the clef is
-transposed one octave down or up, respectively.   You have to
-enclose @var{clefname} in quotes if you use underscores or digits in the
-name. For example,
+transposed one octave down or up, respectively.  @var{clefname} must
+be enclosed in quotes when it contains underscores or digits. For
+example,
 @example
        \clef "G_8"
 @end example
@@ -770,6 +870,37 @@ The object for this symbol is @internalsref{Clef}.
 
 
 
+@node Ottava brackets
+@subsection Ottava brackets
+
+``Ottava'' brackets introduce an extra transposition of an octave for
+the staff. They are created by invoking the function
+@code{set-octavation}
+
+@cindex ottava
+@cindex 15ma
+@cindex octavation
+
+@lilypond[verbatim,fragment]
+\relative c''' {
+  a2 b
+  #(set-octavation 1)
+  a b 
+  #(set-octavation 0)
+  a b }
+@end lilypond
+
+Internally the @code{set-octavation} sets @code{ottavation} (eg. to
+@code{"8va"}) and @code{centralCPosition} properties.
+
+@seealso
+
+@internalsref{OttavaBracket}
+
+@refbugs
+
+@code{set-octavation} will get confused when clef changes happen
+during an octavation bracket.
 
 @node Time signature
 @subsection Time signature
@@ -797,10 +928,10 @@ 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} determine where bar lines should be
-inserted, and how automatic beams should be generated.  Changing the
-value of @code{timeSignatureFraction} also causes a time signature
+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.
 
 More options are available through the Scheme function
@@ -871,6 +1002,12 @@ music (e.g. cadenzas), this is not desirable.  By setting
 @code{Score.timing} to false, this automatic timing can be switched
 off.
 
+
+@refcommands
+
+@refcommand cadenzaOn 
+@refcommand cadenzaOff 
+
 @node Bar lines
 @subsection Bar lines
 @cindex Bar lines
@@ -885,8 +1022,8 @@ repeats. Line breaks may only happen on barlines.
 
 @syntax
 
-Bar lines are inserted automatically, but if you need a special type
-of barline, you can force one using the @code{\bar} command:
+Bar lines are inserted automatically.  Special types
+of barlines can be forced with the @code{\bar} command:
 @lilypond[relative=1,fragment,verbatim]
    c4 \bar "|:" c4
 @end lilypond
@@ -939,11 +1076,7 @@ You are encouraged to use @code{\repeat} for repetitions.  See
 
 @seealso
 
-@ref{Repeats}, @internalsref{RepeatedMusic},
-@internalsref{VoltaRepeatedMusic},
-@internalsref{UnfoldedRepeatedMusic}
-@internalsref{TremoloRepeteadMusic},
-@internalsref{FoldedRepeatedMusic}.
+@ref{Repeats}.
 
 
 The bar line objects that are created at @internalsref{Staff} level
@@ -957,8 +1090,7 @@ are called @internalsref{BarLine}, the bar lines that span staffs are
 
 The easiest way to enter fragments with more than one voice on a staff
 is to split chords using the separator @code{\\}.  You can use it for
-small, short-lived voices (make a chord of voices) or for single
-chords:
+small, short-lived voices or for single chords:
 
 @lilypond[verbatim,fragment]
 \context Voice = VA \relative c'' {
@@ -984,14 +1116,15 @@ a stem directions and horizontal shift for each part.
 @end lilypond
 
 Normally, note heads with a different number of dots are not merged, but
-if you set the object property @code{merge-differently-dotted}, they are:
+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
      g8 g8
-  } \\ { [g8. f16] [g8. f16] } 
+  } \\ { g8.-[ f16-] g8.-[ f16-] } 
   >
 @end lilypond
 
@@ -1007,10 +1140,34 @@ 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
+
+
+
+@refcommand oneVoice 
+@refcommand voiceOne 
+@refcommand voiceTwo 
+@refcommand voiceThree 
+@refcommand 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.
+
+
+@refcommand shiftOn
+@refcommand shiftOnn  
+@refcommand shiftOnnn  
+@refcommand shiftOff  
+
+
+
 @seealso
 
 The objects responsible for resolving collisions are
@@ -1024,10 +1181,10 @@ also example files @inputfileref{input/regression,collision-dots.ly},
 
 @refbugs
 
-Resolving collisions is a very intricate subject, and LilyPond only
-handles a few situations. When it can not cope, you are advised to use
-@code{force-hshift} of the @internalsref{NoteColumn} object and pitched
-rests to override typesetting decisions.
+Resolving collisions is a intricate subject, and only a few situations
+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.
 
 @node Beaming
 @section Beaming
@@ -1039,11 +1196,13 @@ the metrum. They are inserted automatically in most cases.
 \time 2/4 c8 c c c \time 6/8 c c c c8. c16  c8
 @end lilypond
 
-If you are not satisfied with the automatic beaming, you can enter the
-beams explicitly. If you have beaming patterns that differ from the
-defaults, you can also set your own.
+When these automatic decisions are not good enough, beaming can be
+entered explicitly. It is also possible to define  beaming patterns
+that differ from the defaults.
 
-See also @internalsref{Beam}.
+@seealso
+
+@internalsref{Beam}. 
 
 
 @cindex Automatic beams
@@ -1068,8 +1227,8 @@ using @code{[} and @code{]}.
 Normally, beaming patterns within a beam are determined automatically.
 When this mechanism fouls up, the properties
 @code{Voice.stemLeftBeamCount} and @code{Voice.stemRightBeamCount} can
-be used to control the beam subdivision on a stem.  If you set either
-property, its value will be used only once, and then it is erased.
+be used to control the beam subdivision on a stem.  If either property
+is set, its value will be used only once, and then it is erased.
 
 @lilypond[fragment,relative,verbatim]
   \context Staff {
@@ -1090,9 +1249,8 @@ same effect as twiddling with @code{stemLeftBeamCount} and
         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
 
@@ -1110,7 +1268,7 @@ property @code{auto-knee-gap}.
 
 @cindex hara kiri
 
-Automatically kneed beams can not be used together with Hara Kiri
+Automatically kneed beams cannot be used together with Hara Kiri
 staves.
 
 
@@ -1146,7 +1304,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,
@@ -1167,8 +1325,8 @@ whether the rule applies to begin or end-points.  The quantity
 signature (wildcards, `@code{* *}' may be entered to designate all time
 signatures).
 
-For example, if you want automatic beams to end on every quarter note,
-you can use the following:
+For example, if automatic beams should end on every quarter note, use
+the following:
 @example
 \property Voice.autoBeamSettings \override
     #'(end * * * *) = #(ly:make-moment 1 4)
@@ -1186,7 +1344,7 @@ In 4/4 time signature, this means that automatic beams could end only on
 3/8 and on the fourth beat of the measure (after 3/4, that is 2 times
 3/8 has passed within the measure).
 
-You can also restrict rules to specific time signatures. A rule that
+Rules can also be restricted to specific time signatures. A rule that
 should only be applied in @var{N}/@var{M} time signature is formed by
 replacing the second asterisks by @var{N} and @var{M}. For example, a
 rule for 6/8 time exclusively looks like
@@ -1195,11 +1353,11 @@ rule for 6/8 time exclusively looks like
     #'(begin * * 6 8) =  ... 
 @end example
 
-If you want a rule to apply to certain types of beams, you can use the
-first pair of asterisks. Beams are classified according to the shortest
-note they contain. For a beam ending rule that only applies to beams
-with 32nd notes (and no shorter notes), you would use @code{(end 1
-32 * *)}.
+If a rule should be to applied only to certain types of beams, use the
+first pair of asterisks. Beams are classified according to the
+shortest note they contain. For a beam ending rule that only applies
+to beams with 32nd notes (and no shorter notes), use @code{(end 1 32 *
+*)}.
 
 If a score ends while an automatic beam has not been ended and is still
 accepting notes, this last beam will not be typeset at all.
@@ -1213,12 +1371,17 @@ 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
+
+@refcommand autoBeamOff 
+@refcommand autoBeamOn 
+
 
 @refbugs
 
 It is not possible to specify beaming parameters for beams with mixed
 durations, that differ from the beaming parameters of all separate
-durations, i.e., you'll have to specify manual beams to get:
+durations, i.e., you will have to specify manual beams to get:
 
 @lilypond[singleline,fragment,relative,noverbatim,quote]
   \property Voice.autoBeamSettings
@@ -1236,27 +1399,27 @@ automatic beaming in irregular meters such as @code{5/8}.
 This section describes how to change the way that LilyPond automatically
 inserts accidentals before the running notes.
 
-[TODO: identifier vs. macro]
 
 @menu
-* Using the predefined accidental macros::  
-* Defining your own accidental typesettings::  
+* Using the predefined accidental variables::  
+* Customized accidental rules::  
 @end menu
 
-@node Using the predefined accidental macros
-@subsection Using the predefined accidental macros
+@node Using the predefined accidental variables
+@subsection Using the predefined accidental variables
+
 The constructs for describing the accidental typesetting rules are
-quite hairy, so non-experts should stick to the macros defined in
-@file{ly/property-init.ly}.
+quite hairy, so non-experts should stick to the variables
+defined in @file{ly/property-init.ly}.
 @cindex @file{property-init.ly}
 
-The macros operate on the ``Current'' context (see @ref{Context properties}). This
-means that the macros shuold normally be invoked right after the
-creation of the context in which the accidental typesetting described
-by the macro is to take effect. I.e. if you want to use
-piano-accidentals in a pianostaff then you issue
-@code{\pianoAccidentals} first thing after the creation of the piano
-staff:
+The variables set properties in the ``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
+effect. For example, if you want to use piano-accidentals in a piano
+staff then issue @code{\pianoAccidentals} first thing after the
+creation of the piano staff:
 @example
 \score @{
     \notes \relative c'' <
@@ -1290,7 +1453,7 @@ staff:
 }
 @end lilypond
 
-The macros are:
+The variables are:
 @table @code
 @item \defaultAccidentals
       @cindex @code{\defaultAccidentals}
@@ -1301,12 +1464,11 @@ The macros are:
 
 @item \voiceAccidentals
       @cindex @code{\voiceAccidentals}
-      The normal behaviour is to remember the accidentals on
-      Staff-level.
-      This macro, however, typesets accidentals individually for each
-      voice.
-      Apart from that the rule is similar to
-      @code{\defaultAccidentals}.
+@c
+      The normal behaviour is to
+remember the accidentals on Staff-level.  This variable, however,
+typesets accidentals individually for each voice.  Apart from that the
+rule is similar to @code{\defaultAccidentals}.
 
       This leads to some weird and often unwanted results
       because accidentals from one voice do not get cancelled in other
@@ -1358,12 +1520,11 @@ the same @internalsref{Staff}.
 
       @cindex @code{\modernVoiceCautionaries}
 @item \modernVoiceCautionaries
-is the same as
-@code{\modernVoiceAccidentals}, but with the extra accidentals (the
-ones not typeset by @code{\voiceAccidentals}) typeset as cautionaries.
-Even though all accidentals typeset by @code{\defaultAccidentals}
-@emph{are} typeset by this macro then some of them are typeset as
-cautionaries.
+is the same as @code{\modernVoiceAccidentals}, but with the extra
+accidentals (the ones not typeset by @code{\voiceAccidentals}) typeset
+as cautionaries.  Even though all accidentals typeset by
+@code{\defaultAccidentals} @emph{are} typeset by this variable then
+some of them are typeset as cautionaries.
 
 @item \pianoAccidentals
       @cindex @code{\pianoAccidentals}
@@ -1398,8 +1559,8 @@ cautionaries.
 @end lilypond
 @end table
 
-@node Defining your own accidental typesettings
-@subsection Defining your own accidental typesettings
+@node Customized accidental rules
+@subsection  Customized accidental rules
 
 This section must be considered gurus-only, and hence it must be
 sufficient with a short description of the system and a reference to
@@ -1422,10 +1583,23 @@ 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
+
+@refcommand defaultAccidentals 
+@refcommand voiceAccidentals 
+@refcommand modernAccidentals 
+@refcommand modernCautionaries 
+@refcommand modernVoiceAccidentals 
+@refcommand modernVoiceCautionaries 
+@refcommand pianoAccidentals 
+@refcommand pianoCautionaries 
+@refcommand noResetKey 
+@refcommand forgetAccidentals 
+
 @seealso
 
 @internalsref{Accidental_engraver}, @internalsref{Accidental},
@@ -1461,12 +1635,11 @@ for the problematic notes.
 @node Expressive marks
 @section Expressive marks
 
-
 @menu
 * Slurs ::                      
 * Phrasing slurs::              
 * Breath marks::                
-* Tempo::                       
+* Metronome marks::             
 * Text spanners::               
 * Analysis brackets::           
 @end menu
@@ -1481,7 +1654,7 @@ A slur indicates that notes are to be played bound or @emph{legato}.
 
 They are entered using parentheses:
 @lilypond[fragment,verbatim,center]
-  f'-( g'-)-( a'-) [a'8 b'-(-] a'4 g'2 f'4-)
+  f'-( g'-)-( a'-) a'8-[ b'-(-] a'4 g'2 f'4-)
   <<c' e'>>2-( <<b d'>>2-)
 @end lilypond
 
@@ -1515,6 +1688,15 @@ stems might look better:
   d,32-( d'4 d8..-)
 @end lilypond
 
+@refcommands
+
+
+@refcommand slurUp   
+@refcommand slurDown 
+@refcommand slurBoth 
+@refcommand slurDotted 
+@refcommand slurSolid 
+
 @seealso
 
 @seeinternals{Slur}, @internalsref{SlurEvent}.
@@ -1544,15 +1726,20 @@ respectively.
 @end lilypond
 
 Typographically, the phrasing slur behaves almost exactly like a
-normal slur.  Although they behave similar to normal slurs, phrasing
-slurs count as different objects.  A @code{\slurUp} will have no
-effect on a phrasing slur; instead, you should use
-@code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
+normal slur.  However, they are treated as different objects.  A
+@code{\slurUp} will have no effect on a phrasing slur; instead, you
+should use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
 @code{\phrasingSlurBoth}.
 
 The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurBoth}
 will only affect normal slurs and not phrasing slurs.
 
+@refcommands
+
+@refcommand phrasingSlurUp   
+@refcommand phrasingSlurDown 
+@refcommand phrasingSlurBoth 
+
 @seealso
 
 See also @internalsref{PhrasingSlur},
@@ -1561,7 +1748,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
@@ -1574,7 +1761,7 @@ 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
@@ -1589,59 +1776,49 @@ d4
 @inputfileref{input/regression,breathing-sign.ly}.
 
 
-@node Tempo
-@subsection Tempo
+@node Metronome marks
+@subsection Metronome marks
+
 @cindex Tempo
 @cindex beats per minute
 @cindex metronome marking
 
 Metronome settings can be entered as follows:
-
-@cindex @code{\tempo}
-@example
+@example 
   \tempo @var{duration} = @var{perminute} 
 @end example
 
-For example, @code{\tempo 4 = 76} requests output with 76 quarter notes
-per minute.
+In the MIDI output, they are interpreted as a tempo change, and in the
+paper output, a metronome marking is printed
+@cindex @code{\tempo}
+@lilypond[fragment,verbatim]
+  \tempo 8.=120 c''1
+@end lilypond
 
 @seealso
 
 @internalsref{TempoEvent}
   
-@refbugs
-  
-The tempo setting is not printed, but is only used in the MIDI
-output. You can trick lily into producing a metronome mark,
-though. Details are in @ref{Text markup}.
-
-[TODO: make note markup.]
 
 
 @node Text spanners
 @subsection Text spanners
 @cindex Text spanners
 
-Some textual indications, e.g. @i{rallentando} or @i{accelerando}, are
-often extended over many measures. This is indicated by following the
-text with a dotted line.  You can create such texts using text
-spanners. The syntax is as follows:
-@example
- \startTextSpan
- \stopTextSpan
-@end example
+Some performance indications, e.g. @i{rallentando} or @i{accelerando},
+are written as texts, and extended over many measures with dotted
+lines.  You can create such texts using text spanners: attach
+@code{\startTextSpan} and @code{\stopTextSpan} to the
+start and ending note of the spanner. 
+
 The string to be printed, as well as the style, is set through object
 properties.
 
-An application is to fake octavation indications.
-
 @lilypond[fragment,relative,verbatim]
- \relative c' {  a''' b c a
-  \property Voice.TextSpanner \set #'type = #'dotted-line
-  \property Voice.TextSpanner \set #'edge-height = #'(0 . 1.5)
-  \property Voice.TextSpanner \set #'edge-text = #'("8va " . "")
-  \property Staff.centralCPosition = #-13
-  a-\startTextSpan b c a-\stopTextSpan }
+ \relative c' {  c1 
+  \property Voice.TextSpanner \set #'direction = #-1
+  \property Voice.TextSpanner \set #'edge-text = #'("rall " . "")
+  c2-\startTextSpan b c-\stopTextSpan a }
 @end lilypond
 
 
@@ -1662,14 +1839,14 @@ Brackets are used in musical analysis to indicate structure in musical
 pieces. LilyPond supports a simple form of nested horizontal brackets.
 To use this, add the @internalsref{Horizontal_bracket_engraver} to
 @internalsref{Staff} context.  A bracket is started with
-@code{\groupOpen} and closed with @code{\groupClose}. 
+@code{\startGroup} and closed with @code{\stopGroup}. 
 
 @lilypond[singleline,verbatim]
 \score { \notes \relative c'' {  
-       c4-\groupOpen-\groupOpen
-       c4-\groupClose
-       c4-\groupOpen
-        c4-\groupClose-\groupClose
+       c4-\startGroup-\startGroup
+       c4-\stopGroup
+       c4-\startGroup
+        c4-\stopGroup-\stopGroup
   }
   \paper { \translator {
            \StaffContext \consists "Horizontal_bracket_engraver"
@@ -1687,23 +1864,10 @@ Bracket endings should be angled/slanted. (TODO)
  
 
 
-@node Ornaments
-@section Ornaments
-@cindex Ornaments
-
-[TODO: ornaments vs. expressive marks]
-
-@menu
-* Articulations::               
-* Text scripts::                
-* Grace notes::                 
-* Glissando ::                  
-* Dynamics::                    
-@end menu
 
 
 @node Articulations
-@subsection Articulations
+@section Articulations
 @cindex Articulations
 
 @cindex articulations
@@ -1712,7 +1876,7 @@ Bracket endings should be angled/slanted. (TODO)
 
 A variety of symbols can appear above and below notes to indicate
 different characteristics of the performance. They are added to a note
-by adding a dash and the the character signifying the
+by adding a dash and  the character signifying the
 articulation. They are demonstrated here.
 
 @lilypondfile[notexidoc]{script-abbreviations.ly}
@@ -1725,6 +1889,8 @@ put them up:
 @end lilypond
 
 
+
+
 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{_}.
@@ -1761,10 +1927,32 @@ using @code{^} and @code{_}.
 @lilypondfile[notexidoc]{script-chart.ly}
 
 
+@refcommands
+
+@refcommand scriptUp  
+@refcommand scriptDown 
+@refcommand scriptBoth
+
+@seealso
+
+@internalsref{ScriptEvent}, @internalsref{Script}.
+
+@refbugs
+
+All of these note ornaments appear in the printed output but have no
+effect on the MIDI rendering of the music.
+
+
+@node Fingering instructions
+@section Fingering instructions
+
 @cindex fingering
 
-Fingering instructions can also be entered in this shorthand. For
-finger changes, use markup texts:
+Fingering instructions can be entered using
+@example
+  @var{note}-@var{digit}
+@end example
+For finger changes, use markup texts:
 @c
 @lilypond[verbatim, singleline, fragment]
       c'4-1 c'4-2 c'4-3 c'4-4
@@ -1776,26 +1964,37 @@ 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
+
+Fingering for chords can be notated like this:
+
 @lilypond[verbatim,singleline,fragment,relative=1]
         << c-1  e-2 g-3 b-5 >> 4
        \property Voice.fingerHorizontalDirection = #LEFT
        << c-1  es-3 g-5 >> 4
        \property Voice.fingerHorizontalDirection = #RIGHT
-       << c-1  e-2 g-3 b-5 >> 4-\arpeggio
+       << c-1  e-2 g-3 b-5 >>4
        \property Voice.fingerHorizontalDirection = #LEFT
-       << c_1  e-2 g-3 b^5 >> 4
+       << c_1  e-2 g-3 b^5 >>4
 @end lilypond
         
 @seealso
 
-@internalsref{ScriptEvent}, 
-@internalsref{Script}, @internalsref{FingerEvent} and @internalsref{Fingering}.
-
-@refbugs
+@internalsref{FingerEvent} and @internalsref{Fingering}.
 
-All of these note ornaments appear in the printed output but have no
-effect on the MIDI rendering of the music.
 
+@menu
+* Text scripts::                
+* Grace notes::                 
+* Glissando ::                  
+* Dynamics::                    
+@end menu
 
 @node Text scripts
 @subsection Text scripts
@@ -1827,15 +2026,13 @@ commands will not work with direct PostScript output.
 @node Grace notes
 @subsection Grace notes
 
-
-
 @cindex @code{\grace}
 @cindex ornaments
 @cindex grace notes
 
 Grace notes are ornaments that are written out
 
-@lilypond[relative=2,verbatim,ifragment] c4 \grace c16 c4 \grace {
+@lilypond[relative=2,verbatim,fragment] c4 \grace c16 c4 \grace {
 [c16 d16] } c4
 @end lilypond
 
@@ -1852,7 +2049,7 @@ example is shown here with timing tuples.
 @lilypond[]
 \score { \notes \relative c''{ 
   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)"
+  c16_"(2/4,-1/8)"-[  d16^"(2/4,-1/16)" ] } c4_" "_"(2/4,0)"
   }
 \paper {  linewidth = 8.\cm }
 }
@@ -1870,14 +2067,13 @@ staves.
 
 Unbeamed eighth notes and shorter by default have a slash through the
 stem. This can be controlled with object property @code{stroke-style} of
-@internalsref{Stem}. The change in formatting is accomplished by
-inserting @code{\startGraceMusic} before handling the grace notes, and
-@code{\stopGraceMusic} after finishing the grace notes.
-You can add to these definitions to globally change grace note
-formatting. The standard definitions are in @file{ly/grace-init.ly}.
-
-[TODO discuss Scheme functionality.]
+@internalsref{Stem}. For proper  matching of override and reverts of
+such properties, it is necessary to use a Scheme function.
 
+The following fragment overrides the default formatting Grace style stems.
+@example
+  #(add-to-grace-init "Voice" 'Stem  'stroke-style '())
+@end example
 
 The @code{\override} is carefully matched with a @code{\revert}.
 
@@ -1886,7 +2082,7 @@ The @code{\override} is carefully matched with a @code{\revert}.
 
 @lilypond[fragment,verbatim]
 \relative c'' \context Voice {
-  \grace c8 c4 \grace { [c16 c16] } c4
+  \grace c8 c4 \grace { c16-[ c16-] } c4
   \grace { 
     \property Voice.Stem \override #'stroke-style = #'() 
     c16 
@@ -1895,17 +2091,17 @@ The @code{\override} is carefully matched with a @code{\revert}.
 }
 @end lilypond
 
-
-
 If you want to end a note with a grace note, then the standard trick
 is to put the grace notes before a phantom ``space note'', e.g.
 @lilypond[fragment,verbatim, relative=2]
 \context Voice {
     < { d1^\trill ( }
-     { s2 \grace { [c16 d] } } >
+     { s2 \grace { c16-[ d-] } } >
    )c4
 }
 @end lilypond
+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
@@ -1919,16 +2115,15 @@ second bars in this example:
 \relative c'' \context Voice {
     \slurUp
     \grace {
-        a4 ( }
-    ) a4 a4 () a2
+        a4-( }
+    ) a4 a4-( a2-)
     \slurBoth
 
     \grace {
         \slurUp
-        a4 ( }
-    ) a4 a4 () a2
+        a4-( }
+    ) a4 a4-( a2-)
     \slurBoth
-
 }
 @end lilypond
 
@@ -1939,7 +2134,11 @@ second bars in this example:
 
 @refbugs
 
-Grace notes can not be used in the smallest size (@file{paper11.ly}).
+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
@@ -1955,6 +2154,9 @@ expressions.  Nesting, juxtaposing, or ending sequential music with a
 grace section 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.
+
 
 @node Glissando 
 @subsection Glissando
@@ -2009,7 +2211,7 @@ manually.
 @cindex @code{\rfz}
 
 
-Absolute dynamic marks are specified using an identifier after a
+Absolute dynamic marks are specified using an variable after a
 note: @code{c4-\ff}.  The available dynamic marks are: @code{\ppp},
 @code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
 @code{\fff}, @code{\fff}, @code{\fp}, @code{\sf}, @code{\sff},
@@ -2036,14 +2238,15 @@ A crescendo mark is started with @code{\cr} and terminated with
 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 marks during one note are needed.
+if multiple marks during one note are needed.
 
 @lilypond[fragment,verbatim,center,quote]
   c''-\< c''-\!   d''-\decr e''-\rced 
   < f''1 { s4 s4-\< s4-\! \>  s4-\! } >
 @end lilypond
 This may give rise to very short hairpins. Use @code{minimum-length}
-in @internalsref{Voice}.@internalsref{HairPin} to lengthen these, e.g.
+in @internalsref{Voice}.@internalsref{HairPin} to lengthen them, for
+example:
 
 @example
  \property Staff.Hairpin \override #'minimum-length = #5
@@ -2071,6 +2274,15 @@ You can also supply your own texts:
 
 @cindex diminuendo
 
+
+@refcommands
+
+@refcommand dynamicUp  
+@refcommand dynamicDown 
+@refcommand dynamicBoth 
+
+@cindex direction, of dynamics
+
 @seealso
 
 @internalsref{CrescendoEvent}, @internalsref{DecrescendoEvent},
@@ -2082,12 +2294,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 identifiers to set the vertical direction are
-\dynamicUp and \dynamicDown.
-
-@cindex direction, of dynamics
-@cindex @code{\dynamicDown}
-@cindex @code{\dynamicUp}
+object.
 
 
 @node Repeats
@@ -2097,9 +2304,13 @@ object. Predefined identifiers to set the vertical direction are
 @cindex repeats
 @cindex @code{\repeat}
 
-To specify repeats, use the @code{\repeat} keyword.  Since repeats
-should work differently when played or printed, there are a few
-different variants of repeats.
+
+Repetition is a central concept in music, and multiple notations exist
+for repetitions. In LilyPond, most of these notations can be captured
+in a uniform syntax. One of the advantages is, all these repetitions
+can be rendered in MIDI accurately.
+
+The following types of repetition are supported:
 
 @table @code
 @item unfold
@@ -2137,10 +2348,6 @@ Make beat or measure repeats. These look like percent signs.
 @node Repeat syntax
 @subsection Repeat syntax
 
-
-Repetition is a central concept in music, and multiple notations exist
-for repetitions.
-
 @syntax
 
 LilyPond has one syntactic construct for specifying different types of
@@ -2175,18 +2382,6 @@ With alternative endings:
   \alternative { {d'2 d'} {f' f} }
 @end lilypond
 
-@ignore
-Folded repeats look like this:
-
-
-@li lypond[fragment,verbatim]
-  c'1
-  \repeat fold 2 {c'4 d' e' f'} 
-  \alternative { {d'2 d'} {f' f} }
-
-@end lilypond
-@end ignore
-
 
 @lilypond[fragment,verbatim]
 \context Staff {
@@ -2198,8 +2393,25 @@ Folded repeats look like this:
 }
 @end lilypond
 
-@node Repeats and MIDI
-@subsection Repeats and MIDI
+@refbugs
+
+If you do a nested repeat like
+
+@example 
+\repeat @dots{}
+\repeat @dots{}
+\alternative 
+@end example 
+
+@noindent
+then it is ambiguous to which @code{\repeat} the @code{\alternative}
+belongs. This ambiguity is resolved by always having the
+@code{\alternative} belong to the inner @code{\repeat}.  For clarity,
+it is advisable to use braces in such situations.
+@cindex ambiguity
+
+@node Repeats and MIDI
+@subsection Repeats and MIDI
 
 @cindex expanding repeats
 
@@ -2212,7 +2424,8 @@ example file @inputfileref{input/test,unfold-all-repeats.ly}.
 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}.  Slurs or ties are also not repeated.
+or entering @code{\partial}.  Similarly, slurs or ties are also not
+repeated.
 
 
 @node Manual repeat commands
@@ -2249,7 +2462,10 @@ alphabetic characters.
 
 @seealso
 
-@internalsref{VoltaBracket}
+@internalsref{VoltaBracket}, @internalsref{RepeatedMusic},
+@internalsref{VoltaRepeatedMusic},
+@internalsref{UnfoldedRepeatedMusic}
+@internalsref{FoldedRepeatedMusic}.
 
 @node Tremolo repeats
 @subsection Tremolo repeats
@@ -2294,7 +2510,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
 
@@ -2327,15 +2543,14 @@ patterns that divide the measure length are replaced by slashes.
 
 @refbugs
 
-You can not nest percent repeats, e.g. by filling in the first measure
-with slashes, and repeating that measure with percents.
+Single measure and double measure percent-repeats cannot be nested.
 
 @node Rhythmic music
 @section Rhythmic music
 
-Sometimes you might want to show only the rhythm of a melody.  This can
-be done with the rhythmic staff. All pitches of notes on such a staff
-are squashed, and the  staff itself  looks has  a single staff line:
+Sometimes you might want to show only the rhythm of a melody.  This
+can be done with the rhythmic staff. All pitches of notes on such a
+staff are squashed, and the staff itself has a single line:
 
 @lilypond[fragment,relative,verbatim]
   \context RhythmicStaff {
@@ -2360,14 +2575,13 @@ position refers to a specific piece of percussion.
 
 @syntax
 
-LilyPond is has a set of Scheme functions that can be used to typeset
-percussion staves. The system is based on the general MIDI
-drum-pitches.  Include @file{ly/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 the full name or the abbreviation may be
-used in input files.
+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
+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
+the full name or the abbreviation may be used in input files.
 
 To typeset the music on a staff apply the function @code{drums->paper}
 to the percussion music. This function takes a list of percussion
@@ -2425,7 +2639,7 @@ mus = \notes  { cymc cyms cymr hh hhc hho hhho hhp cb hc
 }
 @end lilypond
 
-Scheme supports six different toms.  When there fewer toms, simply
+The drum scheme supports six different toms.  When there fewer toms, simply
 select the toms that produce the desired result, i.e., to get toms on
 the three middle lines you use @code{tommh}, @code{tomml} and
 @code{tomfh}.
@@ -2434,6 +2648,7 @@ Because general MIDI does not contain rimshots the sidestick is used
 for this purpose instead.
 @item 'timbales
 To typeset timbales on a two line staff.
+
 @lilypond[singleline]
 \include "drumpitch-init.ly"
 nam = \lyrics { timh ssh timl ssl cb }
@@ -2465,6 +2680,7 @@ mus = \notes  { timh ssh timl ssl cb s16 }
 @end lilypond
 @item 'congas
 To typeset congas on a two line staff.
+
 @lilypond[singleline]
 \include "drumpitch-init.ly"
 nam = \lyrics { cgh cgho cghm ssh cgl cglo cglm ssl }
@@ -2495,6 +2711,7 @@ mus = \notes  { cgh cgho cghm ssh cgl cglo cglm ssl s16 }
 @end lilypond
 @item 'bongos
 To typeset bongos on a two line staff.
+
 @lilypond[singleline]
 \include "drumpitch-init.ly"
 nam = \lyrics { boh boho bohm ssh bol bolo bolm ssl }
@@ -2558,7 +2775,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))
@@ -2658,7 +2875,7 @@ handle this cross-staffing behavior.  In this section we discuss the
 * Manual staff switches::       
 * Pedals::                      
 * Arpeggio::                    
-* Voice follower lines::        
+* Staff switch lines::          
 @end menu 
 
 @refbugs
@@ -2770,7 +2987,7 @@ c'4-\sustainUp-\sustainDown
  f'4 g'4 a'4-\sustainUp
 @end lilypond
 
-The default '*Ped' style for sustain and damper pedals corresponds to
+The default `*Ped' style for sustain and damper pedals corresponds to
 @code{\pedal-type = #'text}. However, @code{mixed} is the default style
 for a sostenuto pedal:
 
@@ -2846,17 +3063,19 @@ arpeggiate the chord. To draw these brackets, set the
        <<c' e g c>>-\arpeggio
 @end lilypond
 
+@refcommands
+
+@refcommand arpeggioBracket 
+@refcommand arpeggio
 
 @refbugs
 
 It is not possible to mix connected arpeggios and unconnected
 arpeggios in one @internalsref{PianoStaff} at the same time.
 
-@node  Voice follower lines
-@subsection Voice follower lines
-
+@node  Staff switch lines
+@subsection Staff switch lines
 
-[TODO: invent better name]
 
 @cindex follow voice
 @cindex staff switching
@@ -2882,34 +3101,263 @@ can be printed automatically. This is enabled if the property
 
 The associated object is @internalsref{VoiceFollower}.
 
+@refcommands
+
+@refcommand showStaffSwitch 
+@refcommand 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.
+
+@menu
+* Entering lyrics::             
+* The Lyrics context::          
+* More stanzas::                
+* Ambitus::                     
+@end menu
+
+@node Entering lyrics
+@subsection Entering lyrics
+
+
+@cindex lyrics
+@cindex @code{\lyrics}
+@cindex punctuation
+
+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. 
+
+@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
+  \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
+
+@cindex hyphens
+Hyphens can be entered as ordinary hyphens at the end of a syllable, i.e.
+@example
+        soft- ware
+@end example
+
+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
+
+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. 
+
+@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
+
+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 @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
+
+putting both together, you would get
+@example
+\context ChoirStaff \notes <
+  \context Lyrics = LA @dots{}
+  \context Staff = SB @dots{}
+  \addlyrics @dots{}
+>
+@end example
+
+@cindex SATB
+@cindex choral score
+
+An example of a  SATB score setup is in the file
+@inputfileref{input/template,satb}.
+
+@seealso
+
+@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
 
-[TODO: Move lyrics section from tutorial to here?]
 
-See also the sections on @ref{Slurs} and @ref{Breath marks}.
+@cindex phrasing, in lyrics
 
-[TODO: Move slurs / breath marks section to here?]
+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.
 
-[TODO: Write subsection upon usage of ChoirStaff.]
+To this end, give the @internalsref{Voice} context an identity,
+@example
+\context Voice = duet @{
+     \time 3/4
+     g2 e4 a2 f4 g2.  @}
+@end example
+
+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
+  \notes \relative c'' \context Voice = duet { \time 3/4
+     g2 e4 a2 f4 g2.  }
+  \lyrics \context Lyrics <
+  \context LyricsVoice = "duet-1" {
+    \property LyricsVoice . stanza = "Bert"
+    Hi, my name is bert.    }
+  \context LyricsVoice = "duet-2" {
+    \property LyricsVoice . stanza = "Ernie" 
+    Ooooo, ch\'e -- ri, je t'aime. }
+  >
+}
+@end lilypond
+
+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.
 
-For entering quotes in Lyrics mode, use the following
 @example
-"\"God\"" is "`King'"
+    \property LyricsVoice . stanza = "Bert"
+    @dots{}
+    \property LyricsVoice . stanza = "Ernie" 
 @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.
 
 
-@menu
-* Ambitus::                     
-@end menu
+
+@refbugs
+
+@cindex ambiguity
+
+Input for lyrics introduces a syntactical ambiguity:
+@example 
+foo = bar 
+@end example 
+
+@noindent
+is interpreted as assigning a string identifier @code{\foo} such that
+it contains @code{"bar"}.  However, it could also be interpreted as
+making or a music identifier @code{\foo} containing the syllable
+`bar'.  The force the latter interpretation, use
+@example
+  foo = \lyrics bar
+@end example
+
 
 @node Ambitus
 @subsection Ambitus
@@ -3052,11 +3500,10 @@ chord.
 @subsection Non-guitar tablatures
 @cindex Non-guitar tablatures
 
- You can change the number of strings, by setting the number of lines
+You can change the number of strings, by setting the number of lines
 in the @internalsref{TabStaff} (the @code{line-count} property of
 @internalsref{TabStaff} can only be changed using
-@code{\outputproperty}, for more information, see @ref{Tuning
-objects}.
+@code{\outputproperty}, for more information, see @ref{Tuning objects}.
 
 You can change the tuning of the strings. A string tuning is given as
 a Scheme list with one integer number for each string, the number
@@ -3079,12 +3526,12 @@ g.
   > 
 @end lilypond
 
-Finally, it is possible to change the Scheme function to format the
-tablature note text. The default is
-@var{fret-number-tablature-format}, which uses the fret number. For
-some instruments that do not use this notation, you can create a
-special tablature formatting function. This function takes three
-argument: the string number, the string tuning and the note pitch.
+It is possible to change the Scheme function to format the tablature
+note text. The default is @code{fret-number-tablature-format}, which
+uses the fret number. For instruments that do not use this notation,
+you can create a special tablature formatting function. This function
+takes three argument: the string number, the string tuning and the
+note pitch.
 
 @refbugs
 
@@ -3092,11 +3539,17 @@ As tablature is a recent feature, most of the guitar special effects
 such as bend are not yet supported.
 
 
-@node Chords
-@section Chords
+@node Chord names
+@section Chord names
 @cindex Chords
 
-LilyPond has support for both entering and printing chords. 
+LilyPond has support for both entering and printing named chords.
+These chords are internally represented as a set of pitches. Therefore
+they can be entered by name and printed as notes, entered as notes and
+printed as chord names, or (the most common case) entered them by
+name, and print them as name. The following fragment shows these
+options:
+
 @lilypond[verbatim,singleline]
 twoWays = \notes \transpose c c' {
   \chords {
@@ -3113,14 +3566,9 @@ twoWays = \notes \transpose c c' {
 @end lilypond
 
 This example also shows that the chord printing routines do not try to
-be intelligent. If you enter @code{f bes d}, it does not interpret
-this as an inversion.
+be intelligent. The chord @code{f bes d}, is not interpreted as an
+inversion.
 
-Chords are represented as a set of pitches. They are internally
-stored as simultaneous music expressions. This means you can enter
-chords by name and print them as notes, enter them as notes and print
-them as chord names, or (the most common case) enter them by name, and
-print them as name.
 
 @menu
 * Chords mode::                 
@@ -3247,7 +3695,7 @@ last.
 @end lilypond
 
 In chord mode, dashes and carets are used to indicate chord additions
-and subtractions, so articulation scripts can not be entered.
+and subtractions, so articulation scripts cannot be entered.
 
 
 @node Printing chord names
@@ -3257,18 +3705,18 @@ and subtractions, so articulation scripts can not be entered.
 @cindex chord names
 @cindex chords
 
-For displaying printed chord names, use the @internalsref{ChordNames} context.
-The chords may be entered either using the notation described above, or
-directly using simultaneous music.
+For displaying printed chord names, use the @internalsref{ChordNames}
+context.  The chords may be entered either using the notation
+described above, or directly using @code{<<} and @code{>>}.
 
 @lilypond[verbatim,singleline]
 scheme = \notes {
-  \chords {a1 b c} <<d f g>>  <<e g b>>
+  \chords {a1 b c} <<d' f' g'>>  <<e' g' b'>>
 }
 \score {
   \notes<
     \context ChordNames \scheme
-    \context Staff \transpose c c' \scheme
+    \context Staff \scheme
   >
 }
 @end lilypond
@@ -3296,22 +3744,26 @@ scheme = \chords {
 The default chord name layout is a system for Jazz music, proposed by
 Klaus Ignatzek (See @ref{Literature}).
 
-[TODO: add description for banter other jazz.]
-
 The Ignatzek chord name formatting can be tuned in a number of ways
 through the following properties:
 @table @code
+
+@cindex chordNameExceptions
 @item chordNameExceptions
 This is a list that contains the chords that have special formatting.
 For an example, see
 @inputfileref{input/regression,chord-name-exceptions.ly}.
+@cindex exceptions, chord names.
+
 
+@cindex majorSevenSymbol
 @item majorSevenSymbol
 This property contains the markup object used for the 7th step, when
-it is major. Predefined options are @code{whiteTriangleMarkup},
+it is major. Predefined options are @code{whiteTriangleMarkup} and
 @code{blackTriangleMarkup}.  See
 @inputfileref{input/regression,chord-name-major7.ly} for an example.
 
+@cindex chordNameSeparator
 @item chordNameSeparator
 Different parts of a chord name are normally separated by a
 slash. By setting @code{chordNameSeparator}, you can specify other
@@ -3324,24 +3776,47 @@ separators, e.g.
       c:7sus4 }
 @end lilypond
 
+@cindex chordRootNamer
 @item chordRootNamer
 The root of a chord is usually printed as a letter with an optional
 alteration. The transformation from pitch to letter is done by this
-function.  An application of setting this function, is providing chord
-names with german notation for the root.
+function.  Special note names (for example, the German ``H'' for a
+B-chord) can be produced by storing a new function in this property.
 
+@cindex chordNoteNamer
 @item chordNoteNamer
 The default is to print single notes (as for instance the bass note)
-using the chordRootNamer. However, by setting this function to a non-null
+using the @code{chordRootNamer}. However, by setting this function to a non-null
 value you can specify a different function. I.e. you could use letters
 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
+
+@refcommand germanChords 
+@refcommand 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}
 
@@ -3356,26 +3831,51 @@ 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,
-as in the individual parts. This section explains how to tackle common
-problems in orchestral music.
+Orchestral music involves some special notation, both in the full
+score and the individual parts. This section explains how to tackle
+some common problems in orchestral music.
 
 
 
 @menu
+* Multiple staff contexts::     
 * Rehearsal marks::             
 * Bar numbers::                 
 * Instrument names::            
 * Transpose::                   
 * Multi measure rests::         
 * Automatic part combining::    
-* Hara kiri staves::            
+* Frenched scores::             
 * 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
@@ -3450,15 +3950,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
@@ -3552,9 +4052,12 @@ you must put @code{\transpose} outside of @code{\relative}, since
 @code{\transpose}.
 
 
+
+
 @node  Multi measure rests
 @subsection Multi measure rests
-@cindex Multi measure rests
+@cindex multi measure rests
+@cindex Rests, multi measure
 
 @cindex @code{R}
 
@@ -3594,9 +4097,9 @@ 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. An identifier (@code{fermataMarkup}) is provided for
+number by hand. A variable (@code{\fermataMarkup}) is provided for
 adding fermatas.
 
 
@@ -3614,9 +4117,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.
 
@@ -3635,8 +4138,9 @@ Be careful when entering multimeasure rests followed by whole notes,
 @example
  R1*4 cis cis 
 @end example
-will enter two notes lasting four measures each. The result will look
-ok, but the bar numbering will be off.
+will enter two notes lasting four measures each. When @code{skipBars}
+is set, then the result will look OK6, but the bar numbering will be
+off.
 
 @node Automatic part combining
 @subsection Automatic part combining
@@ -3671,7 +4175,7 @@ polyphony.
   \context Staff <
     \context Voice=one \partcombine Voice
       \context Thread=one \relative c'' {
-        g a () b r
+        g a-( b-) r
       }
       \context Thread=two \relative c'' {
         g r4 r f
@@ -3729,32 +4233,29 @@ 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}
 @cindex @code{A2_engraver}
 
-@node Hara kiri staves
-@subsection Hara kiri staves
+@node Frenched scores
+@subsection Frenched scores
 
 In orchestral scores, staff lines that only have rests are usually removed.
 This saves some space. This style is called `French Score'. 
 
 @syntax
 
-This is supported through the hara kiri@footnote{Hara kiri is the
-vulgar name for Seppuku, is the ritual suicide of the Japanese
-Samourai warriors.} staff. This staff commits suicide when it finds
-itself to be empty after the line-breaking process.  It will not
-disappear when it contains normal rests, you must use multi measure
-rests.
+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}, hara-kiri is
-switched on by default. For normal staffs, hara kiri is available as a
-specialized @internalsref{Staff} context, with the name identifier
-@code{\HaraKiriStaffContext}.  Observe how the second staff in this
+@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{\RemoveEmptyStaffContext}.  Observe how the second staff in this
 example disappears in the second line.
 
 @lilypond[verbatim]
@@ -3765,7 +4266,7 @@ example disappears in the second line.
   >
   \paper {
     linewidth = 6.\cm 
-    \translator { \HaraKiriStaffContext }
+    \translator { \RemoveEmptyStaffContext }
   }
 }
 @end lilypond
@@ -3797,7 +4298,7 @@ output.
 @cindex Petrucci
 @cindex mensural
 
-[TODO: write introduction on ancient notation]
+@c [TODO: write introduction on ancient notation]
 
 @menu
 * Ancient note heads::          
@@ -3833,35 +4334,13 @@ section @ref{Percussion staves}.  For the @code{TAB} clef, see section
 @ref{Tablatures}.
 
 The following table shows all ancient clefs that are supported via the
-@code{\clef} command.  Some of the clefs use the same glyph, but differ
-only with respect to the line they are printed on.  In such cases, a
-trailing number in the name is used to enumerate these clefs.  Still,
-you can manually force a clef glyph to be typeset on an arbitrary line,
-as described in section @ref{Clef}.  The note printed to the right side
-of each clef denotes the @code{c'} with respect to the 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'}
+@code{\clef} command.  Some of the clefs use the same glyph, but
+differ only with respect to the line they are printed on.  In such
+cases, a trailing number in the name is used to enumerate these clefs.
+Still, you can manually force a clef glyph to be typeset on an
+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.
 
 @multitable @columnfractions  .3 .3 .3 .1
 
@@ -3882,50 +4361,29 @@ modern style mensural C clef @tab
 @end lilypond
 
 @item
-@code{clefs-petrucci_c1} @tab
-petrucci style mensural C clef (specifically for use on 1st staffline) @tab
-@code{petrucci_c1} @tab
-@lilypond[relative 0, notime]
-\property Staff.TimeSignature \set #'transparent = ##t
-\clef "petrucci_c1" c
-@end lilypond
-
-@item
-@code{clefs-petrucci_c2} @tab
-petrucci style mensural C clef (specifically for use on 2nd staffline) @tab
-@code{petrucci_c2} @tab
+@code{clefs-petrucci_c1}
+@code{clefs-petrucci_c2}
+@code{clefs-petrucci_c3}
+@code{clefs-petrucci_c4}
+@code{clefs-petrucci_c5}
+
+@tab
+petrucci style mensural C clefs, for use  on different  stafflines
+(the examples shows the 2nd staffline C clef).
+
+@tab
+@code{petrucci_c1}
+@code{petrucci_c2}
+@code{petrucci_c3}
+@code{petrucci_c4}
+@code{petrucci_c5}
+
+@tab
 @lilypond[relative 0, notime]
 \property Staff.TimeSignature \set #'transparent = ##t
 \clef "petrucci_c2" c
 @end lilypond
 
-@item
-@code{clefs-petrucci_c3} @tab
-petrucci style mensural C clef (specifically for use on 3rd staffline) @tab
-@code{petrucci_c3} @tab
-@lilypond[relative 0, notime]
-\property Staff.TimeSignature \set #'transparent = ##t
-\clef "petrucci_c3" c
-@end lilypond
-
-@item
-@code{clefs-petrucci_c4} @tab
-petrucci style mensural C clef (specifically for use on 4th staffline) @tab
-@code{petrucci_c4} @tab
-@lilypond[relative 0, notime]
-\property Staff.TimeSignature \set #'transparent = ##t
-\clef "petrucci_c4" c
-@end lilypond
-
-@item
-@code{clefs-petrucci_c5} @tab
-petrucci style mensural C clef (specifically for use on 5th staffline) @tab
-@code{petrucci_c5} @tab
-@lilypond[relative 0, notime]
-\property Staff.TimeSignature \set #'transparent = ##t
-\clef "petrucci_c5" c
-@end lilypond
-
 @item
 @code{clefs-petrucci_f} @tab
 petrucci style mensural F clef @tab
@@ -4091,61 +4549,73 @@ of the first note(s) of the following line and thus helps the player
 or singer to manage line breaks during performance, thus enhancing
 readability of a score.
 
-Custodes were frequently used in music notation until the 17th century.
-There were different appearances for different notation styles.
-Nowadays, they have survived only in special forms of musical notation
-such as via the @emph{editio vaticana} dating back to the beginning of
-the 20th century.
-
-
+Custodes were frequently used in music notation until the 17th
+century.  Nowadays, they have survived only in a few particular forms
+of musical notation such as contemporary editions of Gregorian chant
+like the @emph{editio vaticana}.  There are different custos glyphs
+used in different flavours of notational style.
 
 For typesetting custodes, just put a @internalsref{Custos_engraver} into the
 @internalsref{Staff} context when declaring the @code{\paper} block,
 as shown in the following example.
+
 @example
 \paper @{
   \translator @{
-      \StaffContext
-      \consists Custos_engraver
-      Custos \override #'style = #'mensural
+     \StaffContext
+     \consists Custos_engraver
+     Custos \override #'style = #'mensural
   @}
 @}
 @end example
+
 The result looks like this:
+
 @lilypond
 \score {
-  \notes { c'1 \break
-        \property Staff.Custos \set #'style = #'mensural
-        d' }
-  \paper {
-    \translator {
-      \StaffContext
-      \consists Custos_engraver
+    \notes {
+       a'1
+       \property Staff.Custos \set #'style = #'mensural
+       \break
+       g'
+    }
+    \paper {
+       \translator {
+           \StaffContext
+           \consists Custos_engraver
+       }
+       linewidth = 4.0\cm
     }
-    linewidth = 4.0 \cm
-  }
 }
 @end lilypond
 
-The appearance of the custos symbol is controlled by it @code{style}
-property. The styles supported are @code{vaticana}, @code{medicaea},
-@code{hufnagel} and @code{mensural}. They are demonstrated in the
-following fragment:
+The custos glyph is selected by the @code{style} property. The styles
+supported are @code{vaticana}, @code{medicaea}, @code{hufnagel} and
+@code{mensural}.  They are demonstrated in the following fragment:
 
 @lilypond
 \score {
     \notes {
         \fatText
         s
-        ^\markup { \column << "vaticana" 
-                             { " " \musicglyph #"custodes-vaticana-u0" }  >>
-                  \column << "medicaea"
-                             { " " \musicglyph #"custodes-medicaea-u0" } >> 
-                  \column <<  "hufnagel"
-                              { " "\musicglyph #"custodes-hufnagel-u0" } >>
-                  \column <<  "mensural"
-                              { " " \musicglyph #"custodes-mensural-u0" } >>
-                  }
+        ^\markup {
+            \column <<
+                "vaticana" 
+                { " " \musicglyph #"custodes-vaticana-u0" }
+            >>
+           \column <<
+                "medicaea"
+               { " " \musicglyph #"custodes-medicaea-u0" }
+            >>
+           \column <<
+                "hufnagel"
+               { " " \musicglyph #"custodes-hufnagel-u0" }
+            >>
+            \column <<
+                "mensural"
+                { " " \musicglyph #"custodes-mensural-u0" }
+            >>
+        }
     }
     \paper {
        raggedright = ##t 
@@ -4169,13 +4639,12 @@ following fragment:
 If the boolean property @code{adjust-if-on-staffline} is set to
 @code{#t} (which it is by default), lily typesets slightly different
 variants of the custos glyph, depending on whether the custos, is
-typeset on or between stafflines.  The idea is that the glyph will
+typeset on or between stafflines.   The glyph will
 optically fit well into the staff, with the appendage on the right of
 the custos always ending at the same vertical position between two
 stafflines regardless of the pitch.  If you set
-@code{adjust-if-on-staffline} to @code{#f}, then lily takes regardless
-of the pitch always a glyph that is a compromise of the former two
-variants.
+@code{adjust-if-on-staffline} to @code{#f}, then
+a compromise between both forms is  used.
 
 Just like stems can be attached to noteheads in two directions
 @emph{up} and @emph{down}, each custos glyph is available with its
@@ -4278,14 +4747,15 @@ square bracket above the ligature.
 }
 @end lilypond
 
-To select a specific style of ligatures, a proper ligature engraver has
-to be added to the @internalsref{Voice} context, as explained in the
-following subsections.  Currently, Lilypond only supports white mensural
-ligatures with certain limitations.  Support for Editio Vaticana will be
-added in the future.
+To select a specific style of ligatures, a proper ligature engraver
+has to be added to the @internalsref{Voice} context, as explained in
+the following subsections.  Currently, only white mensural ligatures
+are supported with certain limitations.  Support for Editio Vaticana
+will be added in the future.
 
 @menu
 * White mensural ligatures::    
+* Gregorian square neumes ligatures::  
 @end menu
 
 @node White mensural ligatures
@@ -4299,19 +4769,40 @@ implementation is still experimental; it currently may output strange
 warnings or even crash in some cases or produce weird results on more
 complex ligatures.  To engrave white mensural ligatures, in the paper
 block the @internalsref{Mensural_ligature_engraver} has to be put into
-the @internalsref{Voice} context (and you probably want to remove the
-@internalsref{Ligature_bracket_engraver}).  There is no additional
-input language to describe the shape of a white mensural ligature.
-The shape is rather determined solely from the pitch and duration of
-the enclosed notes.  While this approach may take a new user a while
-to get accustomed, it has the great advantage that the full musical
-information of the ligature is known internally.  This is not only
-required for correct MIDI output, but also allows for automatic
-transcription of the ligatures.
+the @internalsref{Voice} context, and remove the
+@internalsref{Ligature_bracket_engraver}:
+
+@example
+    \paper @{
+       \translator @{
+           \VoiceContext
+           \remove Ligature_bracket_engraver
+           \consists Mensural_ligature_engraver
+       @}
+    @}
+@end example
+
+There is no additional input language to describe the shape of a
+white mensural ligature.  The shape is rather determined solely from
+the pitch and duration of the enclosed notes.  While this approach may
+take a new user a while to get accustomed, it has the great advantage
+that the full musical information of the ligature is known internally.
+This is not only required for correct MIDI output, but also allows for
+automatic transcription of the ligatures.
 
 Example:
 
-@lilypond[singleline,verbatim]
+@example
+       \property Score.timing = ##f
+       \property Score.defaultBarType = "empty"
+       \property Voice.NoteHead \set #'style = #'neo_mensural
+       \property Staff.TimeSignature \set #'style = #'neo_mensural
+       \clef "petrucci_g"
+       \[ g\longa c\breve a\breve f\breve d'\longa \]
+       s4
+       \[ e1 f1 a\breve g\longa \]
+@end example
+@lilypond[singleline]
 \score {
     \notes \transpose c c' {
        \property Score.timing = ##f
@@ -4352,68 +4843,1696 @@ to the following:
 }
 @end lilypond
 
-@node Figured bass
-@subsection Figured bass
-
-@cindex Basso continuo
+@node Gregorian square neumes ligatures
+@subsubsection Gregorian square neumes ligatures
 
-@c TODO: musicological blurb about FB
-
-@syntax
+@cindex Square neumes ligatures
+@cindex Gregorian square neumes ligatures
 
-LilyPond has limited support for figured bass:
+Gregorian square neumes notation (following the style of the Editio
+Vaticana) is under heavy development, but not yet really usable for
+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.
 
-@lilypond[verbatim,fragment]
-<
- \context Voice \notes { \clef bass dis4  c d ais}
- \context FiguredBass
-   \figures {
-    < 6 >4 < 7 >8 < 6+ [_!] >
-    < 6 >4 <6 5 [3+] >
-   }
- >
-@end lilypond
+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.
 
-The support for figured bass consists of two parts: there is an input
-mode, introduced by @code{\figures}, where you can enter bass figures
-as numbers, and there is a context called @internalsref{FiguredBass}
-that takes care of making @internalsref{BassFigure} objects.
+@multitable @columnfractions .4 .2 .2 .2
 
-In figures input mode, a group of bass figures is delimited by
-@code{<} and @code{>}. The duration is entered after the @code{>}.
-@example
-       <4 6>
-@end example
-@lilypond[fragment]
-\context FiguredBass
-\figures { <4 6> }
-@end lilypond
+@item
+@b{Neuma aut@*Neumarum Elementa} @tab
+@b{Figurae@*Rectae} @tab
+@b{Figurae@*Liquescentes Auctae} @tab
+@b{Figurae@*Liquescentes Deminutae}
 
-Accidentals are added to the numbers if you alterate them by
-appending @code{-}, @code{!}  and @code{+}.
+@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. --jr
 
-@example
-  <4- 6+ 7!>
-@end example
-@lilypond[fragment]
-  \context FiguredBass
-    \figures { <4- 6+ 7!> }
-@end lilypond
+@c why not make identifiers in ly/engraver-init.ly? --hwn
 
-Spaces or dashes may be inserted by using @code{_}. Brackets are
-introduced with @code{[} and @code{]}.
+@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
 
-@example
-       < [4 6] 8 [_ 12]>
-@end example
-@lilypond[fragment]
- \context FiguredBass
-\figures { < [4 6] 8 [_ 12]> }
-@end lilypond
+@item
+@code{1. Punctum}
+@tab
+@lilypond[noindent, 26pt, nofragment, linewidth=1.5cm]
+\include "gregorian-init.ly"
+\score {
+    \notes \transpose c c' {
+        % Punctum
+        \[ b \]
+        \noBreak s^\markup {"a"} \noBreak
 
-Although the support for figured bass may superficially resemble chord
-support, it works much simpler.  The @code{\figures} mode simply
-stores the numbers , and @internalsref{FiguredBass} context prints
+        % Punctum Inclinatum
+        \[ \inclinatum b \]
+        \noBreak s^\markup {"b"}
+    }
+    \paper {
+        interscoreline = 1
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@end lilypond
+@tab
+
+@item
+@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
+        \translator {
+            \ScoreContext
+            \remove "Bar_number_engraver"
+        }
+        \translator {
+            \StaffContext
+            \remove "Clef_engraver"
+            \remove "Key_engraver"
+            StaffSymbol \set #'transparent = ##t
+            \remove "Time_signature_engraver"
+            \remove "Bar_engraver"
+            minimumVerticalExtent = ##f
+        }
+        \translator {
+            \VoiceContext
+            \remove Ligature_bracket_engraver
+            \consists Vaticana_ligature_engraver
+            NoteHead \set #'style = #'vaticana_punctum
+            Stem \set #'transparent = ##t
+        }
+    }
+}
+@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
+
+Scandicus Deminutus: Punctum Auctum Ascendens overlaps with
+Semivocalis head; this looks awful.
+
+Trigonus: apply equal spacing, regardless of pitch.
+
+@node Figured bass
+@subsection Figured bass
+
+@cindex Basso continuo
+
+@c TODO: musicological blurb about FB
+
+@syntax
+
+LilyPond has limited support for figured bass:
+
+@lilypond[verbatim,fragment]
+<
+ \context Voice \notes { \clef bass dis4  c d ais}
+ \context FiguredBass
+   \figures {
+    < 6 >4 < 7 >8 < 6+ [_!] >
+    < 6 >4 <6 5 [3+] >
+   }
+ >
+@end lilypond
+
+The support for figured bass consists of two parts: there is an input
+mode, introduced by @code{\figures}, where you can enter bass figures
+as numbers, and there is a context called @internalsref{FiguredBass}
+that takes care of making @internalsref{BassFigure} objects.
+
+In figures input mode, a group of bass figures is delimited by
+@code{<} and @code{>}. The duration is entered after the @code{>}.
+@example
+       <4 6>
+@end example
+@lilypond[fragment]
+\context FiguredBass
+\figures { <4 6> }
+@end lilypond
+
+Accidentals are added to the numbers if you alterate them by
+appending @code{-}, @code{!}  and @code{+}.
+
+@example
+  <4- 6+ 7!>
+@end example
+@lilypond[fragment]
+  \context FiguredBass
+    \figures { <4- 6+ 7!> }
+@end lilypond
+
+Spaces or dashes may be inserted by using @code{_}. Brackets are
+introduced with @code{[} and @code{]}.
+
+@example
+       < [4 6] 8 [_ 12]>
+@end example
+@lilypond[fragment]
+ \context FiguredBass
+\figures { < [4 6] 8 [_ 12]> }
+@end lilypond
+
+Although the support for figured bass may superficially resemble chord
+support, it works much simpler.  The @code{\figures} mode simply
+stores the numbers , and @internalsref{FiguredBass} context prints
 them as entered. There is no conversion to pitches, and no
 realizations of the bass are played in the MIDI file.
 
@@ -4423,7 +6542,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
@@ -4439,7 +6558,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.
 
 
@@ -4478,15 +6597,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
@@ -4502,14 +6619,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.
 
@@ -4564,10 +6679,9 @@ such as fermatas to a @code{\notes@{@}} block.
 @node Tuning output
 @section Tuning output
 
-As much formatting as possible is performed
-automatically. Nevertheless, there are situations where LilyPond needs
-some help, or where you want to override its decisions. In this
-section we discuss ways to do just that.
+There are situations where default layout decisions are not
+sufficient.  In this section we discuss ways to override these
+defaults.
 
 Formatting is internally done by manipulating so called objects (graphic
 objects). Each object carries with it a set of properties (object
@@ -4576,17 +6690,21 @@ properties that specify its direction, length and thickness.
 
 The most direct way of tuning the output is by altering the values of
 these properties. There are two ways of doing that: first, you can
-temporarily change the definition of a certain type of object, thus
+temporarily change the definition of one type of object, thus
 affecting a whole set of objects.  Second, you can select one specific
 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 
 
@@ -4594,11 +6712,11 @@ 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
-        (thickness . 0.8)
+        (thickness . 1.3)
         (beamed-lengths . (0.0 2.5 2.0 1.5))
         (Y-extent-callback . ,Stem::height)
         @var{...}
@@ -4606,7 +6724,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
@@ -4616,11 +6734,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
@@ -4637,16 +6755,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.
@@ -4654,7 +6772,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: 
@@ -4666,20 +6784,20 @@ c'4
 @end lilypond
 
 The following example gives exactly the same result as the previous
-one (assuming the system default for stem thickness is 0.8).
+one (assuming the system default for stem thickness is 1.3).
 @c
 @lilypond[verbatim,quote]
   c'4 \property Voice.Stem \set #'thickness = #4.0
   c'4
-  c'4 \property Voice.Stem \set #'thickness = #0.8
+  c'4 \property Voice.Stem \set #'thickness = #1.3
   c'4
 @end lilypond
 
-If you revert a setting which was not set in the first place, then it
-has no effect. However, if the setting was set as a system default, it
-may remove the default value, and this may give surprising results,
+Reverting a setting which was not set in the first place has no
+effect. However, if the setting was set as a system default, this may
+remove the default value, and this may give surprising results,
 including crashes.  In other words, @code{\override} and
-@code{\revert}, must be carefully balanced.
+@code{\revert} must be carefully balanced.
 
 These are examples of correct nesting of @code{\override}, @code{\set},
 @code{\revert}. 
@@ -4722,15 +6840,194 @@ 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
 
-LilyPond will hang or crash if @var{value} contains cyclic references.
-The backend is not very strict in type-checking object properties. If you
-@code{\revert} properties that are expected to be set by default,
-LilyPond may crash.
+The backend is not very strict in type-checking object properties.
+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
+
+The most versatile way of tuning object is @code{\applyoutput}. Its
+syntax is
+@example
+\applyoutput @var{proc}
+@end example
+where @var{proc} is a Scheme function, taking four arguments.
+
+When interpreted, the function @var{proc} is called for every layout object found
+in the context, with the following arguments:
+@itemize @bullet
+@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 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.
 
 
 @node Outputproperty
@@ -4738,7 +7035,7 @@ LilyPond may crash.
 
 @cindex \outputproperty
 
-A second way of tuning objects is the more arcane @code{\outputproperty}
+Another way of tuning objects is the more arcane @code{\outputproperty}
 feature.  The syntax is as follows:
 @example
 \outputproperty @var{predicate} @var{symbol} = @var{value}
@@ -4809,9 +7106,8 @@ All three mechanisms work for every object that supports
 @item font-family
  A symbol indicating the general class of the typeface.  Supported are
 @code{roman} (Computer Modern), @code{braces} (for piano staff
-braces), @code{music} (the standard music font), @code{ancient} (the
-ancient notation font) @code{dynamic} (font for dynamic signs) and
-@code{typewriter}. 
+braces), @code{music} (the standard music font, including ancient
+glyphs), @code{dynamic} (for dynamic signs) and @code{typewriter}.
   
 @item font-shape
   A symbol indicating the shape of the font, there are typically several
@@ -4829,8 +7125,8 @@ and @code{bold}.
   height, and relative size +1 corresponds to 23 pt staff height.
 
    There are small differences in design between fonts designed for
-different sizes, hence font-relative-size is the preferred way to
-change a font size.
+different sizes, hence @code{font-relative-size} is preferred over
+@code{font-magnification} for changing font sizes.
 
 
 @item font-design-size
@@ -4852,14 +7148,20 @@ 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.
+
+@refcommand tiny  
+@refcommand small  
+@refcommand normalsize
 
 @refbugs
 
 Relative size is not linked to any real size.
 
 There is no style sheet provided for other fonts besides the @TeX{}
-family, and the style sheet can not be modified easily.
+family, and the style sheet cannot be modified easily.
 
 @cindex font selection
 @cindex font magnification
@@ -4930,8 +7232,11 @@ with the commands @code{\larger} and @code{\smaller}.
 The following font change commands are defined:
 @table @code
 @item \dynamic
-This changes to the font used for dynamic signs. Note that this font
-does not contain all characters of the alphabet.
+This changes to the font used for dynamic signs.  This font does not
+contain all characters of the alphabet, so when producing ``piu f'',
+the ``piu'' should be done in a different font.
+
+
 @item \number
 This changes to the font used for time signatures. It only contains
 numbers and a few punctuation marks.
@@ -4984,14 +7289,20 @@ 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 \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
 This produces a invisible object taking horizontal space.
 @example 
 \markup @{ A \hspace #2.0 B @} 
 @end example
-will put extra space between A and B. Note that lilypond 
-inserts space before and after @code{\hspace}. 
+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
@@ -5024,7 +7335,7 @@ A \magnify #1.1 @{ A @} A
 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
 
@@ -5041,30 +7352,11 @@ their center lines.
  c1^\markup { \line << a b c >> }
 @end lilypond
 
-The markup mechanism is very flexible and extensible.  Refer to
+The markup mechanism is extensible.  Refer to
 @file{scm/new-markup.scm} for more information on extending the markup
 mode.
 
-@cindex metronome mark
-
-One practical application of complicated markup is to fake a metronome
-marking:
 
-@lilypond[verbatim]
-eighthStem = \markup \combine
-       \musicglyph #"flags-stem"
-       \translate #'(0.0 . 3.5) \musicglyph #"flags-u3"
-eighthNote = \markup
-       \override #'(word-space . 0.0)
-       { \musicglyph #"noteheads-2"
-         \translate #'(-0.05 . 0.1) \eighthStem }
-
-\score {
-  \notes\relative c'' {
-    a1^\markup { \magnify #0.9 \eighthNote " = 64" }
-  }
-}
-@end lilypond
 
 @seealso
 
@@ -5074,8 +7366,10 @@ eighthNote = \markup
 
 @cindex kerning
 
-LilyPond does not account for kerning in its text formatting, so it
-spaces texts slightly too wide.
+
+Text layout is ultimately done by @TeX{}, which does kerning of
+letters.  LilyPond does not account for kerning, so texts will be
+spaced slightly too wide.
 
 Syntax errors for markup mode are confusing.
 
@@ -5084,20 +7378,23 @@ Syntax errors for markup mode are confusing.
 @section Global layout
 
 The global layout determined by three factors: the page layout, the
-line breaks and the spacing. These all influence each other: The
+line breaks and the spacing. These all influence each other. The
 choice of spacing determines how densely each system of music is set,
-where line breaks breaks are chosen, and thus ultimately how many
-pages a piece of music takes. In this section we will explain how the
-lilypond spacing engine works, and how you can tune its results.
+which influences where line breaks breaks are chosen, and thus
+ultimately how many pages a piece of music takes. In this section, the
+algorithm for spacing music is explained, and how spacing can be
+tuned.
 
 Globally spoken, this procedure happens in three steps: first,
 flexible distances (``springs'') are chosen, based on durations. All
 possible line breaking combination are tried, and the one with the
 best results---a layout that has uniform density and requires as
 little stretching or cramping as possible---is chosen. When the score
-is processed by @TeX{}, page are filled with systems, and page breaks
+is processed by @TeX{}, each page is filled with systems, and page breaks
 are chosen whenever the page gets full.
 
+
+
 @menu
 * Vertical spacing::            
 * Horizontal spacing::          
@@ -5133,20 +7430,17 @@ set
 This sets the vertical size of the current staff to 4 staff-space on
 either side of the center staff line.  The argument of
 @code{minimumVerticalExtent} is interpreted as an interval, where the
-center line is the 0, so the first number is generally negative.  you
-could also make the staff larger at the bottom by setting it to
-@code{(-6 . 4)}. The default value is @code{(-6 . 6)}.
-
-Vertical aligment of staves is handled by the
-@internalsref{VerticalAlignment} object, which lives at
-@internalsref{Score} level.
+center line is the 0, so the first number is generally negative.  The
+staff can be made larger at the bottom by setting it to @code{(-6
+. 4)}.
 
 The piano staves are handled a little differently: to make cross-staff
 beaming work correctly, it necessary that the distance between staves
-is fixed.  This is also done with a @internalsref{VerticalAlignment}
-object, created in @internalsref{PianoStaff}, but a forced distance is
-set. This is done with the object property #'forced-distance. If you
-want to override this, use a @code{\translator} block as follows:
+is fixed beforehand.  This is also done with a
+@internalsref{VerticalAlignment} object, created in
+@internalsref{PianoStaff}. In this object the distance between the
+staves is fixed by setting @code{forced-distance}. If you want to
+override this, use a @code{\translator} block as follows:
 @example
   \translator @{
     \PianoStaffContext
@@ -5154,7 +7448,12 @@ want to override this, use a @code{\translator} block as follows:
   @}
 @end example
 This would bring the staves together at a distance of 9 staff spaces,
-and again this is measured from the center line of each staff.
+measured from the center line of each staff.
+
+@seealso
+
+Vertical aligment of staves is handled by the
+@internalsref{VerticalAlignment} object.
 
 
 
@@ -5163,30 +7462,30 @@ and again this is measured from the center line of each staff.
 
 The spacing engine translates differences in durations into
 stretchable distances (``springs'') of differing lengths. Longer
-durations get more space, shorter durations get less.  The basis for
-assigning spaces to durations, is that the shortest durations get a
-fixed amount of space, and the longer durations get more: doubling a
-duration adds a fixed amount of space to the note.
+durations get more space, shorter durations get less.  The shortest
+durations get a fixed amount of space (which is controlled by
+@code{shortest-duration-space} in the @internalsref{SpacingSpanner}
+object). The longer the duration, the more space it gets: doubling a
+duration adds a fixed amount (this amount is controlled by
+@code{spacing-increment}) of space to the note.
 
 For example, the following piece contains lots of half, quarter and
-8th notes, the eighth note is followed by 1 note head width. The The
-quarter note is followed by 2 NHW, the half by 3 NHW, etc.
-@lilypond[fragment, verbatim, relative=1]
- c2 c4. c8 c4. c8 c4. c8 c8 c8 c4 c4 c4
+8th notes, the eighth note is followed by 1 note head width (NHW). 
+The quarter note is followed by 2 NHW, the half by 3 NHW, etc.
+@lilypond[fragment, verbatim, relative=1] c2 c4. c8 c4. c8 c4. c8 c8
+c8 c4 c4 c4
 @end lilypond
 
-These two amounts of space are @code{shortest-duration-space}
-@code{spacing-increment}, object properties of
-@internalsref{SpacingSpanner}. Normally @code{spacing-increment} is
-set to 1.2, which is the width of a note head, and
-@code{shortest-duration-space} is set to 2.0, meaning that the
-shortest note gets 2 noteheads of space. For normal notes, this space
-is always counted from the left edge of the symbol, so the short notes
-in a score is generally followed by one note head width of space.
+Normally, @code{shortest-duration-space} is set to 1.2, which is the
+width of a note head, and @code{shortest-duration-space} is set to
+2.0, meaning that the shortest note gets 2 NHW (2 times
+@code{shortest-duration-space}) of space. For normal notes, this space
+is always counted from the left edge of the symbol, so the shortest
+notes are generally followed by one NHW of space.
 
 If one would follow the above procedure exactly, then adding a single
 32th note to a score that uses 8th and 16th notes, would widen up the
-entire score a lot. The shortest note is no longer a 16th, but a 64th,
+entire score a lot. The shortest note is no longer a 16th, but a 32nd,
 thus adding 2 noteheads of space to every note. To prevent this, the
 shortest duration for spacing is not the shortest note in the score,
 but the most commonly found shortest note.  Notes that are even
@@ -5195,8 +7494,8 @@ duration relative to the common shortest note.  So if we were to add
 only a few 16th notes to the example above, they would be followed by
 half a NHW:
 
-@lilypond[fragment, verbatim, relative=1]
- c2 c4. c8 c4. [c16 c] c4. c8 c8 c8 c4 c4 c4
+@lilypond[fragment, verbatim, relative=2]
+ c2 c4. c8 c4. c16-[ c-] c4. c8 c8 c8 c4 c4 c4
 @end lilypond
 
 The most common shortest duration is determined as follows: in every
@@ -5216,11 +7515,13 @@ through @code{base-shortest-duration}.
 @cindex @code{spacing}
 
 In the introduction it was explained that stem directions influence
-spacing. This is controlled with @code{stem-spacing-correction} in
-@internalsref{NoteSpacing}. The @code{StaffSpacing} object contains the
-same property for controlling the stem/barline spacing. In the
-following example shows these corrections, once with default settings,
-and once with exaggerated corrections.  
+spacing. This is controlled with @code{stem-spacing-correction}
+property in @internalsref{NoteSpacing}, which are generated for every
+@internalsref{Voice} context. The @code{StaffSpacing} object
+(generated at @internalsref{Staff} context) contains the same property
+for controlling the stem/barline spacing. The following example
+shows these corrections, once with default settings, and once with
+exaggerated corrections.
 
 @lilypond
     \score { \notes {
@@ -5238,8 +7539,9 @@ and once with exaggerated corrections.
 
 @cindex SpacingSpanner, overriding properties
 
-The @internalsref{SpacingSpanner}, is score wide, so its properties
-must be overriden from the @code{\paper} block, e.g.
+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
 \paper @{ \translator  @{
   \ScoreContext
@@ -5261,22 +7563,7 @@ changes its character (measured in durations) halfway during the
 score, the part containing the longer durations will be spaced too
 widely.
 
-Generating optically pleasing spacing is black magic. LilyPond tries
-to deal with a number of frequent cases. Here is an example that is
-not handled correctly, due to the combination of chord collisions and
-kneed stems.
-
-@lilypond
-\score {
-     \context PianoStaff \notes \transpose c c'' <
-     \context Staff = up { s1 }
-     \context Staff = down { [c8 c \translator Staff=up <<c d>> c 
-\translator Staff=down c c c] }
-     >
-     \paper { raggedright = ##t }
-}
-@end lilypond
-
+There is no convenient mechanism to manually override spacing.
 
 
 
@@ -5287,14 +7574,14 @@ kneed stems.
 @cindex @code{paper} file
 
 The Feta font provides musical symbols at seven different sizes.
-These fonts are 11 point, 13 point, 16 point, 19 pt, 20 point, 23
-point, and 26 point.  The point size of a font is the height of the
-five lines in a staff when displayed in the font.
+These fonts are 11 point, 13 point, 16 point, 20 point, 23 point, and
+26 point.  The point size of a font is the height of the corresponding
+staff (excluding line thicknesses).
 
 Definitions for these sizes are the files @file{paperSZ.ly}, where
-@code{SZ} is one of 11, 13, 16, 19, 20, 23 and 26.  If you include any
-of these files, the identifiers @code{paperEleven},
-@code{paperThirteen}, @code{paperSixteen}, @code{paperNineteen},
+@code{SZ} is one of 11, 13, 16, 20, 23 and 26.  If you include any
+of these files, the variables @code{paperEleven},
+@code{paperThirteen}, @code{paperSixteen}, 
 @code{paperTwenty}, @code{paperTwentythree}, and @code{paperTwentysix}
 are defined respectively.  The default @code{\paper} block is also
 set. These files should be imported at toplevel, i.e.
@@ -5315,15 +7602,15 @@ details, see the file @file{scm/font.scm}.
 @cindex breaking lines
 
 Line breaks are normally computed automatically. They are chosen such
-that it looks neither cramped nor loose, and that consecutive lines have
-similar density.
+that lines look neither cramped nor loose, and that consecutive lines
+have similar density.
 
 Occasionally you might want to override the automatic breaks; you can
 do this by  specifying @code{\break}. This will force a line break at
 this point.  Line breaks can only occur at places where there are bar
 lines.  If you want to have a line break where there is no bar line,
 you can force an invisible bar line by entering @code{\bar
-""}. Similarly, @code{\noBreak} forbids a line break at a certain
+""}. Similarly, @code{\noBreak} forbids a line break at a 
 point.
 
 
@@ -5332,8 +7619,8 @@ point.
 
 If you want linebreaks at regular intervals, you can use the following:
 @example
-<  \repeat 7 unfold @{ s1 * 4 \break  @}
-   @emph{real music}
+<  \repeat unfold 7 @{ s1 * 4 \break  @}
+   @emph{the real music}
 > 
 @end  example
 This makes the following 28 measures (assuming 4/4 time) be broken every
@@ -5366,35 +7653,38 @@ spacing is.
 @cindex page layout
 @cindex vertical spacing
 
-The page layout process happens outside lilypond. Ly2dvi sets page
-layout instructions. Ly2dvi responds to the following variables in the
-@code{\paper} block.  The variable @code{textheight} sets the total
-height of the music on each page.  The spacing between systems is
-controlled with @code{interscoreline}, its default is 16pt.
-The distance between the score lines will stretch in order to fill the
-full page @code{interscorelinefill} is set to a positive number.  In
-that case @code{interscoreline} specifies the minimum spacing.
+The page layout process happens outside the LilyPond formatting
+engine: variables controlling page layout are passed to the output,
+and are further interpreted by @code{ly2dvi}. @code{ly2dvi} responds
+to the following variables in the @code{\paper} block.  The variable
+@code{textheight} sets the total height of the music on each page.
+The spacing between systems is controlled with @code{interscoreline},
+its default is 16pt.  The distance between the score lines will
+stretch in order to fill the full page @code{interscorelinefill} is
+set to a positive number.  In that case @code{interscoreline}
+specifies the minimum spacing.
 
 @cindex @code{textheight}
 @cindex @code{interscoreline}
 @cindex @code{interscorelinefill}
 
-If the variable @code{lastpagefill} is defined (that is, it gets any
-value assigned in the @code{\paper} block), systems are evenly
-distributed vertically on the last page.  This might produce ugly
-results in case there are not enough systems on the last page.  Note
-that @command{lilypond-book} ignores @code{lastpagefill}.  See
-@ref{Integrating text and music with lilypond-book} for
-more information.
+If the variable @code{lastpagefill} is defined,
+@c fixme: this should only be done if lastpagefill == #t 
+systems are evenly distributed vertically on the last page.  This
+might produce ugly results in case there are not enough systems on the
+last page.  The @command{lilypond-book} command ignores
+@code{lastpagefill}.  See @ref{lilypond-book manual} for more
+information.
 
 @cindex @code{lastpagefill}
 
 Page breaks are normally computed by @TeX{}, so they are not under
 direct control of LilyPond.  However, you can insert a commands into
-the @file{.tex} output to instruct @TeX{} where to break pages. You
-can insert a @code{\newpage} from within lilypond. This is done by
-setting the @code{between-systems-strings} on the
+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
@@ -5416,6 +7706,22 @@ will set the paper variables @code{hsize} and @code{vsize} (used by
 Lilypond and @code{ly2dvi})
 
 
+@refcommands
+
+@refcommand newpage 
+
+
+@seealso
+
+@ref{Invoking ly2dvi},
+@inputfileref{input/regression,between-systems.ly},
+@internalsref{NonMusicalPaperColumn}.
+
+@refbugs
+
+There is no concept of page breaking, which makes it difficult to
+choose sensible page breaks in multi-page pieces.
+
 
 
 
@@ -5423,25 +7729,25 @@ Lilypond and @code{ly2dvi})
 @section Sound
 @cindex Sound
 
-LilyPond can produce MIDI output.  The performance lacks lots of
-interesting effects, such as swing, articulation, slurring, etc., but it
-is good enough for proof-hearing the music you have entered.  Ties,
-dynamics and tempo changes are interpreted.
+Entered music can also be converted to MIDI output.  The performance
+is good enough for proof-hearing the music for errors.
 
-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 the volume vary
-linearly between their two extremities.  The fractions be adjusted by
-overriding the @code{absolute-volume-alist} defined in
-@file{scm/midi.scm}.
+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
+@code{dynamicAbsoluteVolumeFunction} in @internalsref{Voice} context.
+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
 
-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.  You can add
-instruments and ranges or change the default settings by overriding the
-@code{instrument-equalizer-alist} defined in @file{scm/midi.scm}.
+Many musically interesting effects, such as swing, articulation,
+slurring, etc., are not translated to MIDI.
 
-Both loudness controls are combined to produce the final  MIDI volume. 
 
 @menu
 * MIDI block::                  
@@ -5459,8 +7765,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.