]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/rhythms.itely
Merge branch 'master' of ssh://jneem@git.sv.gnu.org/srv/git/lilypond into tmp
[lilypond.git] / Documentation / user / rhythms.itely
index 859c70b2933cefe8b381d3422a0497b4172d163a..435210b4a65d54d29b7527e5f98e5eb620ab650f 100644 (file)
@@ -6,6 +6,8 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.61"
+
 @node Rhythms
 @section Rhythms
 
 This section discusses rhythms, rests, durations, beaming and bars.
 
 @menu
-* Writing rhythms::             
-* Writing rests::               
-* Displaying rhythms::          
-* Beams::                       
-* Bars::                        
-* Special rhythmic concerns::   
+* Writing rhythms::
+* Writing rests::
+* Displaying rhythms::
+* Beams::
+* Bars::
+* Special rhythmic concerns::
 @end menu
 
 
@@ -27,14 +29,14 @@ This section discusses rhythms, rests, durations, beaming and bars.
 @subsection Writing rhythms
 
 @menu
-* Durations::                   
-* Tuplets::                     
-* Scaling durations::           
-* Ties::                        
+* Durations::
+* Tuplets::
+* Scaling durations::
+* Ties::
 @end menu
 
 @node Durations
-@subsubsection Durations
+@unnumberedsubsubsec Durations
 
 @cindex durations, of notes
 @cindex note durations
@@ -53,7 +55,7 @@ Durations as short as 64th notes may be specified.  Shorter values
 are possible, but only as beamed notes.
 
 @c Two 64th notes are needed to obtain beams
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 8/1
 c\longa c\breve c1 c2
 c4 c8 c16 c32 c64 c64
@@ -64,7 +66,7 @@ Here are the same durations with automatic beaming turned off.
 
 @c not strictly "writing rhythms"; more of a "displaying" thing,
 @c but it's ok here.  -gp
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 8/1
 \autoBeamOff
 c\longa c\breve c1 c2
@@ -79,7 +81,7 @@ If the duration is omitted, it is set to the previously
 entered duration.  The default for the first note is a quarter
 note.
 
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
 a a a2 a a4 a a1 a
 @end lilypond
 
@@ -92,7 +94,7 @@ To obtain dotted note lengths, place a dot (@code{.}) after the
 duration.  Double-dotted notes are specified by appending two
 dots, and so on.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 a4 b c4. b8 a4. b4.. c8.
 @end lilypond
 
@@ -112,20 +114,20 @@ proportional notation, see @ref{Proportional notation}.
 @funindex \dotsNeutral
 
 Dots are normally moved up to avoid staff lines, except in
-polyphonic situations.  Predefined commands are available to 
+polyphonic situations.  Predefined commands are available to
 force a particular direction manually, for details
-see @ref{Controlling direction and placement}.
+see @ref{Direction and placement}.
 
-@predefined
 
+@predefined
 @code{\autoBeamOff},
 @code{\dotsUp},
 @code{\dotsDown},
 @code{\dotsNeutral}.
+@endpredefined
 
 
 @seealso
-
 Music Glossary:
 @rglos{breve},
 @rglos{longa},
@@ -141,11 +143,12 @@ Notation Reference:
 @ref{Ancient notation},
 @ref{Proportional notation}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}.
+Snippets:
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{Dots},
-@internalsref{DotColumn}.
+@rinternals{Dots},
+@rinternals{DotColumn}.
 
 
 @knownissues
@@ -157,7 +160,7 @@ rests from 128th to maxima (8 x whole) may be printed.
 
 
 @node Tuplets
-@subsubsection Tuplets
+@unnumberedsubsubsec Tuplets
 
 @cindex tuplets
 @cindex triplets
@@ -177,10 +180,9 @@ under the notes, optionally with a bracket.  The most common
 tuplet is the triplet in which 3 notes have the duration of 2, so
 the notes are 2/3 of their written length.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 a2 \times 2/3 { b4 b b }
 c4 c \times 2/3 { b4 a g }
-
 @end lilypond
 
 @funindex \tupletUp
@@ -189,11 +191,11 @@ c4 c \times 2/3 { b4 a g }
 
 The automatic placement of the tuplet bracket above or below the
 notes may be overridden manually with predefined commands, for
-details see @ref{Controlling direction and placement}.
+details see @ref{Direction and placement}.
 
 Tuplets may be nested:
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \autoBeamOff
 c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 |
 @end lilypond
@@ -204,11 +206,12 @@ must be done with @code{\tweak}.
 To modify the duration of notes without printing a tuplet bracket,
 see @ref{Scaling durations}.
 
-@predefined
 
+@predefined
 @code{\tupletUp},
 @code{\tupletDown},
 @code{\tupletNeutral}.
+@endpredefined
 
 
 @snippets
@@ -219,19 +222,19 @@ see @ref{Scaling durations}.
 @funindex tupletNumberFormatFunction
 @funindex tupletSpannerDuration
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {entering-several-tuplets-using-only-one--times-command.ly}
 
 @funindex TupletNumber
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {changing-the-tuplet-number.ly}
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {permitting-line-breaks-within-beamed-tuplets.ly}
 
-@seealso
 
+@seealso
 Music Glossary:
 @rglos{triplet},
 @rglos{tuplet},
@@ -242,32 +245,32 @@ Learning Manual: @rlearning{Tweaking methods}.
 Notation Reference:
 @ref{Time administration},
 @ref{Scaling durations},
-@ref{Objects connected to the input},
+@ref{The tweak command},
 @ref{Polymetric notation}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}.
+Snippets:
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{TupletBracket},
-@internalsref{TupletNumber},
-@internalsref{TimeScaledMusic}.
+@rinternals{TupletBracket},
+@rinternals{TupletNumber},
+@rinternals{TimeScaledMusic}.
+
 
 @knownissues
 @cindex grace notes within tuplet brackets
-When the very first note on a staff is a grace note followed by a
+When the first note on a staff is a grace note followed by a
 tuplet the grace note must be placed before the @code{\times}
 command to avoid errors.  Anywhere else, grace notes may be
 placed within tuplet brackets.
 
 
 @node Scaling durations
-@subsubsection Scaling durations
+@unnumberedsubsubsec Scaling durations
 
 @cindex scaling durations
 @cindex durations, scaling
 
-TODO Change \compressMusic to \scaleDurations when implemented.
-
 You can alter the duration of single notes, rests or chords by a
 fraction @code{N/M} by appending @code{*N/M} (or @code{*N} if
 @code{M} is 1) to the duration.
@@ -279,7 +282,7 @@ output.  Multiplying factors may be combined such as @code{*L*M/N}.
 In the following example, the first three notes take up exactly
 two beats, but no triplet bracket is printed.
 
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \time 2/4
 % Alter durations to triplets
 a4*2/3 gis4*2/3 a4*2/3
@@ -296,34 +299,26 @@ a multiplier.  This is useful for skipping many measures, e.g.,
 @code{s1*23}.
 
 @cindex compressing music
-@funindex \compressMusic
+@funindex \scaleDurations
 
-Longer stretches of music may be compressed by a fraction in
-the same way, as if every note, chord or rest had the fraction
-as a multiplier.  The general syntax of the command to do this
-is:
-
-@example
-\compressMusic #'(@emph{num} . @emph{den}) @{ @emph{music} @}
-@end example
-
-@noindent
-This will leave the appearance of @emph{music} unchanged but
+Longer stretches of music may be compressed by a fraction in the
+same way, as if every note, chord or rest had the fraction as a
+multiplier.  This leaves the appearance of the music unchanged but
 the internal duration of the notes will be multiplied by the
-fraction @emph{num}/@emph{den}.  The spaces around the dot
-are required.  Here is an example showing how music can be
-compressed and expanded:
+fraction @emph{num}/@emph{den}.  The spaces around the dot are
+required.  Here is an example showing how music can be compressed
+and expanded:
 
-@lilypond[quote,fragment,relative=2,ragged-right,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \time 2/4
 % Normal durations
 <c a>4 c8 a
 % Scale music by *2/3
-\compressMusic #'(2 . 3) {
+\scaleDurations #'(2 . 3) {
   <c a f>4. c8 a f
 }
 % Scale music by *2
-\compressMusic #'(2 . 1) {
+\scaleDurations #'(2 . 1) {
   <c' a>4 c8 b
 }
 @end lilypond
@@ -334,17 +329,17 @@ notation, see @ref{Polymetric notation}.
 
 
 @seealso
-
 Notation Reference:
 @ref{Tuplets},
-@ref{Skips},
+@ref{Invisible rests},
 @ref{Polymetric notation}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
 
 @node Ties
-@subsubsection Ties
+@unnumberedsubsubsec Ties
 
 @cindex tie
 @funindex ~
@@ -359,8 +354,8 @@ duration, similar to the augmentation dot.}
 
 A tie is entered using the tilde symbol @code{~}
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-e' ~ e'
+@lilypond[quote,verbatim,relative=2]
+a2 ~ a
 @end lilypond
 
 
@@ -369,7 +364,7 @@ Ties are used either when the note crosses a bar line, or when
 dots cannot be used to denote the rhythm.  Ties should also be
 used when note values cross larger subdivisions of the measure:
 
-@lilypond[fragment,quote,ragged-right]
+@lilypond[verbatim,quote]
 \relative c' {
   r8 c8 ~ c2 r4 |
   r8^"not" c2 ~ c8 r4
@@ -389,7 +384,7 @@ match are connected.  When no note heads match, no ties will be
 created.  Chords may be partially tied by placing the tie inside
 the chord.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
+@lilypond[quote,verbatim,relative=1]
 <c e g> ~ <c e g>
 <c~ e g~ b> <c e g b>
 @end lilypond
@@ -403,7 +398,7 @@ the chord.
 When a second alternative of a repeat starts with a tied note, you
 have to specify the repeated tie as follows:
 
