]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/rhythms.itely
Doc: NR: Capitalize "f" in "Installed files".
[lilypond.git] / Documentation / notation / rhythms.itely
index 9422068a219c971659a417491b0a65db84a56d60..6a9c08a8acf527ccaf0256a7298187d1647dbc01 100644 (file)
@@ -3,10 +3,11 @@
     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
 
     When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.36"
 
 @node Rhythms
 @section Rhythms
@@ -65,7 +66,6 @@ c\longa c\breve c1 c2
 c4 c8 c16 c32 c64 c128 c128
 @end lilypond
 
-@noindent
 Here are the same durations with automatic beaming turned off.
 
 @c not strictly "writing rhythms"; more of a "displaying" thing,
@@ -140,6 +140,12 @@ the staff; see @ref{Direction and placement}.
 @endpredefined
 
 
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{changing-the-number-of-augmentation-dots-per-note.ly}
+
+
 @seealso
 Music Glossary:
 @rglos{breve},
@@ -191,7 +197,7 @@ durations with a fraction:
 @end example
 
 @noindent
-The duration of @var{music} will be multiplied by the
+The duration of @code{@var{music}} will be multiplied by the
 fraction.  The fraction's denominator will be printed over or
 under the notes, optionally with a bracket.  The most common
 tuplet is the triplet in which 3 notes have the duration of 2, so
@@ -218,7 +224,7 @@ Tuplets may be nested:
 
 @lilypond[quote,verbatim,relative=2]
 \autoBeamOff
-c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 |
+c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4
 @end lilypond
 
 Modifying nested tuplets which begin at the same musical moment
@@ -256,6 +262,9 @@ see @ref{Scaling durations}.
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {non-default-tuplet-numbers.ly}
 
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{controlling-tuplet-bracket-visibility.ly}
+
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {permitting-line-breaks-within-beamed-tuplets.ly}
 
@@ -266,7 +275,8 @@ Music Glossary:
 @rglos{tuplet},
 @rglos{polymetric}.
 
-Learning Manual: @rlearning{Tweaking methods}.
+Learning Manual:
+@rlearning{Tweaking methods}.
 
 Notation Reference:
 @ref{Time administration},
@@ -282,13 +292,20 @@ Internals Reference:
 @rinternals{TupletNumber},
 @rinternals{TimeScaledMusic}.
 
+
 @cindex grace notes within tuplet brackets
 
 @knownissues
-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.
+Grace notes may be placed within tuplet brackets, @emph{except}
+when a staff begins with a grace note followed by a tuplet.  In this
+particular case, the grace note must be placed before the @code{\times}
+command to avoid errors.
+
+@cindex tempo marks within tuplet brackets
+
+When using a tuplet at the beginning of a piece with a @code{\tempo}
+mark, the music must be explicitly entered in a @code{\new Voice}
+block, as discussed in @rlearning{Voices contain music}.
 
 
 @node Scaling durations
@@ -320,7 +337,7 @@ a4 a4
 b16*4 c4
 @end lilypond
 
-The duration of skip or spacing notes may also be modified by
+The duration of spacing notes may also be modified by
 a multiplier.  This is useful for skipping many measures, e.g.,
 @code{s1*23}.
 
@@ -352,7 +369,6 @@ and expanded:
 }
 @end lilypond
 
-@noindent
 One application of this command is in polymetric
 notation, see @ref{Polymetric notation}.
 
@@ -388,8 +404,6 @@ A tie is entered using the tilde symbol (@code{~}).
 a2 ~ a
 @end lilypond
 
-
-@noindent
 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:
@@ -445,7 +459,7 @@ have to specify the repeated tie as follows:
 @funindex \laissezVibrer
 @funindex laissezVibrer
 
-@notation{L.v.} ties (@notation{laissez vibrer}) indicate that
+@notation{L.v.}@: ties (@notation{laissez vibrer}) indicate that
 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:
@@ -506,10 +520,10 @@ c2 ~ c
 c2 ~ c
 @end lilypond
 
-Dash pattern definitions for ties have the same structure as 
+Dash pattern definitions for ties have the same structure as
 dash pattern definitions for slurs.
 For more information about complex dash patterns,
-see the snippets under @ref{Slurs}. 
+see the snippets under @ref{Slurs}.
 
 @predefined
 @code{\tieUp},
@@ -538,7 +552,7 @@ Music Glossary:
 @rglos{tie},
 @rglos{laissez vibrer}.
 
-Notation Reference: 
+Notation Reference:
 @ref{Slurs},
 @ref{Automatic note splitting}.
 
@@ -553,7 +567,6 @@ Internals Reference:
 
 
 @knownissues
-
 Switching staves when a tie is active will not produce a slanted
 tie.
 
@@ -593,12 +606,12 @@ Rests are entered as part of the music in music expressions.
 @funindex breve
 
 Rests are entered like notes with the note name @code{r}.
-Durations longer than a whole rest use the predefined
-commands shown:
+Durations longer than a whole rest use the following predefined
+commands:
 
 @c \time 16/1 is used to avoid spurious bar lines
 @c and long tracts of empty measures
-@lilypond[fragment,quote,verbatim]
+@lilypond[quote,verbatim,relative=2]
 \new Staff {
   % These two lines are just to prettify this example
   \time 16/1
@@ -618,8 +631,8 @@ commands shown:
 
 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}.
+measure as well as many measures and are discussed in
+@ref{Full measure rests}.
 
 @cindex rest, specifying vertical position
 
@@ -687,9 +700,11 @@ s2 c
 @cindex lyrics, skip
 
 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.
+other situations, for example, when entering lyrics, the
+command @code{\skip} is used to skip a musical moment.
+@code{\skip} requires an explicit duration, but this is ignored if
+the lyrics derive their durations from the notes in an associated
+melody through @code{\addlyrics} or @code{\lyricsto}.
 
 @lilypond[quote,verbatim,relative=2]
 <<
@@ -704,18 +719,34 @@ explicit duration.
 >>
 @end lilypond
 
+Because @code{\skip} is a command, it does not affect the default
+durations of following notes, unlike@tie{}@code{s}.
+
+@lilypond[quote,verbatim,relative=2]
+<<
+  {
+    \repeat unfold 8 { a4 }
+  }
+  {
+    a4 \skip 2 a |
+    s2 a
+  }
+>>
+@end lilypond
+
+
 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]
+@lilypond[quote,verbatim,relative=2]
 s1 s s
 @end lilypond
 
 @code{\skip} simply skips musical time; it creates no output of
 any kind.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This is valid input, but does nothing
 \skip 1 \skip1 \skip 1
 @end lilypond
