version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.38"
+@c \version "2.11.61"
@node Chord notation
@section Chord notation
-Chords can be entered in chord mode, which recognizes some
-traditional European chord naming conventions. Chord names can also
-be displayed. In addition, figured bass notation can be displayed.
+@lilypondfile[quote]{chords-headword.ly}
+
+Chords can be entered either as normal notes or in chord mode and displayed
+using a variety of traditional European chord naming conventions. Chord
+names and figured bass notation can also be displayed.
@menu
* Chord mode::
Chord mode and note mode can be mixed in sequential music:
@lilypond[verbatim,quote,ragged-right,relative=1]
-<c e g>2 < g b d >
-\chordmode { c2 f}
-< c e g > < g' b d >
-\chordmode { f g}
+<c e g>2 <g b d>
+\chordmode { c2 f }
+<c e g>2 <g' b d>
+\chordmode { f2 g }
@end lilypond
context.
@lilypond[verbatim,quote,ragged-right,relative=1]
-\chordmode { c2 f}
-< c e g > < g' b d >
+\chordmode { c2 f }
+<c e g>2 <g' b d>
@end lilypond
To avoid this behavior, explicitly create the @code{Staff} context:
@lilypond[verbatim,quote,ragged-right,relative=1]
\new Staff {
- \chordmode { c2 f}
- < c e g > < g' b d >
+ \chordmode { c2 f }
+ <c e g>2 <g' b d>
}
@end lilypond
\chordmode { c2:m f4:aug g:dim }
@end lilypond
-Seventh chords may be created:
+Seventh chords can be created:
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
@funindex m
The table belows shows the actions of the quality modifiers on
-triads and seventh chords.
-
-@table @code
+triads and seventh chords. A more complete table of modifier usage
+is found at @ref{Common chord modifiers}.
+
+@c @table @code
+@multitable @columnfractions .2 .4 .3
+
+@item
+@b{Modifier}
+@tab
+@b{Action}
+@tab
+@b{Example}
+
+@item
+None
+@tab
+The default action; produces a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1
+}
+@end lilypond
-@item m
+@item
+m, m7
+@tab
The minor chord. This modifier lowers the 3rd and (if present) the
7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:m c:m7
+}
+@end lilypond
-@item dim
+
+@item
+dim, dim7
+@tab
The diminished chord. This modifier lowers the 3rd, 5th and (if
present) the 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:dim c:dim7
+}
+@end lilypond
-@item aug
+@item
+aug
+@tab
The augmented chord. This modifier raises the 5th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:aug
+}
+@end lilypond
-@item maj
+@item
+maj, maj7
+@tab
The major 7th chord. This modifier adds a raised 7th step. The
@code{7} following @code{maj} is optional. Do NOT use this modifier
to create a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+ \override Staff.TimeSignature #'stencil = ##f
+ c1:maj c:maj7
+}
+@end lilypond
-@end table
+@end multitable
-@c TODO -- perhaps add warning about c and c:maj being different, while
-@c c:maj and c:maj7 are the same
@seealso
+Notation Reference:
+@ref{Common chord modifiers}.
+
Snippets:
-@rlsr{Chords}
+@rlsr{Chords}.
@node Extended and altered chords
@unnumberedsubsubsec Extended and altered chords
@lilypond[quote,ragged-right,fragment,verbatim,relative=1]
\chordmode {
- c:2 c:3 c:4 c:5
- c:6 c:7 c:8 c:9
- c:10 c:11 c:12 c:13
+ c1:2 c:3 c:4 c:5
+ c1:6 c:7 c:8 c:9
+ c1:10 c:11 c:12 c:13
+ c1:14
}
@end lilypond
+@noindent
+Note that both @code{c:5} and @code{c} produce a C major triad.
+
Since an unaltered 11 does not sound good when combined with an
unaltered 13, the 11 is removed from a @code{:13} chord (unless it
is added explicitly).
Added chord steps can be altered by suffixing a @code{-} or @code{+}
sign to the number. To alter a step that is automatically included
-as part of the basic chode structure, add it as an altered step.
+as part of the basic chord structure, add it as an altered step.
@lilypond[quote,verbatim,fragment,relative=1]
\chordmode {
@funindex ^
-A step to be removed from the chord must come at the end of a
-modifier string and be prefixed by @code{^}. Only one removal with @code{^}
-is allowed in a modifier string.
+Following any steps to be added, a series of steps to be removed
+is introduced in a modifier string with a prefix of @code{^}.
+If more than one step is to be removed, the steps to be
+removed are separated by @code{.} following the
+initial @code{^}.
@lilypond[quote,verbatim,fragment,relative=1]
\chordmode {
- c1^3 c:7^5 c:9^3.5
+ c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
}
@end lilypond
}
@end lilypond
-It is possible to remove the 3rd step with @code{sus} and remove
-another step with @code{^} in one modifier string.
-
@funindex /
@cindex chord inversions
@cindex bass note, for chords
}
@end lilypond
+Chord modifiers that can be used to produce a variety of
+standard chords are shown in
+@ref{Common chord modifiers}.
+
@seealso
+Notation Reference:
+@ref{Common chord modifiers}.
+
Snippets:
@rlsr{Chords}
\chordmode { c1:5.5-.5+ }
@end lilypond
-Only one step can be removed from a chord. If a chord with multiple
-removed steps is desired, it must be built through addition of
-multiple steps.
+Only the second inversion can be created by adding a bass
+note. The first inversion requires changing the root of
+the chord.
+@lilypond[quote,ragged-right,verbatim,fragment]
+\chordmode {
+ c'1: c':/g e:6-3-^5 e:m6-^5
+}
+@end lilypond
@node Displaying chords
@subsection Displaying chords
chord mode. The displayed chord name will be the same, regardless
of the mode of entry, unless there are inversions or added bass notes:
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[verbatim,quote,relative=1]
<<
\new ChordNames {
<c e g>2 <f bes c>
@funindex{\chords}
-@code{\chords} is a shortcut method used to create a
-@code{ChordNames} context and change the input mode to
-@code{\chordmode}:
+@code{\chords @{ ... @}} is a shortcut notation for
+@code{\new ChordNames @{ \chordmode @{ ... @} @}}.
@lilypond[verbatim,quote,ragged-right, relative=1]
\chords {
@snippets
-@c TODO -- replace this with a snippet
-Chord names can be displayed only at the start of lines and when
-the chord changes.
-
-@lilypond[quote,verbatim,ragged-right]
-harmonies = \chordmode {
- c1:m c:m \break c:m c:m d
-}
-<<
- \new ChordNames {
- \set chordChanges = ##t
- \harmonies
- }
- \new Staff {
- \relative c' { \harmonies }
- }
->>
-@end lilypond
-
-@c TODO -- replace this with a snippet
-To add bar indications in the @code{ChordNames}
-context, add @rinternals{Bar_engraver}.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{showing-chords-at-changes.ly}
-@lilypond[ragged-right,verbatim]
-\new ChordNames \with {
- \override BarLine #'bar-size = #4
- \consists "Bar_engraver"
-}
-\chordmode {
- f1:maj7 f:7 bes:7 c:maj7 ees e
-}
-@end lilypond
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@c {adding-bar-lines-to-chordnames-context.ly}
-@c TODO -- replace this with a snippet
-When put together, chord names, a melody, and lyrics form a lead
-sheet:
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{simple-lead-sheet.ly}
-@lilypond[verbatim,quote,ragged-right]
-<<
- \chords { c2 g:sus4 f e }
- \relative c'' {
- a4 e c8 e r4
- b2 c4( d)
- }
- \addlyrics { One day this shall be free __ }
->>
-@end lilypond
@seealso
Internals Reference:
@rinternals{ChordNames},
+@rinternals{ChordName},
+@rinternals{Chord_name_engraver},
@rinternals{Volta_engraver},
@rinternals{Bar_engraver}.
are also different symbols displayed for a given chord name. The
names and symbols displayed for chord names are customizable.
-@cindex Banter
@cindex jazz chords
@cindex chords, jazz
-The default chord name layout is a system for Jazz music, proposed
-by Klaus Ignatzek (see @ref{Literature list}). There are also two
-other chord name schemes implemented: an alternate Jazz chord
-notation, and a systematic scheme called Banter chords. The
-alternate Jazz notation is also shown on the chart in @ref{Chord
+The basic chord name layout is a system for Jazz music, proposed
+by Klaus Ignatzek (see @ref{Literature list}). The chord naming
+system can be modified as described below. An alternate jazz
+chord system has been developed using these modifications.
+The Ignatzek and alternate
+Jazz notation are shown on the chart in @ref{Chord
name chart}.
+@c TODO -- Change this so we don't have a non-verbatim example.
+@c Make short example in docs, then move longer example to
+@c appendix, where the length of the snippet won't matter.
+
In addition to the different naming systems, different note names
are used for the root in different languages. The predefined
variables @code{\germanChords}, @code{\semiGermanChords},
@lilypondfile[ragged-right]{chord-names-languages.ly}
-If none of the default settings give the desired output, the chord
+If none of the existing settings give the desired output, the chord
name display can be tuned through the following properties.
@table @code
@item majorSevenSymbol
This property contains the markup object used to follow the output
-of @code{chordRootNamer} to dentify a major 7 chord. Predefined
+of @code{chordRootNamer} to identify a major 7 chord. Predefined
options are @code{whiteTriangleMarkup} and
@code{blackTriangleMarkup}.
This property is a list of pairs. The first item in each pair
is a set of pitches used to identify the steps present in the chord.
-The second item is a markups that will follow the @code{chordRootNamer}
+The second item is a markup that will follow the @code{chordRootNamer}
output to create the chord name.
@funindex chordPrefixSpacer
@item chordPrefixSpacer
The @q{m} for minor chords is usually printed immediately to the
-right of the root of the chord. By setting
-@code{chordPrefixSpacer}, you can fix a spacer between the root
-and @q{m}. The spacer is not used when the root is altered.
+right of the root of the chord. A spacer can be placed between
+the root and @q{m} by setting @code{chordPrefixSpacer}.
+The spacer is not used when the root is altered.
@end table
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{chord-names-jazz.ly}
+@cindex exceptions, chord names.
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{chord-name-exceptions.ly}
-@cindex exceptions, chord names.
+@c TODO - tweak snippet to use \blackTriangleMarkup as well
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{chord-name-major7.ly}
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {adding-bars-to-chordnames.ly)
-
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {volta-brackets-over-chord-names.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{adding-bar-lines-to-chordnames-context.ly}
-@c TODO convert to snippet
-The separator between different parts of a chord name
-can be set to any markup.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{volta-below-chords.ly}
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chords {
- c:7sus4
- \set chordNameSeparator
- = \markup { \typewriter "|" }
- c:7sus4
-}
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-chord-separator.ly}
@seealso
+Notation Reference:
+@ref{Chord name chart},
+@ref{Common chord modifiers}.
+
Installed Files:
@file{scm/@/chords@/-ignatzek@/.scm},
@file{scm/@/chord@/-entry@/.scm},
@lilypond[quote,ragged-right,verbatim]
myChords = \relative c' {
- \chordmode{ c1 c/g c/f }
- <c e g> <g c e> <f c' e g>
+ \chordmode { c1 c/g c/f }
+ <c e g>1 <g c e> <f c' e g>
}
<<
\new ChordNames { \myChords }
@node Figured bass
@subsection Figured bass
+@lilypondfile[quote]{figured-bass-headword.ly}
+
+Figured bass notation can be displayed.
+
@menu
* Introduction to figured bass::
* Entering figured bass::
@unnumberedsubsubsec Introduction to figured bass
@cindex Basso continuo
+@cindex Thorough bass
+@cindex Figured bass
+@cindex Bass, thorough
+@cindex Bass, figured
@c TODO: musicological blurb about FB
-LilyPond has support for figured bass
+
+LilyPond has support for figured bass, also called thorough bass
+or basso continuo:
@lilypond[quote,ragged-right,verbatim,fragment]
<<
\new Voice { \clef bass dis4 c d ais g fis}
- \new FiguredBass \figuremode {
- < 6 >4 < 7\+ >8 < 6+ [_!] >
- < 6 >4 <6 5 [3+] >
- < _ >4 < 6 5/>4
+ \new FiguredBass {
+ \figuremode {
+ < 6 >4 < 7\+ >8 < 6+ [_!] >
+ < 6 >4 <6 5 [3+] >
+ < _ >4 < 6 5/>4
+ }
}
>>
@end lilypond
The support for figured bass consists of two parts: there is an
-input mode, introduced by @code{\figuremode}, where you can enter
-bass figures as numbers, and there is a context named
-@rinternals{FiguredBass} that takes care of making
-@rinternals{BassFigure} objects.
+input mode, introduced by @code{\figuremode}, that accepts
+entry of bass figures, and there is a context named
+@code{FiguredBass} that takes care of displaying
+@code{BassFigure} objects. Figured bass can also be displayed
+in @code{Staff} contexts.
+
+@code{\figures@{ ... @}} is a shortcut notation for
+@code{\new FiguredBass @{ \figuremode @{ ... @} @}}.
+
Although the support for figured bass may superficially resemble chord
-support, it is much simpler. The @code{\figuremode} mode simply
-stores the numbers and @rinternals{FiguredBass} context prints them
-as entered. There is no conversion to pitches and no realizations of
-the bass are played in the MIDI file.
+support, it is much simpler. @code{\figuremode} mode simply
+stores the figures and the @code{FiguredBass} context prints them
+as entered. There is no conversion to pitches.
-Internally, the code produces markup texts. You can use any of the
-markup text properties to override formatting. For example, the
-vertical spacing of the figures may be set with @code{baseline-skip}.
+@ignore
+Figures are created as markup texts. Any of the standard markup
+properties can be used to modify the display of figures. For
+example, the vertical spacing of the figures may be set with
+@code{baseline-skip}.
+@end ignore
+@seealso
+
+Music Glossary:
+@rglos{figured bass}.
+
+Snippets:
+@rlsr{Chords}
-@menu
-* Entering figured bass::
-* Displaying figured bass::
-@end menu
@node Entering figured bass
@unnumberedsubsubsec Entering figured bass
+@code{\figuremode} is used to switch the input mode to figure mode.
+More information on different input modes can be
+found at @ref{Input modes}.
+
+In figure mode, a group of bass figures is delimited by
+@code{<} and @code{>}. The duration is entered after the @code{>}.
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\new FiguredBass {
+ \figuremode {
+ <6 4>2
+ }
+}
+@end lilypond
+
+
+Accidentals (including naturals) can be added to figures:
-In figures input mode, a group of bass figures is delimited by
-@code{<} and @code{>}. The duration is entered after the @code{>}
-@example
-<4 6>2
-@end example
-@lilypond[quote,ragged-right,fragment]
-\new FiguredBass
-\figuremode { <4 6>2 }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <7! 6+ 4-> <5++> <3-->
+}
@end lilypond
-Accidentals are added when you append @code{-}, @code{!}, and @code{+}
-to the numbers. A plus sign is added when you append @code{\+}, and
-diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
+Augmented and diminished steps can be indicated:
-@example
-<4- 6+ 7!>3 <5++> <3--> <7/> r <6\+ 5/>
-@end example
-@lilypond[quote,ragged-right,fragment]
-\figures { <4- 6+ 7!>4 <5++> <3--> <7/> r <6\+ 5/> }
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <6\+ 5/> <7/>
+}
@end lilypond
-Spaces may be inserted by using @code{_}. Brackets are
-introduced with @code{[} and @code{]}. You can also include text
-strings and text markups, see @ref{Text markup commands}.
+A backward slash through a figure (typically used for raised
+sixth steps) can be created:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <6> <6\\>
+}
+@end lilypond
-@example
-< [4 6] 8 [_! 12] >4 < 5 \markup @{ \number 6 \super (1) @} >
-@end example
-@lilypond[quote,ragged-right,fragment]
-\new FiguredBass
-\figuremode { < [4 6] 8 [_! 12] >4 < 5 \markup{ \tiny \number 6 \super (1)} > }
+Vertical spaces and brackets can be be included in figures:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <[12 _!] 8 [6 4]>
+}
+@end lilypond
+
+Any text markup can be inserted as a figure:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+ <\markup { \tiny \number 6 \super (1) } 5>
+}
@end lilypond
+@c NOTE: We need to include notes any time we use extenders to
+@c avoid extraneous staff creation due to Staff.use... in
+@c \bassFigureExtendersOn
-It is also possible to use continuation lines for repeated figures,
+Continuation lines can be used to indicate repeated figures:
-@lilypond[verbatim,relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment]
<<
- \new Staff {
+ {
\clef bass
- c4 c c
+ e4 d c b,
+ e4 d c b,
}
\figures {
- \set useBassFigureExtenders = ##t
- <4 6>4 <3 6> <3 7>
+ \bassFigureExtendersOn
+ <6 4>4 <6 3> <7 3> <7 3>
+ \bassFigureExtendersOff
+ <6 4>4 <6 3> <7 3> <7 3>
}
>>
@end lilypond
@noindent
-In this case, the extender lines always replace existing figures.
-
-The @code{FiguredBass} context doesn't pay attention to the actual
-bass line. As a consequence, you may have to insert extra figures to
-get extender lines below all notes, and you may have to add @code{\!}
-to avoid getting an extender line, e.g.
+In this case, the extender lines replace existing figures,
+unless the continuation lines have been explicitly terminated.
-@lilypond[relative=1]
+@lilypond[verbatim,quote,ragged-right,fragment]
<<
- \new Voice
\figures {
- \set useBassFigureExtenders = ##t
- <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
+ \bassFigureExtendersOn
+ <6 4>4 <6 4> <6\! 4\!> <6 4>
}
{
\clef bass
- f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
+ d4 d c c
}
>>
@end lilypond
-When using continuation lines, common figures are always put in the
-same vertical position. When this is unwanted, you can insert a rest
-with @code{r}. The rest will clear any previous alignment. For
-example, you can write
-
-@example
-<4 6>8 r8
-@end example
+The table below summarizes the figure modifiers available.
+
+@multitable @columnfractions .1 .5 .4
+
+@item
+@b{Modifier}
+@tab
+@b{Purpose}
+@tab
+@b{Example}
+
+@item
++, -, !
+@tab
+Accidentals
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+ <7! 6+ 4-> <5++> <3-->
+}
+@end lilypond
-@noindent
-instead of
-@example
-<4 6>4
-@end example
+@item
+\+, /
+@tab
+Augmented and diminished steps
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+ <6\+ 5/> <7/>
+}
+@end lilypond
-Accidentals and plus signs can appear before or after the numbers,
-depending on the @code{figuredBassAlterationDirection} and
-@code{figuredBassPlusDirection}
-properties
+@item
+\\
+@tab
+Raised sixth step
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+ <6\\>
+}
+@end lilypond
-@lilypond
+@item
+\!
+@tab
+End of continuation line
+@tab
+@lilypond[line-width=4\cm]
+<<
\figures {
- <6\+> <5+> <6 4-> r
- \set figuredBassAlterationDirection = #1
- <6\+> <5+> <6 4-> r
- \set figuredBassPlusDirection = #1
- <6\+> <5+> <6 4-> r
- \set figuredBassAlterationDirection = #-1
- <6\+> <5+> <6 4-> r
+ \bassFigureExtendersOn
+ <6 4> <6 4> <6\! 4\!> <6 4>
+ }
+ {
+ \clef bass
+ d d c c
}
+>>
@end lilypond
+@end multitable
-Figured bass can also be added to @code{Staff} contexts
-directly. In this case, their vertical position is adjusted
-automatically.
-@lilypond[ragged-right,fragment,quote]
-<<
- \new Staff = someUniqueName
- \relative c'' {
- c4 c'8 r8 c,4 c'
- }
- %% send to existing Staff.
- \context Staff = someUniqueName
- \figuremode {
- <4>4 <6 10>8 s8
-
- \set Staff.useBassFigureExtenders = ##t
- <4 6>4 <4 6>
- }
->>
-@end lilypond
+@predefined
+@cindex figured bass extender lines
+@code{\bassFigureExtendersOn},
+@code{\bassFigureExtendersOff}.
-@c @predefined
-@c @snippets
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-positions-of-figured-bass-alterations.ly}
@seealso
@c Music Glossary:
@c @rlearning{}.
@c Notation Reference:
-@c @ruser{}.
+@c @ref{}.
@c Application Usage:
@c @rprogram{}.
@c Installed Files:
@c @file{}.
-@c Snippets:
-@c @rlsr{}.
+Snippets:
+@rlsr{Chords}.
-@c Internals Reference:
-@c @rinternals{}.
+Internals Reference:
+@rinternals{BassFigure},
+@rinternals{BassFigureAlignment},
+@rinternals{BassFigureLine},
+@rinternals{BassFigureBracket},
+@rinternals{BassFigureContinuation},
+@rinternals{FiguredBass}.
@c @knownissues
@node Displaying figured bass
@unnumberedsubsubsec Displaying figured bass
-Figured bass is displayed using the @code{FiguredBass} context.
+Figured bass can be displayed using the @code{FiguredBass} context,
+or in most staff contexts.
+
+When displayed in a @code{FiguredBass} context, the vertical location
+of the figures is independent of the notes on the staff.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ \relative c'' {
+ c4 c'8 r8 c,4 c'
+ }
+ \new FiguredBass {
+ \figuremode {
+ <4>4 <10 6>8 s8
+ <6 4>4 <6 4>
+ }
+ }
+>>
+@end lilypond
+
+@noindent
+In the example above, the @code{FiguredBass} context must be
+explicitly instantiated to avoid creating a second (empty) staff.
-@c @predefined
+
+Figured bass can also be added to @code{Staff} contexts
+directly. In this case, the vertical position of the
+figures is adjusted automatically.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ \new Staff = myStaff
+ \figuremode {
+ <4>4 <10 6>8 s8
+ <6 4>4 <6 4>
+ }
+ %% Put notes on same Staff as figures
+ \context Staff = myStaff
+ {
+ \clef bass
+ c4 c'8 r8 c4 c'
+ }
+>>
+@end lilypond
+
+
+When added in a @code{Staff} context, figured bass can be displayed above
+or below the staff.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ \new Staff = myStaff
+ \figuremode {
+ <4>4 <10 6>8 s8
+ \bassFigureStaffAlignmentDown
+ <6 4>4 <6 4>
+ }
+ %% Put notes on same Staff as figures
+ \context Staff = myStaff
+ {
+ \clef bass
+ c4 c'8 r8 c4 c'
+ }
+>>
+@end lilypond
+
+
+@predefined
+@cindex figured bass alignment
+@code{\bassFigureStaffAlignmentDown},
+@code{\bassFigureStaffAlignmentUp},
+@code{\bassFigureStaffAlignmentNeutral}.
@c @snippets
@c @rlearning{}.
@c Notation Reference:
-@c @ruser{}.
+@c @ref{}.
@c Application Usage:
@c @rprogram{}.
@c Installed Files:
@c @file{}.
-@c Snippets:
-@c @rlsr{}.
+Snippets:
+@rlsr{Chords}.
Internals Reference:
-@rinternals{NewBassFigure},
+@rinternals{BassFigure},
@rinternals{BassFigureAlignment},
@rinternals{BassFigureLine},
@rinternals{BassFigureBracket},
@knownissues
-By default, this method produces figures above the notes. To get
-figures below the notes, use
+To ensure that continuation lines work properly, it is
+safest to use the same rhythm in the figure line as in
+the bass line.
+
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+ {
+ \clef bass
+ \repeat unfold 4 { f16. g32 } f8. es16 d8 es
+ }
+ \figures {
+ \bassFigureExtendersOn
+ % The extenders are correct here, with the same rhythm as the bass
+ \repeat unfold 4 { <6 4->16. <6 4->32 }
+ <5>8. r16 <6>8 <6\! 5->
+ }
+>>
+<<
+ {
+ \clef bass
+ \repeat unfold 4 { f16. g32 } f8. es16 d8 es
+ }
+ \figures {
+ \bassFigureExtendersOn
+ % The extenders are incorrect here, even though the timing is the same
+ <6 4->4 <6 4->4
+ <5>8. r16 <6>8 <6\! 5->
+ }
+>>
+@end lilypond
+
+When using extender lines, adjacent figures with the same number in
+a different figure location can cause the figure positions to invert.
-@example
-\override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
-@end example
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis4 g g, e' }
+ \figures {
+ \bassFigureExtendersOn
+ <6 5>4 <5\! 4> < 5 _!> <6>
+ }
+>>
+@end lilypond
-When using figured bass above the staff with extender lines and
-@code{implicitBassFigures} the lines may become swapped around.
-Maintaining order consistently will be impossible when multiple figures
-have overlapping extender lines. To avoid this problem, please
-use @code{stacking-dir} on @code{BassFigureAlignment}.
+To avoid this problem, simply turn on extenders after the figure that
+begins the extender line and turn them off at the end of the extender line.
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis4 g g, e' }
+ \figures {
+ <6 5>4 <5 4>
+ \bassFigureExtendersOn
+ < 5 _!>4 <6>
+ \bassFigureExtendersOff
+ }
+>>
+@end lilypond
-@seealso