]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/rhythms.itely
Doc: ensure two spaces after end of sentence.
[lilypond.git] / Documentation / notation / rhythms.itely
index 894e95959eb51b245a485de568c79bfb5bcc4303..8d83dd3c9de4f86a636cba031d6e7cb2dc7ff746 100644 (file)
@@ -3,7 +3,8 @@
     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"
@@ -139,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},
@@ -217,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
@@ -255,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}
 
@@ -286,10 +296,16 @@ Internals Reference:
 @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
@@ -321,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}.
 
@@ -685,9 +701,9 @@ 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.
 
 @lilypond[quote,verbatim,relative=2]
 <<
@@ -702,6 +718,22 @@ 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:
@@ -730,7 +762,7 @@ Notation Reference:
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: 
+Internals Reference:
 @rinternals{SkipMusic}.
 
 
@@ -862,7 +894,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
@@ -1012,6 +1044,72 @@ 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
+      #'(4 . 4)  % time signature fraction
+      #'(1 . 4)  % base moment fraction
+      #'(3 1)    % beatStructure
+      #'()       % beamExceptions
+    \time 4/4
+    \repeat unfold 8 c8 |
+  }
+}
+@end lilypond
+
+@code{\overrideTimeSignatureSettings} takes five arguments:
+context, time signature fraction, base moment, beat structure, and
+beaming exception.  The context is a Scheme symbol that describes
+the context to which the default setting will apply.  The
+time signature fraction is a Scheme pair describing the time signature.
+The base moment is a Scheme pair containing the
+numerator and denominator of the basic timing unit for the
+time signature.  The beat structure is a Scheme list indicating
+the structure of the beats in the measure, in units of the base moment.
+The beaming exception is 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}.
+
+@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
+      #'(4 . 4)
+      #'(1 . 4)
+      #'(3 1)
+      #'((end . (((1 . 8) . (3 1)))))
+    \time 4/4
+    \repeat unfold 8 c8 |
+    \revertTimeSignatureSettings #'Score #'(4 . 4)
+    \time 4/4
+    \repeat unfold 8 c8 |
+  }
+}
+@end lilypond
 
 @predefined
 @code{\numericTimeSignature},
@@ -1072,34 +1170,38 @@ entered using the @code{\partial} command, with the syntax
 @end example
 
 @noindent
-where @code{duration} is the rhythmic length of the interval
-before the start of the first complete measure:
+where @code{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, @code{\partial} is translated into
+Internally, @code{\partial @var{duration}} is translated into:
 
 @example
-\set Timing.measurePosition = -@var{duration}
+\set Timing.measurePosition -@var{duration}
+@end example
+
+For example, @code{\partial 8*3} becomes:
+
+@example
+\set Timing.measurePosition = #(ly:make-moment -3 8)
 @end example
 
-@noindent
 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:
@@ -1114,12 +1216,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
@@ -1210,6 +1312,17 @@ staff line, you will need to insert invisible bar lines with
 @noindent
 to indicate where breaks can occur.
 
+You must explicitly create a @code{Voice} context when starting a
+piece with @code{\cadenzaOn}, otherwise strange errors may occur.
+
+@lilypond[verbatim,relative=2,fragment]
+\new Voice \relative c'{
+  \cadenzaOn
+  c16^"Solo Free Time" d e f g2. \bar "||"
+  \cadenzaOff
+}
+@end lilypond
+
 
 @node Polymetric notation
 @unnumberedsubsubsec Polymetric notation
@@ -1305,13 +1418,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
@@ -1352,7 +1465,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
@@ -1589,7 +1702,13 @@ Snippets:
 @rlsr{Rhythms}.
 
 Internals Reference:
-@rinternals{Beam}.
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface},
+@rinternals{unbreakable-spanner-interface}.
 
 
 @knownissues
@@ -1608,67 +1727,79 @@ Beams can collide with note heads and accidentals in other voices.
 @cindex lyrics and beaming
 
 @funindex autoBeaming