@@ -732,7 +763,7 @@ Notation Reference:
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: 
+Internals Reference:
 @rinternals{SkipMusic}.
 
 
@@ -765,7 +796,7 @@ 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]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 2/4
 R1 | R2 |
@@ -780,7 +811,7 @@ R4*5*4 |
 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]
+@lilypond[quote,verbatim,relative=2]
 \time 4/4
 R1 |
 \time 6/4
@@ -802,7 +833,7 @@ show all the rest measures explicitly.  Alternatively, a multi-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,fragment,verbatim]
+@lilypond[quote,verbatim,relative=2]
 % Default behavior
 \time 3/4 r2. | R2.*2 |
 \time 2/4 R2 |
@@ -834,25 +865,23 @@ Markups can be added to multi-measure rests.
 The predefined command @code{\fermataMarkup}
 is provided for adding fermatas.
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 \compressFullBarRests
 \time 3/4
 R2.*10^\markup { \italic "ad lib." }
 R2.^\fermataMarkup
 @end lilypond
 
-@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.
-}
+@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:}
 
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim,relative=2]
 % This fails, as the wrong object name is specified
 \override TextScript #'padding = #5
 R1^"wrong"
-% This is correct and works
+% This is the correct object name to be specified
 \override MultiMeasureRestText #'padding = #5
 R1^"right"
 @end lilypond
@@ -864,7 +893,7 @@ setting, resulting bar-check warnings may not be displayed.
 @funindex \textLengthOn
 @funindex textLengthOn
 @funindex \textLengthOff
-@funindex textLenthOff
+@funindex textLengthOff
 @funindex \fermataMarkup
 @funindex fermataMarkup
 @funindex \compressFullBarRests
@@ -923,11 +952,9 @@ Internals Reference:
 @cindex multi-measure rests and fingerings
 
 @knownissues
-
-If an attempt is made to use fingerings (e.g.,
-@code{R1*10-4}) to put numbers over multi-measure rests, the
-fingering numeral (4) may collide with the bar counter
-numeral (10).
+Fingerings over multi-measure rests (e.g. @code{R1*10-4}) may result
+in the fingering numeral colliding with the bar counter
+numeral.
 
 @cindex condensing rests
 @cindex rest, condensing ordinary
@@ -944,6 +971,7 @@ Multi-measure rests do not take part in rest collisions.
 
 @menu
 * Time signature::
+* Metronome marks::
 * Upbeats::
 * Unmetered music::
 * Polymetric notation::
@@ -1014,6 +1042,83 @@ changed to a numeric style:
 Mensural time signatures are covered in
 @ref{Mensural time signatures}.
 
+@cindex time signature default settings
+@cindex autobeaming properties for time signatures
+@cindex beaming, time signature default properties
+@funindex \overrideTimeSignatureSettings
+
+In addition to setting the printed time signature, the @code{\time}
+command also sets time-signature-based default values for the properties
+@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.  The
+predefined default values for these properties can be found in
+@file{scm/time-signature-settings.scm}.  The existing default values can
+be changed, or new default values can be added:
+
+@lilypond[quote,verbatim]
+\score {
+  \relative c' {
+    \overrideTimeSignatureSettings
+      #'Score    % context
+      #'(4 . 4)  % timeSignatureFraction
+      #'(1 . 4)  % baseMomentFraction
+      #'(3 1)    % beatStructure
+      #'()       % beamExceptions
+    \time 4/4
+    \repeat unfold 8 { c8 } |
+  }
+}
+@end lilypond
+
+@code{\overrideTimeSignatureSettings} takes five arguments:
+
+@enumerate
+@item
+@code{@var{context}}, a Scheme symbol that describes the context
+to which the default setting will apply.
+
+@item
+@code{@var{timeSignatureFraction}}, a Scheme pair describing the
+time signature.
+
+@item
+@code{@var{baseMomentFraction}}, a Scheme pair containing the numerator
+and denominator of the basic timing unit for the time signature.
+
+@item
+@code{@var{beatStructure}}, a Scheme list indicating the structure
+of the beats in the measure, in units of the base moment.
+
+@item
+@code{@var{beamExceptions}}, an alist containing any beaming rules
+for the time signature that go beyond ending at every beat, as
+described in @ref{Setting automatic beam behavior}.
+@end enumerate
+
+@cindex time signature properties, restoring default values
+@cindex restoring default properties for time signatures
+@funindex \revertTimeSignatureSettings
+
+Changed values of default time signature properties can be restored
+to the original values:
+
+@lilypond[quote,verbatim]
+\score{
+  \relative c' {
+    \repeat unfold 8 { c8 } |
+    \overrideTimeSignatureSettings
+      #'Score                         % context
+      #'(4 . 4)                       % timeSignatureFraction
+      #'(1 . 4)                       % baseMomentFraction
+      #'(3 1)                         % beatStructure
+      #'((end . (((1 . 8) . (3 1))))) % beamExceptions
+    \time 4/4
+    \repeat unfold 8 { c8 } |
+    \revertTimeSignatureSettings #'Score #'(4 . 4)
+    \time 4/4
+    \repeat unfold 8 { c8 } |
+  }
+}
+@end lilypond
 
 @predefined
 @code{\numericTimeSignature},
@@ -1029,9 +1134,12 @@ Mensural time signatures are covered in
 @cindex compound time signatures
 @cindex time signature, compound
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {compound-time-signatures.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly}
+
 
 @seealso
 Music Glossary:
@@ -1048,6 +1156,91 @@ Internals Reference:
 @rinternals{TimeSignature},
 @rinternals{Timing_translator}.
 
