]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/rhythms.itely
Doc: minor fixes for Marc's patch.
[lilypond.git] / Documentation / notation / rhythms.itely
index 9c2fa9eebee1a3fd31c2a41f50e4e86aefea435b..6265909a6947f783c736b0296a2a26384fcd1d76 100644 (file)
@@ -65,7 +65,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,
@@ -266,7 +265,8 @@ Music Glossary:
 @rglos{tuplet},
 @rglos{polymetric}.
 
-Learning Manual: @rlearning{Tweaking methods}.
+Learning Manual:
+@rlearning{Tweaking methods}.
 
 Notation Reference:
 @ref{Time administration},
@@ -282,6 +282,7 @@ Internals Reference:
 @rinternals{TupletNumber},
 @rinternals{TimeScaledMusic}.
 
+
 @cindex grace notes within tuplet brackets
 
 @knownissues
@@ -352,7 +353,6 @@ and expanded:
 }
 @end lilypond
 
-@noindent
 One application of this command is in polymetric
 notation, see @ref{Polymetric notation}.
 
@@ -388,8 +388,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 +443,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 +504,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 +536,7 @@ Music Glossary:
 @rglos{tie},
 @rglos{laissez vibrer}.
 
-Notation Reference: 
+Notation Reference:
 @ref{Slurs},
 @ref{Automatic note splitting}.
 
@@ -722,10 +720,18 @@ any kind.
 
 
 @seealso
+Learning Manual:
+@rlearning{Visibility and color of objects}.
+
+Notation Reference:
+@ref{Hidden notes},
+@ref{Visibility of objects}.
+
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{SkipMusic}
+Internals Reference:
+@rinternals{SkipMusic}.
 
 
 @node Full measure rests
@@ -1021,9 +1027,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:
@@ -1062,6 +1071,7 @@ entered using the @code{\partial} command, with the syntax
 \partial @var{duration}
 @end example
 
+@noindent
 where @code{duration} is the rhythmic length of the interval
 before the start of the first complete measure:
 
@@ -1077,12 +1087,13 @@ The partial measure can be any duration less than a full measure:
 a2. c,4 |
 @end lilypond
 
-Internally, this is translated into
+Internally, @code{\partial} is translated into
 
 @example
 \set Timing.measurePosition = -@var{duration}
 @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}
@@ -1152,6 +1163,11 @@ c4 c d8 d d f4 g4.
 d4 e d c
 @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},
@@ -1164,7 +1180,8 @@ Music Glossary:
 @rglos{cadenza}.
 
 Notation Reference:
-@ref{Visibility of objects}.
+@ref{Visibility of objects},
+@ref{Polymetric notation}.
 
 Snippets:
 @rlsr{Rhythms}.
@@ -1193,6 +1210,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
@@ -1288,13 +1316,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
@@ -1372,7 +1400,8 @@ much each measure is off.
 
 
 @seealso
-Music Glossary: @rglos{tie}
+Music Glossary:
+@rglos{tie}
 
 Learning Manual:
 @rlearning{Engravers explained},
@@ -1535,8 +1564,8 @@ 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}.
+Beaming patterns that differ from the automatic defaults can be
+created; see @ref{Setting automatic beam behavior}.
 
 
 @predefined
@@ -1570,12 +1599,19 @@ Installed Files:
 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
@@ -1589,219 +1625,134 @@ Beams can collide with note heads and accidentals in other voices
 @cindex lyrics and beaming
 
 @funindex autoBeaming
-@funindex autoBeamSettings
-@funindex (end * * * *)
-@funindex (begin * * * *)
+@funindex beamSettings
 @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.
+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 applying the
-following rules in order:
+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 a beam-ending rule applies use it to determine the valid
+@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 valid (see below) beat-grouping rule applies use it to
-group notes with beams, otherwise
+@item
+if a default beam-ending rule is defined in the time signature,
+use it to group notes with beams, otherwise
 
-@item use the value of @code{beatLength} to group notes with beams
+@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
+By default @code{beatLength} is
 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
+The @code{beatLength} is set to be 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
+@code{beatLength} 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}.
 