-@funindex beamSettings
+@funindex baseMoment
+@funindex beamExceptions
+@funindex beatStructure
 @funindex measureLength
-@funindex beatLength
 @funindex \time
 @funindex time
 @funindex \set
 @funindex set
 
-The placement of automatic beams is determined by the time signature.
-Three types of rules are used for determining the end of automatic
-beams: @emph{default} rules
-for the time signature, @emph{explicit} rules for the beam in the time
-signature, and the @emph{beatLength} for the time signature.
+The placement of automatic beams is determined by the context properties
+@code{baseMoment}, @code{beatStructure}, @code{beamExceptions},
+and @code{autoBeaming}.
 
 The following rules, in order of priority, apply when determining
 the appearance of beams:
 
 @itemize
-
-@item If a manual beam is specified with @code{[..]} set the beam
+@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 @code{\autoBeamOff} is in force do not beam, otherwise
 
-@item if an explicit beam-ending rule is defined for the beam type
-in the time signature, use it to determine the valid
-places where beams may end, otherwise
+@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
 
-@item if a default beam-ending rule is defined in the time signature,
-use it to group notes with beams, otherwise
+@item
+if a beam-ending rule is defined in @code{beamExceptions}
+for a larger beam-type, use it to determined the valid places
+where beams may end, otherwise
 
-@item use the value of @code{beatLength} to group notes with beams
+@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.
 
 @end itemize
 
+The beam type is the duration of the shortest note in the beamed group.
+If no beam-ending rule is defined for a beam type, the rule for the
+smallest beam-type larger than the current beam is used.
+
 @i{@strong{Modifying the grouping of beats}}
 
-By default @code{beatLength} is
-derived from the time signature set by the @code{\time} command.
-The @code{beatLength} is set to be one over the denominator
-of the time signature.
+By default @code{baseMoment} is set by the @code{\time} command,
+normally to one over the denominator of the time signature.
+Any exceptions to this default
+can be found in @file{scm/@/time@/-signature@/-settings@/.scm}.
+Changing the default value of @code{baseMoment} for a given
+time signature is described in @ref{Time signature}.
 
-@code{beatLength} is a @i{moment},
+@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}.
 
-Autobeam and beam subdivide settings are stored in the
-@code{beamSettings} property.  Default values of @code{beamSettings}
-are determined in @file{scm/@/beam@/-settings@/.scm}.  Entries in
-@code{beamSettings} are indexed by time signature and
-rule type.
+Special (i.e., other than at the end of the beat) autobeam settings
+are stored in the
+@code{beamExceptions} property.  Default values of @code{beamExceptions}
+are established by the @code{\time} command.  Default values of
+@code{beamExceptions} for a time signature
+are determined in @file{scm/@/time@/-signature@/-settings@/.scm}.
+Entries in @code{beamExceptions} are indexed by rule type and beam type.
 
-Time signature should be a scheme pair , e.g. @code{#'(4 . 4)}.
+Rule type should be @code{#'end} for beam ending.
 
-Rule type should be @code{#'end} for beam ending and @code{#'subdivide} for
-beam subdivision.
-
-The ending and subdivision rules consist of a scheme alist
+The ending rules consist of a scheme alist
 (or list of pairs) that
-indicates the beam type and the grouping to be applied to that
+indicates the beam type and the grouping to be applied to
+beams containing notes with a shortest duration of that
 beam type.
 
 @example
@@ -1677,26 +1808,34 @@ beam type.
    (beam-type3 . grouping-3))
 @end example
 
-Beam type is either a scheme pair indicating the duration
-of the beam, e.g. @code{(1 . 16)}, or @code{*} to indicate a
-default rule, which applies to all beams if no explicit rule is
-defined.
+Beam type is a scheme pair indicating the duration
+of the beam, e.g., @code{(1 . 16)}.
 
 Grouping is a scheme list indicating the grouping to be applied to
-the beam.  For default rules (where beam type is
-@code{*}, the grouping is in units of @code{beatLength}.
-For explicit rules, the grouping is in units of the beam type.
+the beam.  The grouping is in units of the beam type.
+
+For reference, the default beaming rules are found in
+@file{scm/time-signature-settings.scm}.
 
-Beam settings are changed with
-@code{\overrideBeamSettings} and @code{\revertBeamSettings}.
+Alternate values for @code{beamExceptions}
+can be defined using the @code{\set} command.
+
+@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.}
 
 @lilypond[quote,relative=2,verbatim]
-  \time 5/16
-  c8^"beats" c16 c8 |
-  \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3)))
-  c8^"(2+3)" c16 c8
-  \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2)))
-  c8^"(3+2)" c16 c8
+\time 5/16
+c8^"beats" c16 c8 |
+\set beatStructure = #'(2 3)
+c8^"(2+3)" c16 c8
+\set beatStructure = #'(3 2)
+c8^"(3+2)" c16 c8
 @end lilypond
 
 Beam setting changes can be limited to specific contexts.  If no