+@node Metronome marks
+@unnumberedsubsubsec Metronome marks
+
+@cindex tempo
+@cindex beats per minute
+@cindex metronome mark
+@cindex metronome marking with text
+
+@funindex \tempo
+@funindex tempo
+
+A basic metronome mark is simple to write:
+
+@lilypond[verbatim,quote,relative=1]
+\tempo 4 = 120
+c2 d
+e4. d8 c2
+@end lilypond
+
+Tempo indications with text can be used instead:
+
+@lilypond[verbatim,quote,relative=2]
+\tempo "Allegretto"
+c4 e d c
+b4. a16 b c4 r4
+@end lilypond
+
+Combining a metronome mark and text will automatically place the
+metronome mark within parentheses:
+
+@lilypond[verbatim,quote,relative=2]
+\tempo "Allegro" 4 = 160
+g4 c d e
+d4 b g2
+@end lilypond
+
+In general, the text can be any markup object:
+
+@lilypond[verbatim,quote,relative=2]
+\tempo \markup { \italic Faster } 4 = 132
+a8-. r8 b-. r gis-. r a-. r
+@end lilypond
+
+A parenthesized metronome mark with no textual indication may be
+written by including an empty string in the input:
+
+@lilypond[verbatim,quote,relative=2]
+\tempo "" 8 = 96
+d4 g e c
+@end lilypond
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{printing-metronome-and-rehearsal-marks-below-the-staff.ly}
+
+@c perhaps also an example of how to move it horizontally?
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-tempo-without-a-metronome-mark.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{creating-metronome-marks-in-markup-mode.ly}
+
+For more details, see @ref{Formatting text}.
+
+
+@seealso
+Music Glossary:
+@rglos{metronome},
+@rglos{metronomic indication},
+@rglos{tempo indication},
+@rglos{metronome mark}.
+
+Notation Reference:
+@ref{Formatting text},
+@ref{MIDI output}.
+
+Snippets:
+@rlsr{Staff notation}.
+
+Internals Reference:
+@rinternals{MetronomeMark}.
+
 
 @node Upbeats
 @unnumberedsubsubsec Upbeats
@@ -1070,33 +1263,40 @@ entered using the @code{\partial} command, with the syntax
 \partial @var{duration}
 @end example
 
-where @code{duration} is the rhythmic length of the interval
-before the start of the first complete measure:
+@noindent
+where @code{@var{duration}} is the rhythmic length of the
+remaining interval of the current measure before the start of the
+next.
 
 @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:
+The partial measure can be any duration less than the full measure:
 
 @lilypond[quote,verbatim,relative=2]
 \partial 8*3 c8 d e |
 a2. c,4 |
 @end lilypond
 
-Internally, this is translated into
+Internally, @code{\partial @var{duration}} is translated into:
+
+@example
+\set Timing.measurePosition -@var{duration}
+@end example
+
+For example, @code{\partial 8*3} becomes:
 
 @example
-\set Timing.measurePosition = -@var{duration}
+\set Timing.measurePosition = #(ly:make-moment -3 8)
 @end example
 
 The property @code{measurePosition} contains a rational number
 indicating how much of the measure has passed at this point.  Note
-that this is set to a negative number by the @code{\partial}
-command: i.e., @code{\partial 4} is internally translated to
-@code{-4}, meaning @qq{there is a quarter note left in the measure.}
-
+that this is set to a negative number by the @code{\partial} command:
+i.e., @code{\partial 4} is internally translated to @code{-4}, meaning
+@qq{there is a quarter note left in the measure.}
 
 @seealso
 Music Glossary:
@@ -1111,12 +1311,12 @@ Snippets:
 Internal Reference:
 @rinternals{Timing_translator}.
 
-
 @knownissues
 
 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.
+odd warnings or effects may occur, in this case use
+@code{\set Timing.measurePosition} instead.
 
 @node Unmetered music
 @unnumberedsubsubsec Unmetered music
@@ -1137,10 +1337,10 @@ 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,relative=2,fragment]
+@lilypond[verbatim,relative=2,quote]
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
@@ -1149,17 +1349,40 @@ d4 e d c
 Bar numbering is resumed at the end of the cadenza as if the
 cadenza were not there:
 
-@lilypond[verbatim,relative=2,fragment]
+@lilypond[verbatim,relative=2,quote]
 % Show all bar numbers
 \override Score.BarNumber #'break-visibility = #all-visible
 c4 d e d
 \cadenzaOn
-c4 c d8 d d f4 g4.
+c4 c d8[ d d] f4 g4.
 \cadenzaOff
 \bar "|"
 d4 e d c
 @end lilypond
 
+@cindex beaming in cadenzas
+@cindex beaming in unmetered music
+@cindex cadenza, beaming in
+@cindex unmetered music, beaming in
+
+Automatic beaming is disabled by @code{\cadenzaOn} and enabled
+by @code{\cadenzaOff}.  Therefore, all beaming in cadenzas
+must be entered manually (@ref{Manual beams}).
+
+@lilypond[verbatim,relative=2,quote]
+\repeat unfold 8 { c8 }
+\cadenzaOn
+\repeat unfold 5 { c8 }
+\bar"|"
+\cadenzaOff
+\repeat unfold 8 { c8 }
+@end lilypond
+
+Note that these predefined commands affect all staves in the
+score, even when they are placed in just one @code{Voice}
+context.  To change this, move the @code{Timing_translator}
+from the @code{Score} context to the @code{Staff} context, as
+shown in @ref{Polymetric notation}.
 
 @predefined
 @code{\cadenzaOn},
@@ -1172,7 +1395,9 @@ Music Glossary:
 @rglos{cadenza}.
 
 Notation Reference:
-@ref{Visibility of objects}.
+@ref{Visibility of objects},
+@ref{Polymetric notation},
+@ref{Manual beams}.
 
 Snippets:
 @rlsr{Rhythms}.
@@ -1201,6 +1426,20 @@ staff line, you will need to insert invisible bar lines with
 @noindent
 to indicate where breaks can occur.
 
+You should explicitly create a @code{Voice} context when starting a
+piece with @code{\cadenzaOn}, otherwise strange errors may occur.
+
+@example
+\new Voice @{
+  \relative c' @{
+    \cadenzaOn
+    c16[^"Solo Free Time" d e f] g2.
+    \bar "||"
+    \cadenzaOff
+  @}
+@}
+@end example
+
 
 @node Polymetric notation
 @unnumberedsubsubsec Polymetric notation
@@ -1245,7 +1484,7 @@ 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,verbatim,fragment]
+@lilypond[quote,verbatim]
 \relative c' <<
   \new Staff {
     \time 3/4
@@ -1296,13 +1535,13 @@ moving the @code{Timing_translator} and the
   \new Staff {
     \time 3/4
     c4 c c |
-    c c c |
+    c4 c c |
   }
   \new Staff {
     \time 2/4
     c4 c |
-    c c |
-    c c |
+    c4 c |
+    c4 c |
   }
   \new Staff {
     \time 3/8
@@ -1343,7 +1582,7 @@ Internals Reference:
 @knownissues
 
 When using different time signatures in parallel, notes
-at the same moment will be be placed at the same horizontal
+at the same moment will 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
@@ -1380,7 +1619,8 @@ much each measure is off.
 
 
 @seealso
-Music Glossary: @rglos{tie}
+Music Glossary:
+@rglos{tie}
 
 Learning Manual:
 @rlearning{Engravers explained},
@@ -1456,7 +1696,6 @@ be done with the @code{Pitch_squash_engraver} and
       c1 f g c
     }
   }