-@code{beatGrouping} is a list of integers giving the number of
-beats in each group.
+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.
 
-@snippets
+Time signature should be a scheme pair , e.g. @code{#'(4 . 4)}.
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{grouping-beats.ly}
+Rule type should be @code{#'end} for beam ending and @code{#'subdivide} for
+beam subdivision.
 
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{specifying-context-with-beatgrouping.ly}
-
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{using-beatlength-and-beatgrouping.ly}
-
-@funindex subdivideBeams
-
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{sub-dividing-beams.ly}
-
-@cindex measure groupings
-@cindex beats, grouping
-@cindex grouping beats
-@cindex measure sub-grouping
-
-@funindex autoBeamSettings
-
-@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{conducting-signs,-measure-grouping-signs.ly}
-
-
-@strong{@i{Modifying the beam end points}}
-
-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:
-
-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}.
-
-In order to add a rule to the list, use
+The ending and subdivision rules consist of a scheme alist
+(or list of pairs) that
+indicates the beam type and the grouping to be applied to 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.
-
-@item @code{moment-numerator/moment-denominator} is the position
-in the bar at which the beam should end.
-
-@funindex score-override-auto-beam-setting
-@funindex override-auto-beam-setting
-
-@item @code{context} is optional, and it specifies the context at which
-the change should be made.  The default is @code{'Voice}.
+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.
 
-@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)}.
+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.
 
-@end itemize
-
-For example, if automatic beams should always end on the first quarter
-note, whatever the time signature or beam duration, use
-
-@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
-@end lilypond
+For reference, the default beaming rules are found in
+@file{scm/beam-settings.scm}.
 
-You can force the beam settings to take effect only on beams whose shortest
-note is a certain duration
+Beam settings are changed with
+@code{\overrideBeamSettings} and @code{\revertBeamSettings}.
 
-@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
+@warning{
+The ending and subdivision settings must be
+@emph{complete} rules.  That is, every rule that should apply to
+the current time signature must be included in the setting.
+It is not possible to change the grouping of only one beam type
+for a given time signature.  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,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
+@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
+@end lilypond
+
+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.
+
+@lilypond[quote, verbatim,relative=1]
+\new Staff <<
+  \time 7/8
+  \new Voice = one {
+    \relative c'' {
+      \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (2 3 2)))
+        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
+    }
+  }
+>>
 @end lilypond
 
 When multiple voices are used the @code{Staff} context must be
@@ -1811,90 +1762,82 @@ staff:
 @lilypond[quote,verbatim,relative=2]
 \time 7/8
 % rhythm 3-1-1-2
-% Context not specified - does not work correctly
-#(override-auto-beam-setting '(end * * 7 8) 3 8)
-#(override-auto-beam-setting '(end * * 7 8) 4 8)
-#(override-auto-beam-setting '(end * * 7 8) 5 8)
+% 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)))
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 
-% Works correctly with context specified
-#(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff)
-#(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff)
-#(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff)
+% Works correctly with context Staff specified
+\overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (3 1 1 2)))
 << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
 @end lilypond
 
-@warning{If any unexpected beam behavior occurs, check the default
-automatic beam settings in @file{scm/@/auto@/-beam@/.scm} for
-possible interference, because the beam endings defined there will
-still apply in addition to your own.}
-
-@funindex revert-auto-beam-setting
+@funindex revertBeamSettings
 
-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
+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
-#(revert-auto-beam-setting
-  '(beam-limit
-    beam-numerator  beam-denominator
-    time-signature-numerator time-signature-denominator)
-  moment-numerator moment-denominator [context])
+\revertBeamSettings context time-signature rule-type
 @end example
 
-@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.
 
 @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
+\repeat unfold 8 {a8}
+% set default rule for (1 1 1 1) grouping
+\overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1)))
+\repeat unfold 8 {a8}
+% revert the new rule
+\revertBeamSettings #'Score #'(4 . 4) #'end
+\repeat unfold 8 {a8}
 @end lilypond
 