@@ -1704,22 +1843,24 @@ setting is included in a lower-level context, the setting of the
 enclosing context will apply.
 
 @lilypond[quote, verbatim,relative=1]
-\new Staff <<
+\new Staff {
   \time 7/8
-  \new Voice = one {
-    \relative c'' {
-      \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (2 3 2)))
+  \set Staff.beatStructure = #'(2 3 2)
+  <<
+    \new Voice = one {
+      \relative c'' {
         a8 a a a a a a
+      }
     }
-  }
-  \new Voice  = two {
-    \relative c' {
-      \voiceTwo
-      \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (1 3 3)))
-      f8 f f f f f f
+    \new Voice = two {
+      \relative c' {
+        \voiceTwo
+        \set Voice.beatStructure = #'(1 3 3)
+        f8 f f f f f f
+      }
     }
-  }
->>
+  >>
+}
 @end lilypond
 
 When multiple voices are used the @code{Staff} context must be
@@ -1731,44 +1872,36 @@ staff:
 % rhythm 3-1-1-2
 % Context Voice specified --  does not work correctly
 % Because of autogenerated voices, all beating will
-% be at beatLength (1 . 8)
-\overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (3 1 1 2)))
+% 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} >>
 
 % Works correctly with context Staff specified
-\overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (3 1 1 2)))
+\set Staff.beatStructure = #'(3 1 1 2)
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
-@funindex revertBeamSettings
-
-Beam settings can be reverted to get back to default behavior.  This
-is accomplished by using @code{\revertBeamSettings}.  The arguments
-are the same as for @code{\overrideBeamSettings}, except no value
-for @var{grouping} is given:
-
-@example
-\revertBeamSettings context time-signature rule-type
-@end example
-
+Beam settings can be set back to default behavior.  This
+is accomplished by setting the time signature.
 
 @lilypond[quote,verbatim,relative=2]
 \time 4/4
-\repeat unfold 16 {a16}
-% set default rule for (1 1 1 1) grouping
-\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))
-\repeat unfold 16 {a16}
-% revert the new rule
-\revertBeamSettings #'Score #'(4 . 4) #'end
-\repeat unfold 16 {a16}
+\repeat unfold 8 {a8}
+% eliminate beam exception that groups beats 1, 2 and 3, 4
+\set Timing.beamExceptions = #'()
+\repeat unfold 8 {a8}
+% go back to default behavior
+\time 4/4
+\repeat unfold 8 {a8}
 @end lilypond
 
+
 @snippets
 
 @cindex beams, subdividing
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{sub-dividing-beams.ly}
+{subdividing-beams.ly}
 
 @cindex measure groupings
 @cindex beats, grouping
@@ -1778,11 +1911,26 @@ for @var{grouping} is given:
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {conducting-signs,-measure-grouping-signs.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}
 
-@cindex beam, last in score
-@cindex beam, last in polyphonic voice
+
+@seealso
+Installed files:
+@file{scm/beam-settings.scm}.
+
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface}.
+
 
 @knownissues
 