-
   \new Voice \with {
     \consists Pitch_squash_engraver
   } \relative c'' {
@@ -1518,7 +1757,7 @@ By default, beams are inserted automatically:
 
 @lilypond[quote,verbatim,relative=2]
 \time 2/4 c8 c c c
-\time 6/8 c c c c8. c16 c8
+\time 6/8 c8 c c c8. c16 c8
 @end lilypond
 
 If these automatic decisions are not satisfactory, beaming can be
@@ -1543,8 +1782,11 @@ c16 c8
 automatic beaming should be switched off with @code{\autoBeamOff}
 and the beams indicated manually.}
 
-Beaming patterns that differ from the automatic defaults may be
-created, see @ref{Setting automatic beam behavior}.
+@warning{Using @code{@bs{}partcombine} with @code{@bs{}autoBeamOff} can
+produce unintended results.  See the snippet below for more information.}
+
+Beaming patterns that differ from the automatic defaults can be
+created; see @ref{Setting automatic beam behavior}.
 
 
 @predefined
@@ -1555,6 +1797,7 @@ created, see @ref{Setting automatic beam behavior}.
 
 @snippets
 
+
 @cindex line breaks and beams
 @cindex beams and line breaks
 
@@ -1566,6 +1809,13 @@ created, see @ref{Setting automatic beam behavior}.
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {changing-beam-knee-gap.ly}
 
+@cindex \partcombine and \autoBeamOff
+@cindex \autoBeamOff and \partcombine
+
+
+@lilypondfile [verbatim, lilyquote, ragged-right, texidoc, doctitle]
+{partcombine-and-autobeamoff.ly}
+
 
 @seealso
 Notation Reference:
@@ -1573,17 +1823,24 @@ Notation Reference:
 @ref{Setting automatic beam behavior}.
 
 Installed Files:
-@file{scm/@/auto@/-beam@/.scm}.
+@file{scm/auto-beam.scm}.
 
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{Beam}.
+Internals Reference:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface},
+@rinternals{unbreakable-spanner-interface}.
 
 
 @knownissues
 
-Beams can collide with note heads and accidentals in other voices
+Beams can collide with note heads and accidentals in other voices.
 
 
 @node Setting automatic beam behavior
@@ -1597,326 +1854,244 @@ Beams can collide with note heads and accidentals in other voices
 @cindex lyrics and beaming
 
 @funindex autoBeaming
-@funindex autoBeamSettings
-@funindex (end * * * *)
-@funindex (begin * * * *)
+@funindex baseMoment
+@funindex beamExceptions
+@funindex beatStructure
 @funindex measureLength
-@funindex beatLength
-@funindex beatGrouping
 @funindex \time
 @funindex time
 @funindex \set
 @funindex set
 
-There are two types of beaming rules:  @emph{beam-grouping}
-rules and @emph{beam-ending} rules.  Beam-grouping rules are the
-simplest, but are over-ridden by any beam-ending rules which apply.
+In most instances, automatic beams will end at the end of a beat.
+The ending points for beats are determined by the context properties
+@code{baseMoment} and @code{beatStructure}.  @code{beatStructure}
+is a scheme list that defines the length of each beat in the measure
+in units of @code{baseMoment}.  By default, @code{baseMoment} is
+the one over numerator of the time signature.  By default,
+each unit of length @code{baseMoment} is a single beat.
 
-The placement of automatic beams is determined by applying the
-following rules in order:
-
-@itemize
-
-@item If a manual beam is specified with @code{[..]} set the beam
-as specified, otherwise
-
-@item if @code{\autoBeamOff} is in force do not beam, otherwise
-
-@item if a beam-ending rule applies use it to determine the valid
-places where beams may end, otherwise
-
-@item if a valid (see below) beat-grouping rule applies use it to
-group notes with beams, otherwise
-
-@item use the value of @code{beatLength} to group notes with beams
-
-@end itemize
-
-@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.  The default values are set while processing
-@code{\time} commands, so any @code{\set} commands to modify their
-value must be placed after all @code{\time} commands.
-
-@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.}
-
-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
-
-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 3/8, 4/8, 5/8, 8/8, and all the common compound 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}.
+@lilypond[quote,relative=2,verbatim]
+\time 5/16
+c16^"default" c c c c |
+\set Timing.beatStructure = #'(2 3)
+c16^"(2+3)" c c c c |
+\set Timing.beatStructure = #'(3 2)
+c16^"(3+2)" c c c c |
+@end lilypond
 
-@code{beatGrouping} is a list of integers giving the number of
-beats in each group.
+Beam setting changes can be limited to specific contexts.  If no
+setting is included in a lower-level context, the setting of the
+enclosing context will apply.
 
-@snippets
+@lilypond[quote, verbatim,relative=1]
+\new Staff {
+  \time 7/8
+  \set Staff.beatStructure = #'(2 3 2)
+  <<
+    \new Voice = one {
+      \relative c'' {
+        a8 a a a a a a
+      }
+    }
+    \new Voice = two {
+      \relative c' {
+        \voiceTwo
+        \set Voice.beatStructure = #'(1 3 3)
+        f8 f f f f f f
+      }
+    }
+  >>
+}
+@end lilypond
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{grouping-beats.ly}
+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:
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{specifying-context-with-beatgrouping.ly}
+@lilypond[quote,verbatim,relative=2]
+\time 7/8
+% rhythm 3-1-1-2
+% Change applied to Voice by default --  does not work correctly
+% Because of autogenerated voices, all beating will
+% be at baseMoment (1 . 8)
+\set beatStructure = #'(3 1 1 2)
+<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{using-beatlength-and-beatgrouping.ly}
+% Works correctly with context Staff specified
+\set Staff.beatStructure = #'(3 1 1 2)
+<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
+@end lilypond
 
-@funindex subdivideBeams
+The value of @code{baseMoment} can be adjusted to change
+the beaming behavior, if desired. When this is done,
+the value of @code{beatStructure} must be set to be
+compatible with the new value of @code{baseMoment}.
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{sub-dividing-beams.ly}
-
-@cindex measure groupings
-@cindex beats, grouping
-@cindex grouping beats
-@cindex measure sub-grouping
+@lilypond[quote,verbatim,relative=2]
+\time 5/8
+\set Timing.baseMoment = #(ly:make-moment 1 16)
+\set Timing.beatStructure = #'(7 3)
+\repeat unfold 10 { a16 }
+@end lilypond
 