-@lilypond[fragment,quote,ragged-right,relative=2,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \repeat volta 2 { c g <c e>2 ~ }
 \alternative {
   % First alternative: following note is tied normally
@@ -421,8 +416,8 @@ notes must not be damped at the end.  It is used in notation for
 piano, harp and other string and percussion instruments.  They can
 be entered as follows:
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
-<c f g>\laissezVibrer
+@lilypond[quote,verbatim,relative=1]
+<c f g>1\laissezVibrer
 @end lilypond
 
 @cindex ties, placement
@@ -432,7 +427,7 @@ be entered as follows:
 
 The vertical placement of ties may be controlled, see
 Predefined commands, or for details, see
-@ref{Controlling direction and placement}.
+@ref{Direction and placement}.
 
 @cindex ties, appearance
 @funindex \tieDotted
@@ -444,39 +439,39 @@ commands.
 
 
 @predefined
-
 @code{\tieUp},
 @code{\tieDown},
 @code{\tieNeutral},
 @code{\tieDotted},
 @code{\tieDashed},
 @code{\tieSolid}.
+@endpredefined
 
 
 @snippets
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {using-ties-with-arpeggios.ly}
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {engraving-ties-manually.ly}
 
 
 @seealso
-
 Music Glossary:
 @rglos{tie},
 @rglos{laissez vibrer}.
 
 Notation Reference: @ref{Automatic note splitting}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{LaissezVibrerTie},
-@internalsref{LaissezVibrerTieColumn},
-@internalsref{TieColumn},
-@internalsref{Tie}.
+@rinternals{LaissezVibrerTie},
+@rinternals{LaissezVibrerTieColumn},
+@rinternals{TieColumn},
+@rinternals{Tie}.
 
 
 @knownissues
@@ -494,15 +489,18 @@ well-defined.  In these cases, a slur may be preferable.
 @node Writing rests
 @subsection Writing rests
 
+Rests are entered as part of the music in music expressions.
+
 @menu
-* Rests::                       
-* Skips::                       
-* Full measure rests::          
+* Rests::
+* Invisible rests::
+* Full measure rests::
 @end menu
 
 @node Rests
-@subsubsection Rests
+@unnumberedsubsubsec Rests
 @cindex rest
+@cindex rest, entering durations
 @cindex maxima
 @cindex longa
 @cindex breve
@@ -513,12 +511,13 @@ well-defined.  In these cases, a slur may be preferable.
 @funindex \longa
 @funindex \breve
 
-Rests are entered like notes with the note name @code{r};
-longer rests with the predefined commands shown:
+Rests are entered like notes with the note name @code{r}.
+Durations longer than a whole rest use the predefined
+commands shown:
 
 @c \time 16/1 is used to avoid spurious bar lines
 @c and long tracts of empty measures
-@lilypond[fragment,quote,ragged-right,verbatim]
+@lilypond[fragment,quote,verbatim]
 \new Staff {
   % These two lines are just to prettify this example
   \time 16/1
@@ -529,38 +528,45 @@ longer rests with the predefined commands shown:
   r\longa
   % Print a breve rest
   r\breve
-  r1 r2 r4 r8 r16 r32 r64
+  r1 r2 r4 r8 r16 r32 r64 r128
 }
 @end lilypond
 
-Whole measure rests, centered in the middle of the measure, must
-be entered as multi-measure rests.  They can be used for a single
-measure as well as many measures and are discussed in
-@ref{Full measure rests}.
+@cindex rest, multi-measure
+@cindex rest, whole-measure
+
+Whole measure rests, centered in the middle of the measure, must be
+entered as multi-measure rests.  They can be used for a single
+measure as well as many measures and are discussed in @ref{Full
+measure rests}.
+
+@cindex rest, specifying vertical position
 
 To explicitly specify a rest's vertical position, write a note
-followed by @code{\rest}.  A rest will be placed in the position
-where the note would appear.  This allows for precise manual
-formatting of polyphonic music, since the automatic rest collision
-formatter will leave these rests alone.
+followed by @code{\rest}.  A rest of the duration of the note will
+be placed at the staff position where the note would appear.  This
+allows for precise manual formatting of polyphonic music, since the
+automatic rest collision formatter will not move these rests.
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 a4\rest d4\rest
 @end lilypond
 
 @snippets
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {rest-styles.ly}
 
 
 @seealso
+Notation Reference:
+@ref{Full measure rests}.
 
-Notation Reference: @ref{Full measure rests}
-
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
-Internals Reference: @internalsref{Rest}
+Internals Reference:
+@rinternals{Rest}.
 
 
 @knownissues
@@ -570,73 +576,71 @@ There is no fundamental limit to rest durations (both in terms of
 longest and shortest), but the number of glyphs is limited: there
 are rests from 128th to maxima (8 x whole).
 
-@node Skips
-@subsubsection Skips
+
+@node Invisible rests
+@unnumberedsubsubsec Invisible rests
 
 @cindex skip
 @cindex invisible rest
 @cindex rest, invisible
 @cindex spacer note
-
-@funindex \skip
 @funindex s
+@funindex \skip
 
-An invisible rest (also called a @q{skip rest}) can be entered like a
-note with note name @code{s} or with the predefined skip command
-followed by the required duration, as shown here:
+An invisible rest (also called a @q{spacer rest}) can be entered
+like a note with the note name@tie{}@code{s}:
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-% Skip the third beat in the first measure
-a4 a4 s4 a4
-% Use skip command to skip a whole note (measure)
-\skip 1
-a2 a2
+@lilypond[verbatim,quote,relative=2]
+c4 c s c
+s2 c
 @end lilypond
 
 @cindex lyrics, skip
 
-The @code{s} syntax is only available in note mode and chord mode.
-In other situations, for example, when entering lyrics, one must
-use the predefined skip command:
+Spacer rests are available only in note mode and chord mode.  In
+other situations, for example, when entering lyrics, @code{\skip}
+is used to skip a musical moment.  @code{\skip} requires an
+explicit duration.
 
-@lilypond[quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 <<
-  { a2 a2 }
-  \new Lyrics \lyricmode { \skip 2 bla2 }
+  {
+    a2 \skip2 a2 a2
+  }
+  \new Lyrics {
+    \lyricmode {
+      foo2 \skip 1 bla2
+    }
+  }
 >>
 @end lilypond
 
-The @code{s} skip rest implicitly causes @code{Staff} and
-@code{Voice} contexts to be created if none exist, just
-like notes and rests do.  These in turn cause a staff with default
-clef and time signature to be printed, with bar lines if necessary.
-For example, the following results in a complete staff with three
-short empty measures:
+A spacer rest implicitly causes @code{Staff} and @code{Voice}
+contexts to be created if none exist, just like notes and rests
+do:
 
-@lilypond[quote,verbatim,fragment,ragged-right]
-{ s1 s s }
+@lilypond[quote,verbatim,fragment]
+s1 s s
 @end lilypond
 
-However, the predefined skip command behaves differently: it is
-merely an empty musical placeholder.  It does not create any 
-contexts and does not cause anything to be printed, not even 
-transparently.  On its own it does not even print an
-empty page:
+@code{\skip} simply skips musical time; it creates no output of
+any kind.
 
-@example
+@lilypond[quote,verbatim,fragment]
 % This is valid input, but does nothing
-@{ \skip 1 @}
-@end example
+\skip 1 \skip1 \skip 1
+@end lilypond
 
-@seealso
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+@seealso
+Snippets:
+@rlsr{Rhythms}.
 
-Internals Reference: @internalsref{SkipMusic}
+Internals Reference: @rinternals{SkipMusic}
 
 
 @node Full measure rests
-@subsubsection Full measure rests
+@unnumberedsubsubsec Full measure rests
 
 @cindex multi-measure rests
 @cindex full-measure rests
@@ -648,8 +652,8 @@ Internals Reference: @internalsref{SkipMusic}
 Rests for one or more full measures are entered like notes with
 the note name uppercase @code{R}:
 
-@lilypond[quote,fragment,verbatim,relative=2]
-% Rest bars contracted to single bar
+@lilypond[quote,verbatim,relative=2]
+% Rest measures contracted to single measure
 \compressFullBarRests
 R1*4
 R1*24
@@ -657,18 +661,47 @@ R1*4
 b2^"Tutti" b4 a4
 @end lilypond
 
+The duration of full-measure rests is identical to the duration notation
+used for notes.  The duration in a multi-measure rest must always be an
+integral number of measure-lengths, so augmentation
+dots or fractions must often be used:
+
+@lilypond[quote,fragment,verbatim]
+\compressFullBarRests
+\time 2/4
+R1 | R2 |
+\time 3/4
+R2. | R2.*2 |
+\time 13/8
+R1*13/8 | R1*13/8*12 |
+\time 10/8
+R4*5*4 |
+@end lilypond
+
+A full-measure rest is printed as either a whole
+or breve rest, centered in the measure, depending on the time
+signature.
+
+@lilypond[quote,verbatim,fragment]
+\time 4/4
+R1 |
+\time 6/4
+R1*3/2 |
+\time 8/4
+R1*2 |
+@end lilypond
 @funindex \expandFullBarRests
 @funindex \compressFullBarRests
 @cindex multi-measure rest, expanding
 @cindex multi-measure rest, contracting
 
 By default a multi-measure rest is expanded in the printed score
-to show all the rest measures explicitly or (as in the example
-above) it can be contracted to a single measure containing a
-multi-measure rest symbol, with the number of measures of rest
+to show all the rest measures explicitly.
+Alternatively, a mult-measure rest can be shown as a single measure
+containing a multi-measure rest symbol, with the number of measures of rest
 printed above the measure:
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,fragment,verbatim]
 % Default behavior
 \time 3/4 r2. | R2.*2 |
 \time 2/4 R2 |
@@ -682,26 +715,6 @@ r1 | R1*17 | R1*4 |
 R2.*2 |
 @end lilypond
 
-The @code{1} in @code{R1} is similar to the duration notation
-used for notes and is the length of a measure in 2/2 or 4/4 time.
-The duration in a multi-measure rest must always be an integral
-number of measure-lengths, so in other time signatures augmentation
-dots or fractions must be used:
-
-@lilypond[quote,ragged-right,fragment,verbatim]
-\compressFullBarRests
-\time 3/4
-R2. | R2.*2
-\time 13/8
-R1*13/8 | R1*13/8*12 |
-\time 10/8
-R4*5*4 |
-@end lilypond
-
-An @code{R} spanning a single measure is printed as either a whole
-or breve rest, centered in the measure, regardless of the time
-signature.
-
 
 @cindex text on multi-measure rest
 @cindex multi-measure rest, attaching text
@@ -710,24 +723,25 @@ signature.
 @cindex fermata on multi-measure rest
 @cindex multi-measure rest, attaching fermata
 
-Text can be added to multi-measure rests by using the
-@var{note} - @code{\markup} syntax described in
-@ref{Text markup}.  The predefined command @code{\fermataMarkup}
+Markups can be added to multi-measure rests.
+The predefined command @code{\fermataMarkup}
 is provided for adding fermatas.
 
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,verbatim,fragment]
 \compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
 R2.^\fermataMarkup
 @end lilypond
 
-@warning{Text attached to a multi-measure rest is created
-by @code{MultiMeasureRestText}, not
+@warning{
+Markups attached to a multi-measure rest are
+objects of type @code{MultiMeasureRestText}, not
 @code{TextScript}.  Overrides must be directed to the correct
-object, or they will be ignored.  See the following example.}
+object, or they will be ignored.  See the following example.
+}
 
-@lilypond[quote,ragged-right,verbatim,fragment]
+@lilypond[quote,verbatim,fragment]
 % This fails, as the wrong object name is specified
 \override TextScript #'padding = #5
 R1^"wrong"
@@ -736,38 +750,9 @@ R1^"wrong"
 R1^"right"
 @end lilypond
 
-Text attached to a multi-measure rest will be centered above or
-below it.  Long text attached in this way does not cause the
-measure to expand, and may collide with text in adjacent measures.
-This behavior may be changed with the predefined command
-@code{\textLengthOn}, which will cause following bars to expand
-as necessary to accommodate text.  @code{\textLengthOff} returns
-to the default behavior.  To left-align text within a bar attach
-it to a zero-length skip note preceding the rest.
+When a multi-measure rest immediately follows a @code{\partial}
+setting, resulting bar-check warnings may not be displayed.
 
-@lilypond[quote,ragged-right,verbatim,fragment,relative=2]
-\compressFullBarRests
-\textLengthOn
-s1*0^\markup { [MAJOR GENERAL] }
-R1*19
-s1*0^\markup { [MABEL] }
-s1*0_\markup { \italic { Cue: ... it is yours } }
-R1*30
-\textLengthOff
-c4^\markup { CHORUS } d f c
-@end lilypond
-
-@noindent
-Text attached to a skip note in this way is left-aligned to the
-position where the note would be placed in the measure, and placed
-above the measure count numeral, but if the measure length is
-determined by the length of the text, the text will appear to be
-centered.  If two (or more) texts are
-attached to skip notes in a measure the measure length is determined by
-the longer text, and the shorter text is then clearly
-left-aligned, as shown in the second measure above.  If the shorter
-text of two marks is short enough to fit it will be placed
-alongside and to the left of the measure count numeral.
 
 @predefined
 @code{\textLengthOn},
@@ -775,6 +760,8 @@ alongside and to the left of the measure count numeral.
 @code{\fermataMarkup},
 @code{\compressFullBarRests},
 @code{\expandFullBarRests}.
+@endpredefined
+
 
 @snippets
 
@@ -782,33 +769,36 @@ alongside and to the left of the measure count numeral.
 @cindex rest, church
 @cindex kirchenpausen
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {changing-form-of-multi--measure-rests.ly}
 
 @cindex multi-measure rests, positioning
 @cindex positioning multi-measure rests
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {positioning-multi--measure-rests.ly}
 
-@seealso
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{multi--measure-rest-markup.ly}
 
+
+@seealso
 Music Glossary:
-@rglos{multi-measure rest},
-@rglos{church rests}.
+@rglos{multi-measure rest}.
 
 Notation Reference:
 @ref{Durations},
 @ref{Text},
-@ref{Text markup},
+@ref{Formatting text},
 @ref{Text scripts}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{MultiMeasureRest},
-@internalsref{MultiMeasureRestNumber},
-@internalsref{MultiMeasureRestText}.
+@rinternals{MultiMeasureRest},
+@rinternals{MultiMeasureRestNumber},
+@rinternals{MultiMeasureRestText}.
 
 
 @knownissues
@@ -819,37 +809,29 @@ fingering numeral (4) may collide with the bar counter
 numeral (10).
 
 @cindex condensing rests
-@cindex rests, condensing ordinary
+@cindex rest, condensing ordinary
 
 There is no way to automatically condense multiple ordinary rests
 into a single multi-measure rest.
 
-@cindex rests, collisions of
+@cindex rest, collisions of
 
 Multi-measure rests do not take part in rest collisions.
 
-Be careful when entering multi-measure rests followed by whole
-notes.  The following will enter two notes lasting four measures
-each:
-
-@example
-R1*4 cis cis
-@end example
-
-
 @node Displaying rhythms
 @subsection Displaying rhythms
 
 @menu
-* Time signature::              
-* Upbeats::                     
-* Unmetered music::             
-* Polymetric notation::         
-* Automatic note splitting::    
+* Time signature::
+* Upbeats::
+* Unmetered music::
+* Polymetric notation::
+* Automatic note splitting::
+* Showing melody rhythms::
 @end menu
 
 @node Time signature
-@subsubsection Time signature
+@unnumberedsubsubsec Time signature
 
 @cindex time signature
 @cindex meter
@@ -857,27 +839,37 @@ R1*4 cis cis
 
 The time signature is set as follows:
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 2/4 c2
 \time 3/4 c2.
 @end lilypond
 
 @cindex Time signature, visibility of
 
-Time signatures by default are printed at the start of every line
+Time signatures are printed at the beginning of a piece
 and whenever the time signature changes.  If a change takes place
-at the end of a line a warning time signature sign is printed 
-there.  This default behavior may be changed, see 
-@ref{Controlling visibility of objects}.
+at the end of a line a warning time signature sign is printed
+there.  This default behavior may be changed, see
+@ref{Visibility of objects}.
+
+@lilypond[quote,verbatim,relative=2]
+\time 2/4
+c2 c
+\break
+c c
+\break
+\time 4/4
+c c c c
+@end lilypond
 
 @funindex \numericTimeSignature
 @funindex \defaultTimeSignature
 @cindex time signature style
 
-The symbol that is printed in 2/2 and 4/4 time can be customized
-to use a numeric style:
+The time signature symbol that is used in 2/2 and 4/4 time can be
+changed to a numeric style:
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 % Default style
 \time 4/4 c1
 \time 2/2 c1
@@ -892,98 +884,46 @@ to use a numeric style:
 @end lilypond
 
 
-Ancient time signatures are covered in
-@ref{Ancient time signatures}.
+Mensural time signatures are covered in
+@ref{Mensural time signatures}.
 
-@predefined
 
+@predefined
 @code{\numericTimeSignature},
 @code{\defaultTimeSignature}.
+@endpredefined
 
-@snippets
-
-@c TODO Send as snippet called "setting measure and beat lengths"
-@c      when example is added
-@code{\time} sets the properties @code{timeSignatureFraction},
-@code{beatLength}, and @code{measureLength} in the @code{Timing}
-context, which is normally aliased to @code{Score}.  Changing the
-value of @code{timeSignatureFraction} causes the new time
-signature symbol to be printed without changing the other
-properties.  The property @code{measureLength} determines where
-bar lines should be inserted and, with @code{beatLength}, how
-automatic beams should be generated.
-
-TODO Add example of using beatLength.
-@c beatLength is broken - see bug 511
 
-@c End of snippet
-
-@cindex measure groupings
-@cindex beats, grouping
-@cindex grouping beats
-@cindex measure sub-grouping
+@snippets
 
-@c TODO Sent as snippet called "grouping beats" 25 Mar 08
-Options to group beats within a bar are available through the
-Scheme function @code{set-time-signature}, which takes three
-arguments: the number of beats, the beat length, and the internal
-grouping of beats in the measure.  If the
-@internalsref{Measure_grouping_engraver} is included, the function
-will also create @internalsref{MeasureGrouping} signs.  Such signs
-ease reading rhythmically complex modern music.  In the example,
-the 9/8 measure is subdivided in 2, 2, 2 and 3.  This is passed to
-@code{set-time-signature} as the third argument: @code{'(2 2 2 3)}:
-
-@lilypond[quote,ragged-right,verbatim]
-\score {
-  \relative c'' {
-    #(set-time-signature 9 8 '(2 2 2 3))
-    g8[ g] d[ d] g[ g] a8[( bes g]) |
-    #(set-time-signature 5 8 '(3 2))
-    a4. g4
-  }
-  \layout {
-    \context {
-      \Staff
-      \consists "Measure_grouping_engraver"
-    }
-  }
-}
-@end lilypond
-@c TODO End of snippet called "grouping beats"
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{changing-the-time-signature-without-affecting-the-beaming.ly}
 
 @cindex compound time signatures
 @cindex time signature, compound
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {compound-time-signatures.ly}
 
 
 @seealso
-
 Music Glossary:
 @rglos{time signature}
 
 Notation Reference:
-@ruser{Ancient time signatures},
-@ruser{Time administration}.
+@ref{Mensural time signatures},
+@ref{Time administration}.
 
 Snippets:
-@lsrdir{Rhythms,Rhythms}
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{TimeSignature},
-@internalsref{Timing_translator}.
-
-
-@knownissues
-
-Automatic beaming does not use the measure grouping specified with
-@code{set-time-signature}.
+@rinternals{TimeSignature},
+@rinternals{Timing_translator}.
 
 
 @node Upbeats
-@subsubsection Upbeats
+@unnumberedsubsubsec Upbeats
 
 @cindex anacrusis
 @cindex upbeat
@@ -998,16 +938,22 @@ Partial or pick-up measures, such as an anacrusis or upbeat, are
 entered using the @code{\partial} command, with the syntax
 
 @example
-\partial @var{duration} @emph{notes}
+\partial @var{duration}
 @end example
 
-where @code{duration} is the rhythmic length of the @emph{notes}
-which are to be placed before the first complete measure:
+where @code{duration} is the rhythmic length of the interval
+before the start of the first complete measure:
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
-\partial 16*5 c16 cis d dis e |
+@lilypond[quote,verbatim,relative=2]
+\partial 4 e4 |
+a2. c,4 |
+@end lilypond
+
+The partial measure can be any duration less than a full measure:
+
+@lilypond[quote,verbatim,relative=2]
+\partial 8*3 c8 d e |
 a2. c,4 |
-b2
 @end lilypond
 
 Internally, this is translated into
@@ -1024,36 +970,27 @@ command: i.e., @code{\partial 4} is internally translated to
 
 
 @seealso
+Music Glossary:
+@rglos{anacrusis}.
 
-Music Glossary: @rglos{anacrusis}
+Notation Reference:
+@ref{Grace notes}.
 
-Notation Reference: @ref{Grace notes}
+Snippets:
+@rlsr{Rhythms}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Internal Reference:
+@rinternals{Timing_translator}.
 
-Internal Reference: @internalsref{Timing_translator}
 
 @knownissues
 
-@cindex grace notes, in anacruses
-
-This command does not take into account grace notes at the start
-of the music.  If the pick-up starts with one or more grace
-notes, then the @code{\partial} should follow the grace note(s):
-
-@lilypond[verbatim,quote,ragged-right,relative,fragment]
-\grace f16
-\partial 4
-g4
-a2 g2
-@end lilypond
-
 The @code{\partial} command is intended to be used only at the
 beginning of a piece.  If you use it after the beginning, some
 odd warnings may occur.
 
 @node Unmetered music
-@subsubsection Unmetered music
+@unnumberedsubsubsec Unmetered music
 
 @funindex \cadenzaOn
 @funindex \cadenzaOff
@@ -1063,12 +1000,12 @@ odd warnings may occur.
 @cindex unmetered music
 
 Bar lines and bar numbers are calculated automatically.  For
-unmetered music (cadenzas, for example), this is not desirable.
-To turn off automatic bar lines and bar numbers, use the command
-@code{\cadenzaOn}, and use @code{\cadenzaOff} to turn them on
-again.
+unmetered music (some cadenzas, for example), this is not desirable.
+To turn off automatic calculation of bar lines and bar numbers,
+use the command @code{\cadenzaOn}, and use @code{\cadenzaOff}
+to turn them on again.
 
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+@lilypond[verbatim,relative=2,fragment]
 c4 d e d
 \cadenzaOn
 c4 c d8 d d f4 g4.
@@ -1080,7 +1017,7 @@ d4 e d c
 Bar numbering is resumed at the end of the cadenza as if the
 cadenza were not there:
 
-@lilypond[verbatim,quote,ragged-right,relative=2,fragment]
+@lilypond[verbatim,relative=2,fragment]
 % Show all bar numbers
 \override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
@@ -1091,18 +1028,23 @@ c4 c d8 d d f4 g4.
 d4 e d c
 @end lilypond
 
-@predefined
 
+@predefined
 @code{\cadenzaOn},
 @code{\cadenzaOff}.
+@endpredefined
+
 
 @seealso
+Music Glossary:
+@rglos{cadenza}.
 
-Music Glossary: @rglos{cadenza}
+Notation Reference:
+@c ref{Controlling visibility of objects}.
 
-Notation Reference: @ref{Controlling visibility of objects}
+Snippets:
+@rlsr{Rhythms}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
 
 @knownissues
 
@@ -1119,57 +1061,39 @@ to indicate where breaks can occur.
 
 
 @node Polymetric notation
-@subsubsection Polymetric notation
+@unnumberedsubsubsec Polymetric notation
+
+@c This section necessarily uses \set
+@c This is acceptable  -td
 
 @cindex double time signatures
 @cindex signatures, polymetric
 @cindex polymetric signatures
 @cindex meter, polymetric
 
-@strong{Alternating time signatures}
+Polymetric notation is supported, either explicitly or by modifying
+the visible time signature symbol and scaling the note durations.
 
-Regularly alternating double time signatures are not supported
-explicitly, but they can be faked.  In the next example, the
-double time signature is created with markup text, while the
-real time signature is set in the usual way with @code{\time}.
-
-@lilypond[verbatim,ragged-right]
-% Create 9/8 split into 2/4 + 5/8
-tsMarkup = \markup {
-  \override #'(baseline-skip . 2) \number {
-    \column { "2" "4" }
-    \vcenter "+"
-    \bracket \column { "5" "8" }
-  }
-}
-
-{
-  \override Staff.TimeSignature #'stencil =
-    #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #tsMarkup
-  \time 9/8
-  c'2 \bar ":" c'4 c'4.
-  c'2 \bar ":" c'4 c'4.
-}
-@end lilypond
-
-@strong{Staves with different time signatures, equal measure lengths}
+@strong{@i{Staves with different time signatures, equal measure lengths}}
 
 This notation can be created by setting a common time signature
 for each staff but replacing the symbol manually by setting
 @code{timeSignatureFraction} to the desired fraction and scaling
 the printed durations in each staff to the common time
-signature.  This done with @code{\compressMusic}, which
-is used in a similar way to @code{\times}, but does not create
-a tuplet bracket, see @ref{Scaling durations}.
+signature; see @ref{Time signature}.  The scaling is done with
+@code{\scaleDurations}, which is used in a similar way to
+@code{\times}, but does not create a tuplet bracket; see
+@ref{Scaling durations}.
 
 In this example, music with the time signatures of 3/4, 9/8, and
 10/8 are used in parallel.  In the second staff, shown durations
 are multiplied by 2/3, as 2/3 * 9/8 = 3/4, and in the third
 staff, shown durations are multiplied by 3/5, as 3/5 * 10/8 = 3/4.
+It will often be necessary to insert beams manually, as the
+duration scaling affects the autobeaming rules.
 
-@lilypond[quote,ragged-right,verbatim,fragment]
-\relative c' <<
+@lilypond[quote,verbatim,fragment]
+\relative c' <<
   \new Staff {
     \time 3/4
     c4 c c |
@@ -1178,27 +1102,28 @@ staff, shown durations are multiplied by 3/5, as 3/5 * 10/8 = 3/4.
   \new Staff {
     \time 3/4
     \set Staff.timeSignatureFraction = #'(9 . 8)
-    \compressMusic #'(2 . 3)
-      \repeat unfold 6 { c8[ c c] }
+    \scaleDurations #'(2 . 3)
+    \repeat unfold 6 { c8[ c c] }
   }
   \new Staff {
     \time 3/4
     \set Staff.timeSignatureFraction = #'(10 . 8)
-    \compressMusic #'(3 . 5) {
+    \scaleDurations #'(3 . 5) {
       \repeat unfold 2 { c8[ c c] }
       \repeat unfold 2 { c8[ c] } |
-      c4. c4. \times 2/3 { c8 c c } c4
+      c4. c4. \times 2/3 { c8[ c c] } c4
     }
   }
->> }
+>>
 @end lilypond
 