@@ -1791,12 +1939,8 @@ 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
 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
@@ -1811,15 +1955,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 r8] r8 g[ | a] r8
 @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
@@ -1828,7 +1978,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] e8[ e
+\grace { f16 }
+e8 e]
 @end lilypond
 
 @funindex stemLeftBeamCount
@@ -1848,17 +2010,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
 
@@ -1910,17 +2094,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
 
@@ -1977,7 +2166,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 ""
@@ -2001,25 +2190,25 @@ 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
+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:
+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 "."
+g1 \bar "||"
+a1 \bar ".|"
+b1 \bar ".|."
+c1 \bar "|.|"
+d1 \bar "|."
+e1
 @end lilypond
 
 @noindent
@@ -2027,8 +2216,8 @@ together with dotted and dashed bar lines:
 
 @lilypond[quote,relative=1,verbatim]
 f1 \bar ":"
-g \bar "dashed"
-a
+g1 \bar "dashed"
+a1
 @end lilypond
 
 @noindent
@@ -2036,21 +2225,41 @@ and five types of repeat bar line:
 
 @lilypond[quote,relative=1,verbatim]
 f1 \bar "|:"
-g \bar ":|:"
-a \bar ":|.|:"
-b \bar ":|.:"
-c \bar ":|"
-d
+g1 \bar ":|:"
+a1 \bar ":|.|:"
+b1 \bar ":|.:"
+c1 \bar ":|"
+d1
 @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
 
@@ -2066,25 +2275,57 @@ line at the end of the line and a start repeat at the beginning of
 the next line.
 
 @lilypond[quote,relative=2,verbatim]
-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 }
   >>
@@ -2106,8 +2347,7 @@ connected between different staves of a @code{StaffGroup},
 
 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.
+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
@@ -2144,7 +2384,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
@@ -2206,7 +2446,8 @@ Snippets:
 @rlsr{Rhythms}.
 
 Internals Reference:
-@rinternals{BarNumber}.
+@rinternals{BarNumber},
+@rinternals{Bar_number_engraver}.
 
 
 @cindex bar number collision
@@ -2220,7 +2461,6 @@ if there is one.  To solve this, the @code{padding} property of
 @rinternals{StaffGroup} and @rinternals{BarNumber} for more.
 
 
-
 @node Bar and bar number checks
 @unnumberedsubsubsec Bar and bar number checks
 
@@ -2243,7 +2483,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 @{
@@ -2316,6 +2556,19 @@ Snippets:
 
 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
 c1 \mark \default
@@ -2326,16 +2579,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
@@ -2418,17 +2680,19 @@ 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
+the definitions of @code{format-mark-numbers} and
 @code{format-mark-letters}.  They can be used as inspiration for
 other formatting functions.
 
@@ -2436,6 +2700,8 @@ Snippets:
 @rlsr{Rhythms}.
 
 Internals Reference:
+@rinternals{MarkEvent},
+@rinternals{Mark_engraver},
 @rinternals{RehearsalMark}.
 
 
@@ -2460,7 +2726,7 @@ Internals Reference:
 @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.
 
@@ -2487,8 +2753,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
@@ -2527,13 +2795,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
@@ -2546,8 +2816,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]
@@ -2586,6 +2856,9 @@ Music Glossary:
 @rglos{acciaccatura},
 @rglos{appoggiatura}.
 
+Notation Reference:
+@ref{Manual beams}.
+
 Installed Files:
 @file{ly/@/grace@/-init@/.ly}.
 
@@ -2593,7 +2866,10 @@ Snippets:
 @rlsr{Rhythms}.
 
 Internals Reference:
-@rinternals{GraceMusic}.
+@rinternals{GraceMusic},
+@rinternals{Grace_beam_engraver},
+@rinternals{Grace_engraver},
+@rinternals{Grace_spacing_engraver}.
 
 
 @knownissues
@@ -2696,7 +2972,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.
@@ -2735,14 +3014,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