-@funindex autoBeamSettings
+@code{baseMoment} is a @i{moment}; a unit 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}.
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{conducting-signs,-measure-grouping-signs.ly}
+By default @code{baseMoment} is set to one over the denominator of
+the time signature. Any exceptions to this default can be found in
+@file{scm/time-signature-settings.scm}.
 
+Special autobeaming rules (other than ending a beam on a beat)
+are defined in the @code{beamExceptions} property.
 
-@strong{@i{Modifying the beam end points}}
+@lilypond[quote,relative=2,verbatim]
+\time 3/16
+\set Timing.beatStructure = #'(2 1)
+\set Timing.beamExceptions =
+  #'(                         ;start of alist
+     (end .                   ;entry for end of beams
+      (                       ;start of alist of end points
+       ((1 . 32) . (2 2 2))   ;rule for 1/32 beams -- end each 1/16
+      )))                     %close all entries
+c16 c c |
+\repeat unfold 6 { c32 } |
+@end lilypond
 
-Beam-ending rules are required when beams of different durations are
-to end at different points within the measure.  For example, it may
-be desirable for eighth-note beams in 4/4 time to end only at the
-end of the measure or half-way through it, but for sixteenth-note
-beams to end at quarter note positions to avoid overly long beamed
-runs.  The rules work as follows:
+@code{beamExceptions} is an alist with a key of rule-type and a value
+of beaming-rules.
 
-Automatic beams can start on any note but can end at only a few
-positions within the measure, namely at positions 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 file, see
-@rlearning{Other sources of information}.
+At this time the only available value of rule-type is
+@code{#'end} for beam ending.
 
-In order to add a rule to the list, use
+Beaming-rules is a scheme alist (or list of pairs) that indicates the
+beam type and the grouping to be applied to beams containing notes with
+a shortest duration of that beam type.
 
 @example
-#(override-auto-beam-setting
-  '(beam-limit
-    beam-numerator  beam-denominator
-    time-signature-numerator time-signature-denominator)
-  moment-numerator moment-denominator [context])
+#'((beam-type1 . grouping-1)
+   (beam-type2 . grouping-2)
+   (beam-type3 . grouping-3))
 @end example
 
-@noindent
-where
-
-@itemize
-
-@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{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{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.
+Beam type is a scheme pair indicating the duration of the beam,
+e.g., @code{(1 . 16)}.
 
-@item @code{moment-numerator/moment-denominator} is the position
-in the bar at which the beam should end.
+Grouping is a scheme list indicating the grouping to be applied to
+the beam.  The grouping is in units of the beam type.
 
-@funindex score-override-auto-beam-setting
-@funindex override-auto-beam-setting
+@warning{ A @code{beamExceptions} value must be @emph{complete}
+exceptions list.  That is, every exception that should be applied
+must be included in the setting.  It is not possible to add, remove,
+or change only one of the exceptions. While this may seem cumbersome,
+it means that the current beaming settings need not be known in order
+to specify a new beaming pattern.}
 
-@item @code{context} is optional, and it specifies the context at which
-the change should be made.  The default is @code{'Voice}.
-
-@code{#(score-override-auto-beam-setting '(A B C D) E F)} is equivalent to
-@code{#(override-auto-beam-setting '(A B C D) E F 'Score)}.
-
-@end itemize
-
-For example, if automatic beams should always end on the first quarter
-note, whatever the time signature or beam duration, use
+When the time signature is changed, default values of
+@code{Timing.baseMoment}, @code{Timing.beatStructure},
+and @code{Timing.beamExceptions} are set.  Setting the time signature
+will reset the automatic beaming settings for the @code{Timing}
+context to the default behavior.
 
 @lilypond[quote,verbatim,relative=2]
-a8 a a a a a a a
-#(override-auto-beam-setting '(end * * * *) 1 4)
-a8 a a a a a a a
+\time 6/8
+\repeat unfold 6 { a8 }
+% group (4 + 2)
+\set Timing.beatStructure = #'(4 2)
+\repeat unfold 6 { a8 }
+% go back to default behavior
+\time 6/8
+\repeat unfold 6 { a8 }
 @end lilypond
 
-You can force the beam settings to take effect only on beams whose shortest
-note is a certain duration
+These default automatic beaming settings for a time signature
+are determined in @file{scm/time-signature-settings.scm}.
+The automatic beaming settings for a time signature can be changed
+as described in @ref{Time signature}.
 
-@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 take effect only in certain time
-signatures
+@i{@strong{How automatic beaming works}}
 
-@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
-e8 e f f e e d d
-\time 5/8
-c8 c d d d
-@end lilypond
+When automatic beaming is enabled, the placement of automatic beams
+is determined by the context properties
+@code{baseMoment}, @code{beatStructure}, and @code{beamExceptions}.
 
-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:
+The following rules, in order of priority, apply when determining
+the appearance of beams:
 
-@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} >>
+@itemize
+@item
+If a manual beam is specified with @code{[..]} set the beam
+as specified, otherwise
 
-% 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
+@item
+if a beam-ending rule is defined in @code{beamExceptions}
+for the beam-type, use it to determine the valid places where
+beams may end, otherwise
 
-@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.}
+@item
+if a beam-ending rule is defined in @code{beamExceptions}
+for a longer beam-type, use it to determined the valid places
+where beams may end, otherwise
 
-@funindex revert-auto-beam-setting
+@item
+use the values of @code{baseMoment} and @code{beatStructure} to
+determine the ends of the beats in the measure, and
+end beams at the end of beats.
 
-Any unwanted or conflicting default endings must be reverted for
-your time signature(s).  Existing default or user-defined
-beam-ending rules are removed by using
+@end itemize
 
-@example
-#(revert-auto-beam-setting
-  '(beam-limit
-    beam-numerator  beam-denominator
-    time-signature-numerator time-signature-denominator)
-  moment-numerator moment-denominator [context])
-@end example
+In the rules above, the beam-type is the duration of the
+shortest note in the beamed group.
 
-@noindent
-@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.
+For reference, the default beaming rules are found in
+@file{scm/time-signature-settings.scm}.
 
-@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
+@snippets
 
-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.
+@cindex beams, subdividing
 
-@lilypond[quote,verbatim,relative=2]
-\time 1/4
-#(override-auto-beam-setting '(end 1 16 1 4) 1 8)
-a16 a a a
-#(revert-auto-beam-setting '(end 1 16 * *) 1 8) % this won't revert it!
-a a a a
-#(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % this will
-a a a a
-@end lilypond
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{subdividing-beams.ly}
 
-@snippets
+@cindex measure groupings
+@cindex beats, grouping
+@cindex grouping beats
+@cindex measure sub-grouping
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{beam-grouping-in-7-8-time.ly}
+{conducting-signs,-measure-grouping-signs.ly}
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{reverting-default-beam-endings.ly}
+@cindex beam, last in score
+@cindex beam, last in polyphonic voice
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {beam-endings-in-score-context.ly}
 
-@funindex \autoBeamOff
-@funindex autoBeamOff
-@funindex \autoBeamOn
-@funindex autoBeamOn
 
-@predefined
-@code{\autoBeamOff},
-@code{\autoBeamOn}.
-@endpredefined
+@seealso
+Installed Files:
+@file{scm/beam-settings.scm}.
 
+Snippets:
+@rlsr{Rhythms}.
 
-@cindex beam, last in score
-@cindex beam, last in polyphonic voice
+Internals Reference:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface}.
 