-@strong{Staves with different time signatures, unequal bar lengths}
+@strong{@i{Staves with different time signatures, unequal bar lengths}}
 
 Each staff can be given its own independent time signature by
-moving the @code{Timing_translator} to the @code{Staff} context.
+moving the @code{Timing_translator} and the
+@code{Default_bar_line_engraver} to the @code{Staff} context.
 
-@lilypond[quote,verbatim,ragged-right]
+@lilypond[quote,verbatim]
 \layout {
   \context {
     \Score
@@ -1236,45 +1161,54 @@ moving the @code{Timing_translator} to the @code{Staff} context.
 >>
 @end lilypond
 
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{compound-time-signatures.ly}
 
-@seealso
 
+@seealso
 Music Glossary:
 @rglos{polymetric},
 @rglos{polymetric time signature},
 @rglos{meter}.
 
-Notation Reference: @ref{Scaling durations}
+Notation Reference:
+@ref{Time signature},
+@ref{Scaling durations}.
 
 Snippets:
-@lsrdir{Rhythms,Rhythms}
-@c Is this still permitted?
-@c @lsr{contemporary,compound-time-signature}
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{TimeSignature},
-@internalsref{Timing-translator},
-@internalsref{Staff}.
+@rinternals{TimeSignature},
+@rinternals{Timing_translator},
+@rinternals{Default_bar_line_engraver},
+@rinternals{Staff}.
 
-@knownissues
 
-When using different time signatures in parallel, the spacing is
-aligned vertically, but bar lines distort the regular spacing.
+@knownissues
 
+When using different time signatures in parallel, notes
+at the same moment will be be placed at the same horizontal
+location.  However, the bar lines in the different staves
+will cause the note spacing to be less regular in each of the
+individual staves than would be normal without the different
+time signatures.
 
 @node Automatic note splitting
-@subsubsection Automatic note splitting
+@unnumberedsubsubsec Automatic note splitting
 
 @cindex notes, splitting
 @cindex splitting notes
 
 Long notes which overrun bar lines can be converted automatically
 to tied notes.  This is done by replacing the
-@code{Note_heads_engraver} by the
+@code{Note_heads_engraver} with the
 @code{Completion_heads_engraver}.  In the following
 example, notes crossing the bar lines are split and tied.
 
-@lilypond[quote,fragment,verbatim,relative=1,ragged-right]
+@lilypond[quote,verbatim,relative=1]
 \new Voice \with {
   \remove "Note_heads_engraver"
   \consists "Completion_heads_engraver"
@@ -1288,74 +1222,153 @@ inserts ties.  One of its uses is to debug complex scores: if the
 measures are not entirely filled, then the ties show exactly how
 much each measure is off.
 
-To allow line breaking on the bar lines where the
-@code{Completion_heads_engraver} has inserted a split note, remove
-the @code{Forbid_line_break_engraver} too.
-
 
 @seealso
-
 Music Glossary: @rglos{tie}
 
 Learning Manual:
 @rlearning{Engravers explained},
 @rlearning{Adding and removing engravers}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
 Internals Reference:
-@internalsref{Note_heads_engraver},
-@internalsref{Completion_heads_engraver},
-@internalsref{Forbid_line_break_engraver}.
+@rinternals{Note_heads_engraver},
+@rinternals{Completion_heads_engraver},
+@rinternals{Forbid_line_break_engraver}.
 
 
 @knownissues
 
 Not all durations (especially those containing tuplets) can be
-represented exactly with normal notes and dots, but the engraver
-will not insert tuplets.
+represented exactly with normal notes and dots, but the
+@code{Completion_heads_engraver} will not insert tuplets.
 
 The @code{Completion_heads_engraver} only affects notes; it does not
 split rests.
 
 
+@node Showing melody rhythms
+@unnumberedsubsubsec Showing melody rhythms
+
+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[quote,relative=1,verbatim]
+<<
+  \new RhythmicStaff {
+    \new Voice = "myRhythm" {
+      \time 4/4
+      c4 e8 f g2
+      r4 g g f
+      g1
+    }
+  }
+  \new Lyrics {
+    \lyricsto "myRhythm" {
+      This is my song
+      I like to sing
+    }
+  }
+>>
+@end lilypond
+
+Guitar chord charts often show the strumming rhythms.  This can
+be done with the @code{Pitch_squash_engraver} and
+@code{\improvisationOn}.
+
+
+@lilypond[quote,verbatim]
+<<
+  \new ChordNames {
+    \chordmode {
+      c1 f g c
+    }
+  }
+
+  \new Voice \with {
+    \consists Pitch_squash_engraver
+  } \relative c'' {
+    \improvisationOn
+    c4 c8 c c4 c8 c
+    f4 f8 f f4 f8 f
+    g4 g8 g g4 g8 g
+    c4 c8 c c4 c8 c
+  }
+>>
+@end lilypond
+
+
+@predefined
+@code{\improvisationOn},
+@code{\improvisationOff}.
+@endpredefined
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{guitar-strum-rhythms.ly}
+
+
+@seealso
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{RhythmicStaff},
+@rinternals{Pitch_squash_engraver}.
+
+
 @node Beams
 @subsection Beams
 
 @menu
-* Automatic beams::             
-* Setting automatic beam behavior::  
-* Manual beams::                
-* Feathered beams::             
+* Automatic beams::
+* Setting automatic beam behavior::
+* Manual beams::
+* Feathered beams::
 @end menu
 
 @node Automatic beams
-@subsubsection Automatic beams
+@unnumberedsubsubsec Automatic beams
 
 By default, beams are inserted automatically:
 
 @cindex beams, manual
 @cindex manual beams
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 2/4 c8 c c c
 \time 6/8 c c c c8. c16 c8
 @end lilypond
 
 If these automatic decisions are not satisfactory, beaming can be
 entered explicitly; see @ref{Manual beams}.  It is also possible
-to define beaming patterns that differ from the defaults; see
-@ref{Setting automatic beam behavior}.  The default beaming rules
-are defined in @file{scm/@/auto@/-beam@/.scm}.
+to define beaming patterns that differ from the defaults.  The
+default beaming rules for most common time signatures are defined
+in @file{scm/@/auto@/-beam@/.scm}.  If there are no beaming rules
+defined for a particular beam's duration in the time signature being
+used, its beaming is controlled by the values of three context
+properties, @code{measureLength}, @code{beatLength} and
+@code{beatGrouping}.  Both the beaming rules and the context
+properties can be overridden, see @ref{Setting automatic beam behavior}.
 
 @cindex autoBeamOn
 @cindex autoBeamOff
 
+@warning{If beams are used to indicate melismata in songs, then automatic
+beaming should be switched off with @code{\autoBeamOff} and the beams
+indicated manually.}
+
+
 @noindent
 Automatic beaming may be turned off and on with
 @code{\autoBeamOff} and @code{\autoBeamOn} commands:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[quote,relative=1,verbatim]
 c4 c8 c8. c16 c8. c16 c8
 \autoBeamOff
 c4 c8 c8. c16 c8.
@@ -1364,87 +1377,37 @@ c16 c8
 @end lilypond
 
 
-@snippets
+@predefined
+@code{\autoBeamOff},
+@code{\autoBeamOn}.
+@endpredefined
 
-Beaming patterns may be altered with the @code{beatGrouping} property,
-
-@lilypond[quote,verbatim,relative=2,fragment,ragged-right]
-\time 5/16
-\set beatGrouping = #'(2 3)
-c8[^"(2+3)" c16 c8]
-\set beatGrouping = #'(3 2)
-c8[^"(3+2)" c16 c8]
-@end lilypond
-
-The beams of consecutive 16th (or shorter) notes are, by default,
-not sub-divided.  That is, the three (or more) beams stretch
-unbroken over entire groups of notes.  This behavior can
-be modified to sub-divide the beams into sub-groups by setting 
-the property @code{subdivideBeams}.  When set, multiple beams 
-will be sub-divided at intervals defined by the current value of
-@code{beatLength} by reducing the multiple beams to just one beam
-between the sub-groups. Note that @code{beatLength} lives in the
-@code{Score} context and defaults to a quarter note.  It must be
-set to a fraction giving the duration of the beam sub-group
-using the @code{make-moment} function, as shown here:
-
-@lilypond[fragment,ragged-right,quote,relative=2,verbatim]
-c32[ c c c c c c c]
-\set subdivideBeams = ##t
-c32[ c c c c c c c]
-% Set beam sub-group length to an eighth note
-\set Score.beatLength = #(ly:make-moment 1 8)
-c32[ c c c c c c c]
-% Set beam sub-group length to a sixteenth note
-\set Score.beatLength = #(ly:make-moment 1 16)
-c32[ c c c c c c c]
-@end lilypond
-@funindex subdivideBeams
 
-@noindent
-For more information about @code{make-moment}, see
-@ref{Time administration}.
+@snippets
 
 @funindex breakable
 @cindex break, line
 @cindex line breaks
 
-Line breaks are normally forbidden when beams cross bar lines.
-This behavior can be changed by setting the @code{breakable} 
-property: @code{\override Beam #'breakable = ##t}.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{beams-across-line-breaks.ly}
 
-@lilypond[ragged-right,relative=2,fragment,verbatim,quote]
-\override Beam #'breakable = ##t
-c8 \repeat unfold 15 { c[ c] } c
-@end lilypond
-
-@cindex beams and line breaks
-@cindex beams, kneed
-@cindex kneed beams
-@cindex auto-knee-gap
-
-Kneed beams are inserted automatically when a large gap is
-detected between the note heads.  This behavior can be tuned
-through the @code{auto-knee-gap} property.  A kneed beam is
-drawn if the gap is larger than the value of 
-@code{auto-knee-gap} plus the width of the beam object (which
-depends on the duration of the notes and the slope of the beam).
-By default @code{auto-knee-gap} is set to 5.5 staff spaces.
-
-@lilypond[fragment,ragged-right,quote,verbatim]
-f8 f''8 f8 f''8
-\override Beam #'auto-knee-gap = #6
-f8 f''8 f8 f''8
-@end lilypond
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{changing-beam-knee-gap.ly}
 
 
 @seealso
+Notation Reference:
+@ref{Manual beams},
+@ref{Setting automatic beam behavior}.
 
-Notation Reference: @ref{Manual beams}, @ref{Setting automatic beam behavior}.
+Installed Files:
+@file{scm/@/auto@/-beam@/.scm}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
-Internals Reference: @internalsref{Beam}.
+Internals Reference: @rinternals{Beam}.
 
 
 @knownissues
@@ -1456,44 +1419,159 @@ Beams can collide with note heads and accidentals in other voices
 
 
 @node Setting automatic beam behavior
-@subsubsection Setting automatic beam behavior
+@unnumberedsubsubsec Setting automatic beam behavior
 
+@funindex autoBeaming
 @funindex autoBeamSettings
 @funindex (end * * * *)
 @funindex (begin * * * *)
+
 @cindex automatic beams, tuning
 @cindex tuning automatic beaming
+@cindex automatic beam generation
+@cindex autobeam
+@cindex lyrics and beaming
+
+
+The placement of automatic beams is determined by the rules
+described in @ref{Automatic beams}.  There are two mutually
+exclusive ways in which these rules may be modified.  The
+first, modifying the grouping of beats, applies to uncommon time
+signatures, i.e. those for which there are no predefined rules
+defining the beam end points.  The second method, modifying the
+specification of the beam end points, can be used for any time
+signature.  This second method @strong{must} be used for those time
+signatures and beam durations combinations for which beam ending
+rules are pre-defined, unless these have all been reverted.  There
+are predefined rules for time signatures of 3/2, 3/4, 4/4, 2/4,
+4/8, 4/16, 6/8, 9/8 and 12/8.
+
+@i{@strong{Modifying the grouping of beats}}
+
+If there are no beam-ending rules defined for the beam duration of a
+particular beam in the time signature in use, its beaming is
+controlled by three context properties:
+@code{measureLength}, @code{beatLength} and @code{beatGrouping}.
+These properties may be set in the @code{Score}, @code{Staff} or
+@code{Voice} contexts to delimit their scope.
+
+These determine the beaming as follows:
+
+Beams may begin anywhere (unless a beam is already active).  Beams
+end at a time determined by the values of @code{beatGrouping} and
+@code{beatLength}, as follows:
+
+@itemize
+
+@item If @code{beatGrouping} and @code{beatLength} are consistent
+with @code{measureLength}, @code{beatGrouping} is used to determine
+the end points of beams.
+
+@item If @code{beatGrouping} and @code{beatLength} are inconsistent
+with @code{measureLength}, @code{beatLength} is used to determine
+the end points of beams.
+
+@end itemize
+
+@warning{These three properties become effective for a particular
+beam @strong{only} if there are no beam-ending rules predefined for
+that beam's duration in the time signature in use, or if these
+beam-ending rules have all been reverted.}
+
+By default the @code{measureLength} and @code{beatLength} are
+derived from the time signature set by the @code{\time} command.
+The @code{measureLength} is set to be exactly the same length as
+the measure length given by the time signature, and the
+@code{beatLength} is set to be the same as one over the denominator
+of the time signature.
+
+The default value of @code{beatGrouping} is taken from a table in
+@file{scm/@/music@/-functions@/.scm}.  To find this, see
+@rlearning{Other sources of information}.  It defines the beat
+grouping for 5/8, 6/8, 8/8, 9/8 and 12/8 time signatures.
+
+Both @code{measureLength} and @code{beatLength} are @i{moments},
+units of musical duration.  A quantity of type @i{moment} is
+created by the scheme function @code{ly:make-moment}.  For more
+information about this function, see @ref{Time administration}.
+
+@code{beatGrouping} is a list of integers giving the number of
+beats in each group.
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{grouping-beats.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{specifying-context-with-beatgrouping.ly}
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{using-beatlength-and-beatgrouping.ly}
+
+@funindex subdivideBeams
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{sub-dividing-beams.ly}
+
+@cindex measure groupings
+@cindex beats, grouping
+@cindex grouping beats
+@cindex measure sub-grouping
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{conducting-signs,-measure-grouping-signs.ly}
+
 
-@c [TODO: use \applyContext]
+@strong{@i{Modifying the beam end points}}
 
-In normal time signatures, automatic beams can start on any note
-but can end in only a few positions within the measure: beams can
-end on a beat, or at durations specified by the properties in
-@code{autoBeamSettings}.  The properties in
-@code{autoBeamSettings} consist of a list of rules for where beams
-can begin and end.  The default @code{autoBeamSettings} rules are
-defined in @file{scm/@/auto@/-beam@/.scm}.
+In common time signatures, automatic beams can start on any note
+but can end at only a few positions within the measure, namely at
+durations specified by the properties in @code{autoBeamSettings}.
+These properties consist of a list of rules defining where beams can
+end.  The default @code{autoBeamSettings} rules are defined in
+@file{scm/@/auto@/-beam@/.scm}.  To find this, see
+@rlearning{Other sources of information}.
+
+This method @strong{must} be used for the time signatures for which
+beam-ending rules are defined by default, unless these have all
+been reverted.  It is also particularly suitable for many other time
+signatures if the time signature of the measures changes frequently,
+or if the beaming should be different for different beam durations.
 
 In order to add a rule to the list, use
+
 @example
-#(override-auto-beam-setting '(be p q n m) a b [context])
+#(override-auto-beam-setting
+  '(beam-limit
+    beam-numerator  beam-denominator
+    time-signature-numerator time-signature-denominator)
+  moment-numerator moment-denominator [context])
 @end example
 
+@noindent
+where
+
 @itemize
 
-@item @code{be} is either @code{begin} or @code{end}.
+@item @code{beam-limit} is the type of automatic beam limit
+defined.  This can be either @code{begin} or @code{end} but
+only @code{end} is effective.
 
-@item @code{p/q} is the duration of the note for which you want
-to add a rule.  A beam is considered to have the duration of its
-shortest note.  Set @code{p} and @code{q} to @code{'*'} to
-have this apply to any beam.
+@item @code{beam-numerator/beam-denominator} is the beam duration
+to which the rule is to apply.  A beam is considered to have
+the duration of its shortest note.  Set @code{beam-numerator}
+and @code{beam-denominator} to @code{'*'} to have this rule apply
+to beams of any duration.
 
-@item @code{n/m} is the time signature to which
-this rule should apply.  Set @code{n} and @code{m} to @code{'*'}
-to have this apply in any time signature.
+@item @code{time-signature-numerator/time-signature-denominator}
+specifies the time signature to which this rule should apply.
+If @code{time-signature-numerator} and
+@code{time-signature-denominator} are set to @code{'*'} this rule
+will apply in any time signature.
 
-@item @code{a/b} is the position in the bar at which the beam should
-begin/end.
+@item @code{monent-numerator/moment-denominator} is the position
+in the bar at which the beam should end.
 
 @item @code{context} is optional, and it specifies the context at which
 the change should be made.  The default is @code{'Voice}.
@@ -1504,29 +1582,34 @@ the change should be made.  The default is @code{'Voice}.
 @end itemize
 
 For example, if automatic beams should always end on the first quarter
-note, use
+note, whatever the time signature or beam duration, use
 
-@example
+@lilypond[quote,verbatim,relative=2]
+a8 a a a a a a a
 #(override-auto-beam-setting '(end * * * *) 1 4)
-@end example
+a8 a a a a a a a
+@end lilypond
 
-You can force the beam settings to only take effect on beams whose shortest
+You can force the beam settings to take effect only on beams whose shortest
 note is a certain duration
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 2/4
+% end 1/16 beams for all time signatures at the 1/16 moment
 #(override-auto-beam-setting '(end 1 16 * *) 1 16)
 a16 a a a a a a a |
 a32 a a a a16 a a a a a |
+% end 1/32 beams for all time signatures at the 1/16 moment
 #(override-auto-beam-setting '(end 1 32 * *) 1 16)
 a32 a a a a16 a a a a a |
 @end lilypond
 
-You can force the beam settings to only take effect in certain time
+You can force the beam settings to take effect only in certain time
 signatures
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 5/8
+% end beams of all durations in 5/8 time signature at the 2/8 moment
 #(override-auto-beam-setting '(end * * 5 8) 2 8)
 c8 c d d d
 \time 4/4
@@ -1535,21 +1618,53 @@ e8 e f f e e d d
 c8 c d d d
 @end lilypond
 
-You can also remove a previously set beam-ending rule by using
+When multiple voices are used the @code{Staff} context must be
+specified if the beaming is to be applied to all voices in the
+staff:
+
+@lilypond[quote,verbatim,relative=2]
+\time 7/8
+% rhythm 3-1-1-2
+% Context not specified - does not work correctly
+#(override-auto-beam-setting '(end * * 7 8) 3 8)
+#(override-auto-beam-setting '(end * * 7 8) 4 8)
+#(override-auto-beam-setting '(end * * 7 8) 5 8)
+<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
+
+% Works correctly with context specified
+#(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff)
+#(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff)
+#(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff)
+<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
+@end lilypond
+
+@warning{If any unexpected beam behavior occurs, check the default
+automatic beam settings in @file{scm/@/auto@/-beam@/.scm} for
+possible interference, because the beam endings defined there will
+still apply in addition to your own.}
+
+Any unwanted or conflicting default endings must be reverted for
+your time signature(s).  Existing auto-beam rules are removed by
+using
 
 @example
-#(revert-auto-beam-setting '(be p q n m) a b [context])
+#(revert-auto-beam-setting
+  '(beam-limit
+    beam-numerator  beam-denominator
+    time-signature-numerator time-signature-denominator)
+  moment-numerator moment-denominator [context])
 @end example
 
 @noindent
-@code{be}, @code{p}, @code{q}, @code{n}, @code{m}, @code{a},
-@code{b} and @code{context} are the same as above.  Note that the
-default rules are specified in @file{scm/@/auto@/-beam@/.scm},
-so you can revert rules that you did not explicitly create.
+@code{beam-limit}, @code{beam-numerator}, @code{beam-denominator},
+@code{time-signature-numerator}, @code{time-signature-denominator},
+@code{moment-numerator}, @code{moment-denominator} and @code{context}
+are the same as above.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 4/4
 a16 a a a a a a a a a a a a a a a
+% undo a rule ending 1/16 beams in 4/4 time at 1/4 moment
 #(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
 a16 a a a a a a a a a a a a a a a
 @end lilypond
@@ -1558,7 +1673,7 @@ The rule in a @code{revert-auto-beam-setting} statement must exactly
 match the original rule.  That is, no wildcard expansion is taken into
 account.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 1/4
 #(override-auto-beam-setting '(end 1 16 1 4) 1 8)
 a16 a a a
@@ -1568,67 +1683,24 @@ a a a a
 a a a a
 @end lilypond
 
+@snippets
 
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{beam-grouping-in-7-8-time.ly}
 
-@c TODO:  old material -- not covered by above stuff, I think.
-If automatic beams should end on every quarter in 5/4 time, specify
-all endings
-@example
-#(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
-#(override-auto-beam-setting '(end * * * *) 1 2 'Staff)
-#(override-auto-beam-setting '(end * * * *) 3 4 'Staff)
-#(override-auto-beam-setting '(end * * * *) 5 4 'Staff)
-@dots{}
-@end example
-
-The same syntax can be used to specify beam starting points.  In this
-example, automatic beams can only end on a dotted quarter note
-@example
-#(override-auto-beam-setting '(end * * * *) 3 8)
-#(override-auto-beam-setting '(end * * * *) 1 2)
-#(override-auto-beam-setting '(end * * * *) 7 8)
-@end example
-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).
-
-If any unexpected beam behavior occurs, check the default automatic beam
-settings in @file{scm/@/auto@/-beam@/.scm}
-for possible interference, because the beam
-endings defined there will still apply on top of your own overrides.  Any
-unwanted endings in the default vales must be reverted for your time
-signature(s).
-
-For example, to typeset @code{(3 4 3 2)}-beam endings in 12/8, begin
-with
-
-@example
-%%% revert default values in scm/auto-beam.scm regarding 12/8 time
-#(revert-auto-beam-setting '(end * * 12 8) 3 8)
-#(revert-auto-beam-setting '(end * * 12 8) 3 4)
-#(revert-auto-beam-setting '(end * * 12 8) 9 8)
-
-%%% your new values
-#(override-auto-beam-setting '(end 1 8 12 8) 3 8)
-#(override-auto-beam-setting '(end 1 8 12 8) 7 8)
-#(override-auto-beam-setting '(end 1 8 12 8) 10 8)
-@end example
-
-@cindex automatic beam generation
-@cindex autobeam
-@funindex autoBeaming
-@cindex lyrics
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{reverting-default-beam-endings.ly}
 
-If beams are used to indicate melismata in songs, then automatic
-beaming should be switched off with @code{\autoBeamOff}.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{beam-endings-in-score-context.ly}
 
 
 @predefined
-
 @funindex \autoBeamOff
 @code{\autoBeamOff},
 @funindex \autoBeamOn
 @code{\autoBeamOn}.
+@endpredefined
 
 
 @knownissues
@@ -1639,15 +1711,18 @@ The same holds for polyphonic voices, entered with @code{<<
 @dots{} \\ @dots{} >>}.  If a polyphonic voice ends while an
 automatic beam is still accepting notes, it is not typeset.
 
-@seealso
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+@seealso
+Snippets:
+@rlsr{Rhythms}.
 
 
 @node Manual beams
-@subsubsection Manual beams
+@unnumberedsubsubsec Manual beams
 
 @cindex beams, manual
+@funindex ]
+@funindex [
 
 In some cases it may be necessary to override the automatic
 beaming algorithm.  For example, the autobeamer will not put beams
@@ -1656,7 +1731,7 @@ often set to follow the meter of the lyrics rather than the
 notes. Such beams can be specified manually by
 marking the begin and end point with @code{[} and @code{]}
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[quote,relative=1,verbatim]
 {
   r4 r8[ g' a r8] r8 g[ | a] r8
 }
@@ -1666,13 +1741,10 @@ marking the begin and end point with @code{[} and @code{]}
 Individual notes may be marked with @code{\noBeam} to prevent them
 from being beamed:
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \time 2/4 c8 c\noBeam c c
 @end lilypond
 
-@funindex ]
-@funindex [
-
 @funindex stemLeftBeamCount
 @funindex stemRightBeamCount
 
@@ -1685,29 +1757,33 @@ then it is erased.  In this example, the last @code{f} is printed
 with only one beam on the left side, i.e., the eighth-note beam of
 the group as a whole.
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-{
-  f8[ r16 f g a]
-  f8[ r16
-  \set stemLeftBeamCount = #1
-  f g a]
-}
+@lilypond[quote,relative=2,verbatim]
+a8[ r16 f g a]
+a8[ r16
+\set stemLeftBeamCount = #2
+\set stemRightBeamCount = #1
+f
+\set stemLeftBeamCount = #1
+g a]
 @end lilypond
 
 
 @snippets
 
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{flat-flags-and-beam-nibs.ly}
+
 @node Feathered beams
-@subsubsection Feathered beams
+@unnumberedsubsubsec Feathered beams
 
 @cindex beams, feathered
-@funindex \featherDurations 
+@funindex \featherDurations
 
 Feathered beams are used to indicate that a small group of notes
 should be played at an increasing (or decreasing) tempo, without
-changing the overall tempo of the piece.  The extent of the 
+changing the overall tempo of the piece.  The extent of the
 feathered beam must be indicated manually using @code{[} and
-@code{]}, and the beam feathering is turned on by specifying a 
+@code{]}, and the beam feathering is turned on by specifying a
 direction to the @code{Beam} property @code{grow-direction}.
 
 If the placement of the notes and the sound in the MIDI output
@@ -1719,9 +1795,9 @@ between the durations of the first and last notes in the group.
 
 The square brackets
 show the extent of the beam and the braces show
-which notes are to have their durations modified.  Normally 
+which notes are to have their durations modified.  Normally
 these would delimit the same group of notes, but this is not
-required: the two commands are independent. 
+required: the two commands are independent.
 
 In the following example the eight 16th notes occupy exactly the
 same time as a half note, but the first note is one half as long
@@ -1729,7 +1805,7 @@ as the last one, with the intermediate notes gradually
 lengthening.  The first four 32nd notes gradually speed up, while
 the last four 32nd notes are at a constant tempo.
 
-@lilypond[ragged-right,relative=1,fragment,verbatim,quote]
+@lilypond[relative=1,verbatim,quote]
 \override Beam #'grow-direction = #LEFT
 \featherDurations #(ly:make-moment 2 1)
 { c16[ c c c c c c c] }
@@ -1742,18 +1818,18 @@ the last four 32nd notes are at a constant tempo.
 @end lilypond
 
 @noindent
-The spacing in the printed output represents the 
-note durations only approximately, but the midi output is exact.
+The spacing in the printed output represents the
+note durations only approximately, but the MIDI output is exact.
 
 @knownissues
 
 The @code{\featherDurations} command only works with very short
 music snippets, and when numbers in the fraction are small.
 
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}
 
+@seealso
+Snippets:
+@rlsr{Rhythms}.
 
 
 @node Bars
@@ -1761,14 +1837,14 @@ Snippets: @lsrdir{Rhythms,Rhythms}
 
 
 @menu
-* Bar lines::                   
-* Bar numbers::                 
-* Bar and bar number checks::   
-* Rehearsal marks::             
+* Bar lines::
+* Bar numbers::
+* Bar and bar number checks::
+* Rehearsal marks::
 @end menu
 
 @node Bar lines
-@subsubsection Bar lines
+@unnumberedsubsubsec Bar lines
 
 @cindex bar lines
 @funindex \bar
@@ -1777,34 +1853,35 @@ Snippets: @lsrdir{Rhythms,Rhythms}
 
 Bar lines delimit measures, and are also used to indicate
 repeats.  Normally, simple bar lines are automatically inserted
-into the printed output at places based on the current time 
-signature.  
+into the printed output at places based on the current time
+signature.
 
-The simple bar lines inserted automatically can be changed to 
+The simple bar lines inserted automatically can be changed to
 other types with the @code{\bar} command.  For example, a closing
 double bar line is usually placed at the end of a piece:
 
-@lilypond[quote,ragged-right,relative=1,fragment,verbatim]
+@lilypond[quote,relative=1,verbatim]
 e4 d c2 \bar "|."
 @end lilypond
 
-@warning{An incorrect duration can lead to poorly formatted
-music.}
-It is not invalid if the final note in a measure does not 
-end on the automatically entered bar line: the note is assumed 
+It is not invalid if the final note in a measure does not
+end on the automatically entered bar line: the note is assumed
 to carry over into the next measure.  But if a long sequence
 of such carry-over measures appears the music can appear compressed
 or even flowing off the page.  This is because automatic line
-breaks happen only at the end of complete measures, i.e., where 
-the end of a note coincides with the end of a measure.
+breaks happen only at the end of complete measures, i.e., where
+all notes end before the end of a measure.
+
+@warning{An incorrect duration can cause line breaks to be
+inhibited, leading to a line of highly compressed music or
+music which flows off the page.}
 
 @cindex line breaks
 @cindex bar lines, invisible
 @cindex measure lines, invisible
 
 Line breaks are also permitted at manually inserted bar lines
-even within incomplete measures.  To allow a line break without 
+even within incomplete measures.  To allow a line break without
 printing a bar line, use
 
 @example
@@ -1813,37 +1890,37 @@ printing a bar line, use
 
 @noindent
 This will insert an invisible bar line and allow (but not
-force) a line break to occur at this point.  The bar number 
-counter is not increased.  To force a line break see 
+force) a line break to occur at this point.  The bar number
+counter is not increased.  To force a line break see
 @ref{Line breaking}.
 
 This and other special bar lines may be inserted manually at any
 point.  When they coincide with the end of a measure they replace