-The rule in a @code{revert-auto-beam-setting} statement must exactly
-match the original rule.  That is, no wildcard expansion is taken into
-account.
 
-@lilypond[quote,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
+@predefined
+@code{\overrideBeamSettings},
+@code{\revertBeamSettings}.
+@endpredefined
+
 
 @snippets
 
+@cindex beams, subdividing
+
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{beam-grouping-in-7-8-time.ly}
+{sub-dividing-beams.ly}
+
+@cindex measure groupings
+@cindex beats, grouping
+@cindex grouping beats
+@cindex measure sub-grouping
 
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{reverting-default-beam-endings.ly}
+{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}
 
-@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}.
 
+Internals Reference:
+@rinternals{Auto_beam_engraver},
+@rinternals{Beam},
+@rinternals{BeamForbidEvent},
+@rinternals{beam-interface}.
 
-@cindex beam, last in score
-@cindex beam, last in polyphonic voice
 
 @knownissues
 
@@ -1905,11 +1848,6 @@ The same holds for polyphonic voices, entered with @code{<<
 automatic beam is still accepting notes, it is not typeset.
 
 
-@seealso
-Snippets:
-@rlsr{Rhythms}.
-
-
 @node Manual beams
 @unnumberedsubsubsec Manual beams
 
@@ -1923,15 +1861,20 @@ 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
+
+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
@@ -1940,7 +1883,8 @@ 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
 
 @funindex stemLeftBeamCount
@@ -1960,17 +1904,38 @@ 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}.
+
+Snippets:
+@rlsr{Rhythms}.
+
+Internals Reference:
+@rinternals{Beam},
+@rinternals{BeamEvent},
+@rinternals{Beam_engraver},
+@rinternals{beam-interface},
+@rinternals{Stem_engraver}.
+
+
 @node Feathered beams
 @unnumberedsubsubsec Feathered beams
 
@@ -2022,17 +1987,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
 
@@ -2089,7 +2059,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 ""
@@ -2107,41 +2077,61 @@ 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 ":|"
+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 repeats
@@ -2158,12 +2148,11 @@ 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
 
 In scores with many staves, a @code{\bar} command in one staff is
@@ -2171,13 +2160,13 @@ 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 }
   >>
@@ -2199,8 +2188,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
@@ -2216,10 +2204,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
@@ -2237,7 +2225,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
@@ -2298,7 +2286,9 @@ c1 | c | c | c
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{BarNumber}.
+Internals Reference:
+@rinternals{BarNumber},
+@rinternals{Bar_number_engraver}.
 
 
 @cindex bar number collision
@@ -2306,11 +2296,10 @@ Internals Reference: @rinternals{BarNumber}.
 
 @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
@@ -2335,7 +2324,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 @{
@@ -2406,7 +2395,7 @@ 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
@@ -2470,15 +2459,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
@@ -2520,14 +2509,17 @@ Notation Reference:
 
 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.
 
 Snippets:
 @rlsr{Rhythms}.
 
-Internals Reference: @rinternals{RehearsalMark}.
+Internals Reference:
+@rinternals{MarkEvent},
+@rinternals{Mark_engraver},
+@rinternals{RehearsalMark}.
 
 
 @node Special rhythmic concerns
@@ -2561,8 +2553,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.
 
@@ -2578,8 +2570,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
@@ -2623,8 +2617,10 @@ 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
@@ -2637,8 +2633,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]
@@ -2677,11 +2673,17 @@ Music Glossary:
 @rglos{acciaccatura},
 @rglos{appoggiatura}.
 
-Installed Files: @file{ly/@/grace@/-init@/.ly}.
+Installed Files:
+@file{ly/@/grace@/-init@/.ly}.
 
-Snippets: @rlsr{Rhythms}.
+Snippets:
+@rlsr{Rhythms}.
 
-Internals Reference: @rinternals{GraceMusic}.
+Internals Reference:
+@rinternals{GraceMusic},
+@rinternals{Grace_beam_engraver},
+@rinternals{Grace_engraver},
+@rinternals{Grace_spacing_engraver}.
 
 
 @knownissues
@@ -2842,11 +2844,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}.