-@knownissues
 
+@knownissues
 If a score ends while an automatic beam has not been ended and is
 still accepting notes, this last beam will not be typeset at all.
-The same holds for polyphonic voices, entered with @code{<<
-@dots{} \\ @dots{} >>}.  If a polyphonic voice ends while an
+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:
-@rlsr{Rhythms}.
-
+The workaround for these problems is to manually beam the last
+beam in the voice or score.
 
 @node Manual beams
 @unnumberedsubsubsec Manual beams
@@ -1931,15 +2106,21 @@ In some cases it may be necessary to override the automatic
 beaming algorithm.  For example, the autobeamer will not put beams
 over rests or bar lines, and in choral scores the beaming is
 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{]}
+notes.  Such beams can be specified manually by
+marking the begin and end point with @code{[} and @code{]}.
 
 @lilypond[quote,relative=1,verbatim]
-{
-  r4 r8[ g' a r8] r8 g[ | a] r8
-}
+r4 r8[ g' a r] r g[ | a] r
 @end lilypond
 
+@cindex manual beams, direction shorthand for
+@cindex manual beams, grace notes
+
+Beaming direction can be set manually using direction indicators:
+
+@lilypond[quote,relative=2,verbatim]
+c8^[ d e] c,_[ d e f g]
+@end lilypond
 
 @funindex \noBeam
 @funindex noBeam
@@ -1948,7 +2129,19 @@ Individual notes may be marked with @code{\noBeam} to prevent them
 from being beamed:
 
 @lilypond[quote,verbatim,relative=2]
-\time 2/4 c8 c\noBeam c c
+\time 2/4
+c8 c\noBeam c c
+@end lilypond
+
+Grace note beams and normal note beams can occur simultaneously.
+Unbeamed grace notes are not put into normal note beams.
+
+@lilypond[quote,verbatim,relative=2]
+c4 d8[
+\grace { e32[ d c d] }
+e8] e[ e
+\grace { f16 }
+e8 e]
 @end lilypond
 
 @funindex stemLeftBeamCount
@@ -1968,17 +2161,39 @@ a8[ r16 f g a]
 a8[ r16
 \set stemLeftBeamCount = #2
 \set stemRightBeamCount = #1
-f
+f16
 \set stemLeftBeamCount = #1
-g a]
+g16 a]
 @end lilypond
 
 
+@predefined
+@code{\noBeam}.
+@endpredefined
+
+
 @snippets
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {flat-flags-and-beam-nibs.ly}
 
+
+@seealso
+Notation Reference:
+@ref{Direction and placement},
+@ref{Grace notes}.
+
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{Beam_engraver},
+@rinternals{beam-interface},
+@rinternals{Stem_engraver}.
+
+
 @node Feathered beams
 @unnumberedsubsubsec Feathered beams
 
@@ -2030,17 +2245,22 @@ the last four 32nd notes are at a constant tempo.
 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.
 
+@predefined
+@code{\featherDurations}.
+@endpredefined
 
 @seealso
 Snippets:
 @rlsr{Rhythms}.
 
 
+@knownissues
+
+The @code{\featherDurations} command only works with very short
+music snippets, and when numbers in the fraction are small.
+
+
 @node Bars
 @subsection Bars
 
@@ -2097,7 +2317,7 @@ music which flows off the page.}
 
 Line breaks are also permitted at manually inserted bar lines
 even within incomplete measures.  To allow a line break without
-printing a bar line, use
+printing a bar line, use the following:
 
 @example
 \bar ""
@@ -2115,42 +2335,82 @@ counter is not increased.  To force a line break see
 @cindex measure lines, manual
 
 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 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.
-
-Two types of simple bar lines and five types of double bar lines are available
-for manual insertion:
+point.  When they coincide with the end of a measure they replace
+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.
+
+Note that manual bar lines are purely visual.  They do not affect
+any of the properties that a normal bar line would affect, such as
+measure numbers, accidentals, line breaks, etc.  They do not affect
+the calculation and placement of subsequent automatic bar lines.
+When a manual bar line is placed where a normal bar line already
+exists, the effects of the original bar line are not altered.
+
+Two types of simple bar lines and five types of double bar lines are
+available for manual insertion:
 
 @lilypond[quote,relative=1,verbatim]
-f1 \bar "|" f \bar "." g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e
+f1 \bar "|"
+f1 \bar "."
+g1 \bar "||"
+a1 \bar ".|"
+b1 \bar ".|."
+c1 \bar "|.|"
+d1 \bar "|."
+e1
 @end lilypond
 
 @noindent
 together with dotted and dashed bar lines:
 
 @lilypond[quote,relative=1,verbatim]
-f1 \bar ":" g \bar "dashed" a
+f1 \bar ":"
+g1 \bar "dashed"
+a1
 @end lilypond
 
 @noindent
 and five types of repeat bar line:
 
 @lilypond[quote,relative=1,verbatim]
-f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d
+f1 \bar "|:"
+g1 \bar ":|:"
+a1 \bar ":|.|:"
+b1 \bar ":|.:"
+c1 \bar ":|"
+e1
 @end lilypond
 
 Additionally, a bar line can be printed as a simple tick:
 @lilypond[quote,relative=1,verbatim]
 f1 \bar "'"
 @end lilypond