-the simple bar line which would have been inserted there 
+the simple bar line which would have been inserted there
 automatically.  When they do not coincide
 with the end of a measure the specified bar line is inserted at that
 point in the printed output.  Such insertions do not affect
-the calculation and placement of subsequent automatic bar lines.  
+the calculation and placement of subsequent automatic bar lines.
 
-The simple bar line and four types of double bar line are available
+The simple bar line and five types of double bar line are available
 for manual insertion:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-f1 \bar "|" g \bar "||" a \bar ".|" b \bar ".|." c \bar "|." d
+@lilypond[quote,relative=1,verbatim]
+f1 \bar "|" g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e
 @end lilypond
 
 @noindent
 together with dotted and dashed bar lines:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
+@lilypond[quote,relative=1,verbatim]
 f1 \bar ":" g \bar "dashed" a
 @end lilypond
 
 @noindent
-and three types of repeat bar line:
+and five types of repeat bar line:
 
-@lilypond[quote,ragged-right,fragment,relative=1,verbatim]
-f1 \bar "|:" g \bar ":|:" a \bar ":|" b
+@lilypond[quote,relative=1,verbatim]
+f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d
 @end lilypond
 
 @cindex repeats
@@ -1857,14 +1934,14 @@ automatically print the appropriate bar lines.
 In addition, you can specify @code{"||:"}, which is equivalent to
 @code{"|:"} except at line breaks, where it gives a double bar
 line at the end of the line and a start repeat at the beginning of