-However, as such ticks are typically used in Gregorian chant, it is preferable 
-to use @code{\divisioMinima} there instead, described in the section 
-@ref{Divisiones} in Gregorian chant.
+However, as such ticks are typically used in Gregorian chant, it is
+preferable to use @code{\divisioMinima} there instead, described in
+the section @ref{Divisiones} in Gregorian chant.
+
+@cindex segno
 
+For in-line segno signs, there are three types of bar lines which
+differ in their behavior at line breaks:
+
+@lilypond[quote,relative=2,verbatim]
+c4 c c c
+\bar "S"
+c4 c c c \break
+\bar "S"
+c4 c c c
+\bar "|S"
+c4 c c c \break
+\bar "|S"
+c4 c c c
+\bar "S|"
+c4 c c c \break
+\bar "S|"
+c1
+@end lilypond
 
 @cindex repeats
 
@@ -2166,26 +2426,57 @@ line at the end of the line and a start repeat at the beginning of
 the next line.
 
 @lilypond[quote,relative=2,verbatim]
-\override Score.RehearsalMark #'padding = #3
-c c c c
+c4 c c c
 \bar "||:"
-c c c c \break
+c4 c c c \break
 \bar "||:"
-c c c c
+c4 c c c
 @end lilypond
 
+For combinations of repeats with the segno sign, there are six different
+variations:
+
+@lilypond[quote,relative=2,verbatim]
+c4 c c c
+\bar ":|S"
+c4 c c c \break
+\bar ":|S"
+c4 c c c
+\bar ":|S."
+c4 c c c \break
+\bar ":|S."
+c4 c c c
+\bar "S|:"
+c4 c c c \break
+\bar "S|:"
+c4 c c c
+\bar ".S|:"
+c4 c c c \break
+\bar ".S|:"
+c4 c c c
+\bar ":|S|:"
+c4 c c c \break
+\bar ":|S|:"
+c4 c c c
+\bar ":|S.|:"
+c4 c c c \break
+\bar ":|S.|:"
+c1
+@end lilypond
+
+
 In scores with many staves, a @code{\bar} command in one staff is
 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,fragment,verbatim]
+@lilypond[quote,relative=1,verbatim]
 <<
   \new StaffGroup <<
     \new Staff {
-      e'4 d'
+      e4 d
       \bar "||"
-      f' e'
+      f4 e
     }
     \new Staff { \clef bass c4 g e g }
   >>
@@ -2205,14 +2496,13 @@ connected between different staves of a @code{StaffGroup},
 @funindex bar
 @funindex bartype
 
-The command @code{\bar }@var{bartype} is a shortcut for
-@code{\set Timing.whichBar = }@var{bartype}.  A bar line is
-created whenever the @code{whichBar} property is
-set.
+The command @samp{\bar @var{bartype}} is a shortcut for
+@samp{\set Timing.whichBar = @var{bartype}}.  A bar line is
+created whenever the @code{whichBar} property is 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}.
+@code{"|"}.  This may be changed at any time with
+@samp{\set Timing.defaultBarType = @var{bartype}}.
 
 
 @seealso
@@ -2224,10 +2514,10 @@ Notation Reference:
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{BarLine} (created at
-@rinternals{Staff} level), @rinternals{SpanBar} (across
-staves), @rinternals{Timing_translator} (for Timing
-properties).
+Internals Reference:
+@rinternals{BarLine} (created at @code{Staff} level),
+@rinternals{SpanBar} (across staves),
+@rinternals{Timing_translator} (for Timing properties).
 
 
 @node Bar numbers
@@ -2245,7 +2535,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,quote,fragment,relative=1]
+@lilypond[verbatim,quote,relative=1]
 c1 c c c
 \break
 \set Score.currentBarNumber = #50
@@ -2306,19 +2596,19 @@ c1 | c | c | c
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{BarNumber}.
+Internals Reference:
+@rinternals{BarNumber},
+@rinternals{Bar_number_engraver}.
 
 
 @cindex bar number collision
 @cindex collision, bar number
 
 @knownissues
-
-Bar numbers may collide with the top of the
-@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 collide with the top of the @code{StaffGroup} bracket,
+if there is one.  To solve this, the @code{padding} property of
+@code{BarNumber} can be used to position the number correctly.  See
+@rinternals{StaffGroup} and @rinternals{BarNumber} for more.
 
 
 @node Bar and bar number checks
@@ -2343,7 +2633,7 @@ next example, the second bar check will signal an error.
 \time 3/4 c2 e4 | g2 |
 @end example
 
-Bar checks can also be used in lyrics, for example
+Bar checks can also be used in lyrics:
 
 @example
 \lyricmode @{
@@ -2376,10 +2666,10 @@ for end of bar.
 @lilypond[quote,verbatim]
 pipeSymbol = \bar "||"
 {
-  c'2 c'2 |
-  c'2 c'2
-  c'2 | c'2
-  c'2 c'2
+  c'2 c' |
+  c'2 c'
+  c'2 | c'
+  c'2 c'
 }
 @end lilypond
 
@@ -2414,7 +2704,20 @@ Snippets:
 @funindex \mark
 @funindex mark
 
-To print a rehearsal mark, use the @code{\mark} command
+To print a rehearsal mark, use the @code{\mark} command.
+
+@lilypond[quote,verbatim,relative=2]
+c1 \mark \default
+c1 \mark \default
+c1 \mark \default
+c1 \mark \default
+@end lilypond
+
+@noindent
+The mark is incremented automatically if you use @code{\mark
+\default}, but you can also use an integer argument to set the
+mark manually.  The value to use is stored in the property
+@code{rehearsalMark}.
 
 @lilypond[quote,verbatim,relative=2]
 c1 \mark \default
@@ -2426,16 +2729,25 @@ c1 \mark \default
 
 @noindent
 The letter@tie{}@q{I} is skipped in accordance with engraving
-traditions.  If you wish to include the letter @q{I}, then use
+traditions.  If you wish to include the letter @q{I}, then use one
+of the following commands, depending on which style of rehearsal mark
+you want (letters only, letters in a hollow box, or letters in a
+hollow circle).
 
 @example
 \set Score.markFormatter = #format-mark-alphabet
+\set Score.markFormatter = #format-mark-box-alphabet
+\set Score.markFormatter = #format-mark-circle-alphabet
 @end example
 
-The mark is incremented automatically if you use @code{\mark
-\default}, but you can also use an integer argument to set the
-mark manually.  The value to use is stored in the property
-@code{rehearsalMark}.
+@lilypond[quote,verbatim,relative=2]
+\set Score.markFormatter = #format-mark-box-alphabet
+c1 \mark \default
+c1 \mark \default
+c1 \mark #8
+c1 \mark \default
+c1 \mark \default
+@end lilypond
 
 @cindex rehearsal mark format
 @cindex rehearsal mark style
@@ -2467,7 +2779,7 @@ c1 \mark \default
 c1
 @end lilypond
 
-The file @file{scm/@/translation@/-functions@/.scm} contains the
+The file @file{scm/translation-functions.scm} contains the
 definitions of @code{format-mark-numbers} (the default format),
 @code{format-mark-box-numbers}, @code{format-mark-letters} and
 @code{format-mark-box-letters}.  These can be used as inspiration
@@ -2478,15 +2790,15 @@ You may use @code{format-mark-barnumbers},
 @code{format-mark-circle-barnumbers} to get bar numbers instead of
 incremented numbers or letters.
 
-Other styles of rehearsal mark can be specified manually
+Other styles of rehearsal mark can be specified manually:
 
 @example
 \mark "A1"
 @end example
 
 @noindent
-@code{Score.markFormatter} does not affect marks specified in this
-manner.  However, it is possible to apply a @code{\markup} to the
+Note that @code{Score.markFormatter} does not affect marks specified
+in this manner.  However, it is possible to apply a @code{\markup} to the
 string.
 
 @example
@@ -2518,24 +2830,29 @@ 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{Formatting text}.
+@ref{Formatting text}.  For more precise control, see
+@code{break-alignable-interface} in @ref{Aligning objects}.
 
 
 @seealso
 Notation Reference:
 @ref{The Feta font},
-@ref{Formatting text}.
+@ref{Formatting text},
+@ref{Aligning objects}.
 
 Installed Files:
-@file{scm/@/translation@/-functions@/.scm} contains
-the definition of @code{format-mark-numbers} and
+@file{scm/translation-functions.scm} contains
+the definitions of @code{format-mark-numbers} and
 @code{format-mark-letters}.  They can be used as inspiration for
 other formatting functions.
 
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{RehearsalMark}.
+Internals Reference:
+@rinternals{MarkEvent},
+@rinternals{Mark_engraver},
+@rinternals{RehearsalMark}.
 
 
 @node Special rhythmic concerns
@@ -2559,7 +2876,7 @@ Internals Reference: @rinternals{RehearsalMark}.
 @funindex \grace
 @funindex grace
 
-Grace notes are ornaments that are written out. Grace notes
+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.
 
@@ -2569,8 +2886,8 @@ c4 \grace c16 c4
 @end lilypond
 
 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
+@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.
 
@@ -2586,8 +2903,10 @@ staves.  In the following example, there are two sixteenth grace
 notes for every eighth grace note
 
 @lilypond[quote,relative=2,verbatim]
-<< \new Staff { e2 \grace { c16[ d e f] } e2 }
-   \new Staff { c2 \grace { g8[ b] } c2 } >>
+<<
+  \new Staff { e2 \grace { c16[ d e f] } e2 }
+  \new Staff { c2 \grace { g8[ b] } c2 }
+>>
 @end lilypond
 
 @cindex grace notes, following
@@ -2626,13 +2945,15 @@ finally at 1/2 of the main note.
 @end lilypond
 
 The space between the main note and the grace note may also be
-specified using spacers. The following example places the grace
+specified using spacers.  The following example places the grace
 note after a space lasting 7/8 of the main note.
 
 @lilypond[quote,verbatim,relative=2]
 \new Voice {
-  << { d1^\trill_( }
-     { s2 s4. \grace { c16[ d] } } >>
+  <<
+    { d1^\trill_( }
+    { s2 s4. \grace { c16[ d] } }
+  >>
   c1)
 }
 @end lilypond
@@ -2645,8 +2966,8 @@ A @code{\grace} music expression will introduce special
 typesetting settings, for example, to produce smaller type, and
 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
+the grace expression.  The overrides should also be reverted
+inside the grace expression.  Here, the grace note's default stem
 direction is overridden and then reverted.
 
 @lilypond[quote,verbatim,relative=2]
@@ -2685,11 +3006,20 @@ Music Glossary:
 @rglos{acciaccatura},
 @rglos{appoggiatura}.
 
-Installed Files: @file{ly/@/grace@/-init@/.ly}.
+Notation Reference:
+@ref{Manual beams}.
 
-Snippets: @rlsr{Rhythms}.
+Installed Files:
+@file{ly/grace-init.ly}.
+
+Snippets:
+@rlsr{Rhythms}.
 
-Internals Reference: @rinternals{GraceMusic}.
+Internals Reference:
+@rinternals{GraceMusic},
+@rinternals{Grace_beam_engraver},
+@rinternals{Grace_engraver},
+@rinternals{Grace_spacing_engraver}.
 
 
 @knownissues
@@ -2792,7 +3122,10 @@ Snippets:
 Time is administered by the @code{Timing_translator}, which by
 default is to be found in the @code{Score} context.  An alias,
 @code{Timing}, is added to the context in which the
-@code{Timing_translator} is placed.
+@code{Timing_translator} is placed.  To ensure that the
+@code{Timing} alias is available, you may need to explicitly
+instantiate the containing context (such as @code{Voice} or
+@code{Staff}).
 
 The following properties of @code{Timing} are used
 to keep track of timing within the score.
@@ -2831,14 +3164,16 @@ 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,verbatim,relative=1]
-\set Score.measureLength = #(ly:make-moment 5 4)
-c1 c4
-c1 c4
-c4 c4
-\set Score.measurePosition = #(ly:make-moment 5 8)
-b4 b4 b8
-c4 c1
+@lilypond[quote,verbatim]
+\new Voice \relative c' {
+  \set Timing.measureLength = #(ly:make-moment 5 4)
+  c1 c4 |
+  c1 c4 |
+  c4 c
+  \set Timing.measurePosition = #(ly:make-moment 5 8)
+  b4 b b8 |
+  c4 c1 |
+}
 @end lilypond
 
 @noindent
@@ -2850,11 +3185,14 @@ notes.
 
 
 @seealso
-This manual: @ref{Bar numbers}, @ref{Unmetered music}
+Notation Reference:
+@ref{Bar numbers},
+@ref{Unmetered music}.
 
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{Timing_translator},
-@rinternals{Score}
+Internals Reference:
+@rinternals{Timing_translator},
+@rinternals{Score}.