-the next line. 
+the next line.
 
-@lilypond[quote,ragged-right,relative=2,fragment,verbatim]
+@lilypond[quote,relative=2,verbatim]
 \override Score.RehearsalMark #'padding = #3
 c c c c
-\bar "||:" 
+\bar "||:"
 c c c c \break
-\bar "||:" 
+\bar "||:"
 c c c c
 @end lilypond
 
@@ -1873,7 +1950,7 @@ automatically applied to all staves.  The resulting bar lines are
 connected between different staves of a @code{StaffGroup},
 @code{PianoStaff}, or @code{GrandStaff}.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,fragment,verbatim]
 <<
   \new StaffGroup <<
     \new Staff {
@@ -1894,30 +1971,32 @@ connected between different staves of a @code{StaffGroup},
 @funindex defaultBarType
 
 The command @code{\bar }@var{bartype} is a shortcut for
-@code{\set Timing.whichBar = }@var{bartype}.  A bar line is 
+@code{\set Timing.whichBar = }@var{bartype}.  A bar line is
 created whenever the @code{whichBar} property is
-set.  
+set.
 
 The default bar type used for automatically inserted bar lines is
 @code{"|"}.  This may be changed at any time
-with @code{\set Timing.defaultBarType = }@var{bartype}.  
+with @code{\set Timing.defaultBarType = }@var{bartype}.
 
-@seealso
 
-Notation Reference: @ref{Line breaking}, @ref{Repeats},
-@c FIXME: node name changed, but is subject to further changes.
-@c @ref{System start delimiters}.
+@seealso
+Notation Reference:
+@ref{Line breaking},
+@ref{Repeats},
+@ref{Grouping staves}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
-Internals Reference: @internalsref{BarLine} (created at
-@internalsref{Staff} level), @internalsref{SpanBar} (across
-staves), @internalsref{Timing_translator} (for Timing
+Internals Reference: @rinternals{BarLine} (created at
+@rinternals{Staff} level), @rinternals{SpanBar} (across
+staves), @rinternals{Timing_translator} (for Timing
 properties).
 
 
 @node Bar numbers
-@subsubsection Bar numbers
+@unnumberedsubsubsec Bar numbers
 
 @cindex bar numbers
 @cindex measure numbers
@@ -1928,7 +2007,7 @@ the first line.  The number itself is stored in the
 @code{currentBarNumber} property, which is normally updated
 automatically for every measure.  It may also be set manually:
 
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
+@lilypond[verbatim,quote,fragment,relative=1]
 c1 c c c
 \break
 \set Score.currentBarNumber = #50
@@ -1952,8 +2031,8 @@ of the three values is @code{end of line visible}, @code{middle of
 line visible}, @code{beginning of line visible}.  In the following
 example bar numbers are printed at all possible places:
 
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
-\override Score.BarNumber #'break-visibility = ##(#t #t #t)
+@lilypond[verbatim,quote,relative=1]
+\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
 \set Score.currentBarNumber = #11
 \bar ""  % Permit first bar number to be printed
 c1 c c c
@@ -1968,8 +2047,8 @@ c c c c
 and here the bar numbers are printed every two measures
 except at the end of the line:
 
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
-\override Score.BarNumber #'break-visibility = ##(#f #t #t)
+@lilypond[verbatim,quote,relative=1]
+\override Score.BarNumber #'break-visibility = #'#(#f #t #t)
 \set Score.currentBarNumber = #11
 \bar ""  % Permit first bar number to be printed
 % Print a bar number every second measure
@@ -1983,16 +2062,16 @@ c c c c c
 @cindex bar number, format
 
 The size of the bar number may be changed.  This is illustrated
-in the following example, which also shows how to enclose bar 
+in the following example, which also shows how to enclose bar
 numbers in boxes and circles, and shows an alternative way
 of specifying @code{#(#f #t #t)} for @code{break-visibility}.
 
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
+@lilypond[verbatim,quote,relative=1]
 % Prevent bar numbers at the end of a line and permit them elsewhere
 \override Score.BarNumber #'break-visibility
   = #end-of-line-invisible
 
-% Increase the size of the bar number by 2 
+% Increase the size of the bar number by 2
 \override Score.BarNumber #'font-size = #2
 \repeat unfold 3 { c1 } \bar "|"
 
@@ -2012,12 +2091,12 @@ of specifying @code{#(#f #t #t)} for @code{break-visibility}.
 Bar numbers by default are left-aligned to their parent object.
 This is usually the left edge of a line or, if numbers are printed
 within a line, the left bar line of the measure.  The numbers may also
-be positioned directly on the bar line or right-aligned to the 
+be positioned directly on the bar line or right-aligned to the
 bar line:
 
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
+@lilypond[verbatim,quote,relative=1]
 \set Score.currentBarNumber = #111
-\override Score.BarNumber #'break-visibility = ##(#t #t #t)
+\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
 % Increase the size of the bar number by 2
 \override Score.BarNumber #'font-size = #2
 % Print a bar number every second measure
@@ -2034,7 +2113,7 @@ c1 c1
 Bar numbers can be removed entirely by removing the
 @code{Bar_number_engraver} from the @code{Score} context.
 
-@lilypond[verbatim,ragged-right,quote]
+@lilypond[verbatim,quote]
 \layout {
   \context {
     \Score
@@ -2049,17 +2128,17 @@ Bar numbers can be removed entirely by removing the
 
 
 @seealso
+Snippets:
+@rlsr{Rhythms}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
-
-Internals Reference: @internalsref{BarNumber}.
+Internals Reference: @rinternals{BarNumber}.
 
 
 @knownissues
 
 Bar numbers may collide with the top of the
-@internalsref{StaffGroup} bracket, if there is one.  To solve
-this, the @code{padding} property of @internalsref{BarNumber} can
+@rinternals{StaffGroup} bracket, if there is one.  To solve
+this, the @code{padding} property of @rinternals{BarNumber} can
 be used to position the number correctly.
 
 Bar numbers may only be printed at bar lines; to print a bar
@@ -2067,7 +2146,7 @@ number at the beginning of a piece, an empty bar line must be
 inserted there, and a value other than @code{1} must be placed
 in @code{currentBarNumber}:
 
-@lilypond[verbatim,ragged-right,quote,fragment,relative]
+@lilypond[verbatim,quote,relative=1]
 \set Score.currentBarNumber = #50
 \bar ""
 c1 c c c
@@ -2078,18 +2157,18 @@ c1 c c c
 
 
 @node Bar and bar number checks
-@subsubsection Bar and bar number checks
+@unnumberedsubsubsec Bar and bar number checks
 
 @cindex bar check
 @funindex barCheckSynchronize
 @funindex |
 
 Bar checks help detect errors in the entered durations.
-A bar check may be entered using the bar symbol, @code{|}, 
-at any place where a bar line is expected to fall.  
-If bar check lines are encountered at other places, 
+A bar check may be entered using the bar symbol, @code{|},
+at any place where a bar line is expected to fall.
+If bar check lines are encountered at other places,
 a list of warnings is printed in the log file,
-showing the line numbers and lines  
+showing the line numbers and lines
 in which the bar checks failed.  In the next
 example, the second bar check will signal an error.
 
@@ -2111,20 +2190,25 @@ especially if the score is polyphonic, so a good place to start
 correcting input is by scanning for failed bar checks and
 incorrect durations.
 
+If successive bar checks are off by the same musical interval,
+only the first warning message is displayed.  This allows the
+warning to focus on the source of the timing error.
+
+
 @funindex |
 @funindex pipeSymbol
 
-It is also possible to redefine the action taken when a bar check 
-or pipe symbol, @code{|}, is encountered in the input, so that 
-it does something other than a bar check.  This is done by 
-assigning a music expression to @code{pipeSymbol}.  
-In the following example @code{|} is set to insert a double bar 
-line wherever it appears in the input, rather than checking 
+It is also possible to redefine the action taken when a bar check
+or pipe symbol, @code{|}, is encountered in the input, so that
+it does something other than a bar check.  This is done by
+assigning a music expression to @code{pipeSymbol}.
+In the following example @code{|} is set to insert a double bar
+line wherever it appears in the input, rather than checking
 for end of bar.
 
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
 pipeSymbol = \bar "||"
-{ 
+{
   c'2 c'2 |
   c'2 c'2
   c'2 | c'2
@@ -2145,13 +2229,14 @@ are entering from.  This can be checked with
 will print a warning if the @code{currentBarNumber} is not 123
 when it is processed.
 
-@seealso
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+@seealso
+Snippets:
+@rlsr{Rhythms}.
 
 
 @node Rehearsal marks
-@subsubsection Rehearsal marks
+@unnumberedsubsubsec Rehearsal marks
 
 @cindex rehearsal marks
 @cindex mark, rehearsal
@@ -2159,7 +2244,7 @@ Snippets: @lsrdir{Rhythms,Rhythms}
 
 To print a rehearsal mark, use the @code{\mark} command
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c1 \mark \default
 c1 \mark \default
 c1 \mark #8
@@ -2194,13 +2279,15 @@ following example, @code{markFormatter} is set to a pre-defined
 procedure.  After a few measures, it is set to a procedure that
 produces a boxed number.
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \set Score.markFormatter = #format-mark-numbers
 c1 \mark \default
 c1 \mark \default
 \set Score.markFormatter = #format-mark-box-numbers
 c1 \mark \default
+\set Score.markFormatter = #format-mark-circle-numbers
 c1 \mark \default
+\set Score.markFormatter = #format-mark-circle-letters
 c1
 @end lilypond
 
@@ -2237,7 +2324,7 @@ string.
 Music glyphs (such as the segno sign) may be printed inside a
 @code{\mark}
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative]
+@lilypond[quote,verbatim,relative=1]
 c1 \mark \markup { \musicglyph #"scripts.segno" }
 c1 \mark \markup { \musicglyph #"scripts.coda" }
 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
@@ -2249,22 +2336,24 @@ See @ref{The Feta font}, for a list of symbols which may be
 printed with @code{\musicglyph}.
 
 For common tweaks to the positioning of rehearsal marks, see
-@ref{Text marks}.
-
-@seealso
-
-Snippets: @lsrdir{Rhythms,Rhythms}
+@ref{Formatting text}.
 
-This manual: @ref{The Feta font}, @ref{Text marks}.
 
-Internals Reference: @internalsref{RehearsalMark}.
+@seealso
+Notation Reference:
+@ref{The Feta font},
+@ref{Formatting text}.
 
-Init files: @file{scm/@/translation@/-functions@/.scm} contains
+Installed Files:
+@file{scm/@/translation@/-functions@/.scm} contains
 the definition of @code{format-mark-numbers} and
 @code{format-mark-letters}.  They can be used as inspiration for
 other formatting functions.
 
-Examples: @c @lsr{parts,rehearsal-mark-numbers.ly}
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference: @rinternals{RehearsalMark}.
 
 
 @node Special rhythmic concerns
@@ -2272,13 +2361,13 @@ Examples: @c @lsr{parts,rehearsal-mark-numbers.ly}
 
 
 @menu
-* Grace notes::                 
-* Aligning to cadenzas::        
-* Time administration::         
+* Grace notes::
+* Aligning to cadenzas::
+* Time administration::
 @end menu
 
 @node Grace notes
-@subsubsection Grace notes
+@unnumberedsubsubsec Grace notes
 
 @funindex \grace
 @cindex ornaments
@@ -2286,42 +2375,35 @@ Examples: @c @lsr{parts,rehearsal-mark-numbers.ly}
 @cindex appoggiatura
 @cindex acciaccatura
 
-Grace notes are ornaments that are written out. They are made with
-the @code{\grace} command.  By prefixing this keyword to a music
-expression, a new one is formed, which will be printed in a
-smaller font and takes up no logical time in a measure.
+Grace notes are ornaments that are written out. Grace notes
+are printed in a smaller font and take up no logical time
+in a measure.
 
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
+@lilypond[quote,relative=2,verbatim]
 c4 \grace c16 c4
-\grace { c16[ d16] } c2 c4
+\grace { c16[ d16] } c2
 @end lilypond
 
-Two special forms of the @code{\grace} command exist.
-An @emph{acciaccatura}, which should be played as very short,
-is denoted by a slurred small note with a slashed stem.  The
-@emph{appoggiatura}, a grace note that takes a fixed fraction of the
-main note, is denoted as a slurred note in small print without
-a slash.  They are entered with the commands @code{\acciaccatura}
-and @code{\appoggiatura}, as demonstrated in the following
-example:
+Lilypond also supports two special types of grace notes, the
+@emph{acciaccatura}--an unmeasured grace note indicated by a slurred
+small note with a slashed stem--and the @emph{appoggiatura}, which
+takes a fixed fraction of the main note and appears in small print
+without a slash.
 
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-b4 \acciaccatura d8 c4 
+@lilypond[quote,relative=2,verbatim]
+\grace c8 b4
+\acciaccatura d8 c4
 \appoggiatura e8 d4
 \acciaccatura { g16[ f] } e4
 @end lilypond
 
-@noindent
-@code{\acciaccatura} and @code{\appoggiatura} start a slur, 
-@code{\grace} does not.
-
 The placement of grace notes is synchronized between different
 staves.  In the following example, there are two sixteenth grace
 notes for every eighth grace note
 
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \grace { c16[ d e f] } e4 }
-   \new Staff { c4 \grace { g8[ b] } c4 } >>
+@lilypond[quote,relative=2,verbatim]
+<< \new Staff { e2 \grace { c16[ d e f] } e2 }
+   \new Staff { c2 \grace { g8[ b] } c2 } >>
 @end lilypond
 
 @funindex \afterGrace
@@ -2332,125 +2414,144 @@ If you want to end a note with a grace, use the @code{\afterGrace}
 command.  It takes two arguments: the main note, and the grace
 notes following the main note.
 
-@lilypond[quote,ragged-right,verbatim,relative=2,fragment]
-c1 \afterGrace d1 { c16[ d] } c4
+@lilypond[quote,verbatim,relative=2]
+c1 \afterGrace d1 { c16[ d] } c1
 @end lilypond
 
-This will put the grace notes after a @q{space} lasting 3/4 of the
-length of the main note.  The fraction 3/4 can be changed by
-setting @code{afterGraceFraction}, i.e.,
+This will put the grace notes after a space lasting 3/4 of the
+length of the main note.  The default fraction 3/4 can be changed by
+setting @code{afterGraceFraction}.  The following example shows
+the results from setting the space at the default,  at 15/16, and
+finally at 1/2 of the main note.
 
-@example
-#(define afterGraceFraction (cons 7 8))
-@end example
-
-@noindent
-will put the grace note at 7/8 of the main note.
+@lilypond[quote,verbatim,relative=2]
+<<
+  \new Staff {
+    c1 \afterGrace d1 { c16[ d] } c1
+  }
+  \new Staff {
+    #(define afterGraceFraction (cons 15 16))
+    c1 \afterGrace d1 { c16[ d] } c1
+  }
+  \new Staff {
+    #(define afterGraceFraction (cons 1 2))
+    c1 \afterGrace d1 { c16[ d] } c1
+  }
+>>
+@end lilypond
 
-The same effect can be achieved manually by doing
+The space between the main note and the grace note may also be
+specified using spacers. The following example places the grace
+note after a space lasting 7/8 of the main note.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Voice {
   << { d1^\trill_( }
-     { s2 \grace { c16[ d] } } >>
-  c4)
+     { s2 s4. \grace { c16[ d] } } >>
+  c1)
 }
 @end lilypond
 
-@noindent
-By adjusting the duration of the skip note (here it is a
-half-note), the space between the main note and the grace
-may be adjusted.
-
 A @code{\grace} music expression will introduce special
 typesetting settings, for example, to produce smaller type, and
-set directions.  Hence, when introducing layout tweaks, they
-should be inside the grace expression, for example,
+set directions.  Hence, when introducing layout tweaks to
+override the special settings, they should be placed inside
+the grace expression. The overrides should also be reverted
+inside the grace expression. Here, the grace note's default stem
+direction is overriden and then reverted.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \new Voice {
   \acciaccatura {
     \stemDown
     f16->
     \stemNeutral
   }
-  g4
+  g4 e c2
 }
 @end lilypond
 
-@noindent
-The overrides should also be reverted inside the grace expression.
+
+@cindex stem, with slash
+
+
+@snippets
+
+The slash through the stem found in @emph{acciaccatura}s can be applied
+in other situations:
+
+@lilypond[quote,verbatim,relative=2]
+\relative c'' {
+  \override Stem #'stroke-style = #"grace"
+  c8( d2) e8( f4)
+}
+@end lilypond
 
 The layout of grace expressions can be changed throughout the
 music using the function @code{add-grace-property}.  The following
 example undefines the @code{Stem} direction for this grace, so
 that stems do not always point up.
 
-@example
-\new Staff @{
-  #(add-grace-property 'Voice 'Stem 'direction '())
-  @dots{}
-@}
-@end example
+@lilypond[quote,verbatim,relative=2]
+\relative c'' {
+  \new Staff {
+    #(add-grace-property 'Voice 'Stem 'direction ly:stem::calc-direction)
+    #(remove-grace-property 'Voice 'Stem 'direction)
+    \new Voice {
+       \acciaccatura { f16 } g4
+       \grace { d16[ e] } f4
+       \appoggiatura { a,32[ b c d] } e2
+    }
+  }
+}
+@end lilypond
 
-@noindent
 Another option is to change the variables @code{startGraceMusic},
 @code{stopGraceMusic}, @code{startAcciaccaturaMusic},
 @code{stopAcciaccaturaMusic}, @code{startAppoggiaturaMusic},
 @code{stopAppoggiaturaMusic}.  The default values of these can be
-seen in the file @file{ly/@/grace@/-init@/.ly}.  By redefining
+seen in the file @code{ly/@/grace@/-init@/.ly}.  By redefining
 them other effects may be obtained.
 
-@cindex stem, with slash
-
-@noindent
-The slash through the stem in @emph{acciaccatura}s can be obtained in
-other situations by @code{\override Stem  #'stroke-style =
-#"grace"}.
-
-
-@snippets
-
-Grace notes may be forced to use align with regular notes
-in other staves by setting @code{strict-grace-spacing} to
-##t:
+Grace notes may be forced to align with regular notes
+in other staves:
 
-@lilypond[relative=2,ragged-right]
-<<
-  \override Score.SpacingSpanner #'strict-grace-spacing = ##t
-  \new Staff {
-     c'4
-     \afterGrace
-     c'4
-     { c'16[ c'8 c'16] }
-     c'4
-  }  
-  \new Staff {
-     c'16[ c'16 c'16 c'16]
-     c'16[ c'16 c'16 c'16]
-     c'4
-  }
->>
+@lilypond[verbatim,quote]
+\relative c'' {
+  <<
+    \override Score.SpacingSpanner #'strict-grace-spacing = ##t
+    \new Staff {
+      c4
+      \afterGrace c4 { c16[ c8 c16] }
+      c4 r
+    }
+    \new Staff {
+      c16 c c c c c c c c4 r
+    }
+  >>
+}
 @end lilypond
 
 
 @seealso
-
 Music Glossary:
 @rglos{grace notes},
 @rglos{acciaccatura},
-@rglos{appoggiatura}
+@rglos{appoggiatura}.
+
+Installed Files: @file{ly/@/grace@/-init@/.ly}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets: @rlsr{Rhythms}.
 
-Internals Reference: @internalsref{GraceMusic}.
+Internals Reference: @rinternals{GraceMusic}.
 
 
 @knownissues
 
-A multi-note beamed @emph{acciaccatura} is printed without a slash, 
+A multi-note beamed @i{acciaccatura} is printed without a slash,
 and looks exactly the same as a multi-note beamed
-@emph{appoggiatura}.
+@i{appoggiatura}.
+
 @c TODO Add link to LSR snippet to add slash when available
 
 Grace note synchronization can also lead to surprises.  Staff
@@ -2458,18 +2559,18 @@ notation, such as key signatures, bar lines, etc., are also
 synchronized.  Take care when you mix staves with grace notes and
 staves without, for example,
 
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
-   \new Staff { c4 \bar "|:" d4 } >>
+@lilypond[quote,relative=2,verbatim]
+<< \new Staff { e4 \bar "|:" \grace c16 d2. }
+   \new Staff { c4 \bar "|:" d2. } >>
 @end lilypond
 
 @noindent
 This can be remedied by inserting grace skips of the corresponding
 durations in the other staves.  For the above example
 
-@lilypond[quote,ragged-right,relative=2,verbatim,fragment]
-<< \new Staff { e4 \bar "|:" \grace c16 d4 }
-   \new Staff { c4 \bar "|:" \grace s16 d4 } >>
+@lilypond[quote,relative=2,verbatim]
+<< \new Staff { e4 \bar "|:" \grace c16 d2. }
+   \new Staff { c4 \bar "|:" \grace s16 d2. } >>
 @end lilypond
 
 Grace sections should only be used within sequential music
@@ -2477,45 +2578,53 @@ expressions.  Nesting or juxtaposing grace sections is not
 supported, and might produce crashes or other errors.
 
 @node Aligning to cadenzas
-@subsubsection Aligning to cadenzas
+@unnumberedsubsubsec Aligning to cadenzas
 
 @cindex cadenza
 @cindex cadenza, aligning to
 @cindex aligning to cadenza
 
 In an orchestral context, cadenzas present a special problem: when
-constructing a score that includes a cadenza, all other
-instruments should skip just as many notes as the length of the
-cadenza, otherwise they will start too soon or too late.
+constructing a score that includes a measured cadenza or other solo
+passage, all other instruments should skip just as many notes as the
+length of the cadenza, otherwise they will start too soon or too late.
 
-A solution to this problem is to use the functions
+One solution to this problem is to use the functions
 @code{mmrest-of-length} and @code{skip-of-length}.  These Scheme
-functions take a piece of music as argument, and generate a multi-measure
-rest or @code{\skip}, exactly as long as the piece.  The use of
-@code{mmrest-of-length} is demonstrated in the following example.
-
-@lilypond[verbatim,ragged-right,quote]
-cadenza = \relative c' {
-  c4 d8 << { e f g } \\ { d4. } >>
-  g4 f2 g4 g
+functions take a defined piece of music as an argument and generate a
+multi-measure rest or @code{\skip} exactly as long as the piece.
+
+@lilypond[verbatim,quote]
+MyCadenza = \relative c' {
+  c4 d8 e f g g4
+  f2 g4 g
 }
 
 \new GrandStaff <<
-  \new Staff { \cadenza c'4 }
   \new Staff {
-    #(ly:export (mmrest-of-length cadenza))
-    c'4
+    \MyCadenza c'1
+    \MyCadenza c'1
+  }
+  \new Staff {
+    #(ly:export (mmrest-of-length MyCadenza))
+    c'1
+    #(ly:export (skip-of-length MyCadenza))
+    c'1
   }
 >>
 @end lilypond
 
+
 @seealso
+Music Glossary:
+@rglos{cadenza}.
 
-Snippets: @lsrdir{Rhythms,Rhythms}
+Snippets:
+@rlsr{Rhythms}.
 
 
 @node Time administration
-@subsubsection Time administration
+@unnumberedsubsubsec Time administration
 
 @cindex time administration
 @cindex timing (within the score)
@@ -2533,7 +2642,7 @@ default is to be found in the @code{Score} context.  An alias,
 
 The following properties of @code{Timing} are used
 to keep track of timing within the score.
+
 @cindex bar number
 @cindex measure number
 
@@ -2551,7 +2660,7 @@ should be generated.
 @item measurePosition
 The point within the measure where we currently are.  This
 quantity is reset by subtracting @code{measureLength} whenever
-@code{measureLength} is reached or exceeded.  When that happens, 
+@code{measureLength} is reached or exceeded.  When that happens,
 @code{currentBarNumber} is incremented.
 
 @item timing
@@ -2562,13 +2671,13 @@ measure indefinitely.
 @end table
 
 Timing can be changed by setting any of these variables
-explicitly.  In the next example, the default 4/4 time 
+explicitly.  In the next example, the default 4/4 time
 signature is printed, but @code{measureLength} is set to 5/4.
 At 4/8 through the third measure, the @code{measurePosition} is
 advanced by 1/8 to 5/8, shortening that bar by 1/8.
 The next bar line then falls at 9/8 rather than 5/4.
 
-@lilypond[quote,ragged-right,verbatim,relative,fragment]
+@lilypond[quote,verbatim,relative=1]
 \set Score.measureLength = #(ly:make-moment 5 4)
 c1 c4
 c1 c4
@@ -2587,25 +2696,11 @@ notes.
 
 
 @seealso
-
 This manual: @ref{Bar numbers}, @ref{Unmetered music}
 
-Snippets: @lsrdir{Rhythms,Rhythms}
-
-Internals Reference: @internalsref{Timing_translator},
-@internalsref{Score}
-
-
-
-
-
-
-
-
-
-
-
-
-
+Snippets:
+@rlsr{Rhythms}.
 
+Internals Reference: @rinternals{Timing_translator},
+@rinternals{Score}