Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.14.0"
@node Staff notation
@section Staff notation
@rinternals{SystemStartBracket},
@rinternals{SystemStartSquare}.
+@knownissues
+@code{PianoStaff} does not, by default, accept @code{ChordNames}.
+
@node Nested staff groups
@unnumberedsubsubsec Nested staff groups
@seealso
Notation Reference:
-@ref{Page formatting}.
+@ref{Page layout}.
Snippets:
@rlsr{Staff notation}.
@end example
For the Known issues and warnings associated with
-@code{\Staff \RemoveEmptyStaves} see
+@code{\Staff \RemoveEmptyStaves} see
@ref{Changing context default settings}.
@node Writing parts
@cindex instrument names, short
Instrument names can be printed on the left side of staves in the
-@code{Staff} and @code{PianoStaff} contexts. The value of
+@code{Staff}, @code{PianoStaff}, @code{StaffGroup}, @code{GrandStaff}
+and @code{ChoirStaff} contexts. The value of
@code{instrumentName} is used for the first staff, and the value
of @code{shortInstrumentName} is used for all succeeding staves.
However, if the instrument names are longer, the instrument names
in a staff group may not be centered unless the @code{indent} and
@code{short-indent} settings are increased. For details about
-these settings, see @ref{Horizontal dimensions}.
+these settings, see @ref{\paper variables for shifts and indents}.
@lilypond[verbatim,quote,ragged-right]
\layout {
@cindex instrument names, adding to other contexts
To add instrument names to other contexts (such as
-@code{GrandStaff}, @code{ChoirStaff}, or @code{StaffGroup}),
+@code{ChordNames} or @code{FiguredBass}),
@code{Instrument_name_engraver} must be added to that context.
For details, see @ref{Modifying context plug-ins}.
@seealso
Notation Reference:
-@ref{Horizontal dimensions},
+@ref{\paper variables for shifts and indents},
@ref{Modifying context plug-ins}.
Snippets:
@node Quoting other voices
@unnumberedsubsubsec Quoting other voices
-@cindex cues
-@cindex quoting other voices
-@cindex fragments
+@cindex quote, voices
+@cindex voices, quoting
+@cindex fragments, quoting
@cindex cue notes
@funindex \addQuote
@funindex \transposition
@funindex transposition
-It is very common for one voice to double some of the music from
-another voice. For example, the first and second violins may play the
-same notes during a passage of music. In LilyPond this is accomplished
-by letting one voice @emph{quote} the other voice without having to
-re-enter it.
+It is very common for one voice to use the same notes as those from
+another voice. For example, first and second violins playing the same
+phrase during a particular passage of the music. This is done by
+letting one voice @emph{quote} the other, without having to re-enter the
+music all over again for the second voice.
-Before a part can be quoted, the @code{\addQuote} command must be used
-to initialize the quoted fragment. This command must be used in the
-toplevel scope. The first argument is an identifying string, and the
-second is a music expression:
-
-@example
-flute = \relative c'' @{
- a4 gis g gis
-@}
-\addQuote "flute" @{ \flute @}
-@end example
+The @code{\addQuote} command, used in the top level scope, defines a
+stream of music from which fragments can be quoted.
The @code{\quoteDuring} command is used to indicate the point where the
quotation begins. It is followed by two arguments: the name of the
quoted voice, as defined with @code{\addQuote}, and a music expression
-that indicates the duration of the quote, usually spacer rests or
-multi-measure rests. The corresponding music (including all articulations,
-dynamics, markup, etc.) from the quoted voice is inserted into the music
-expression:
+for the duration of the quote.
@lilypond[verbatim,quote]
-flute = \relative c'' {
- a4 gis g->\f gis^\markup{quoted}
+fluteNotes = \relative c'' {
+ a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}
-\addQuote "flute" { \flute }
-\relative c' {
- c4 cis \quoteDuring #"flute" { s2 }
+oboeNotes = \relative c'' {
+ c4 cis c b \quoteDuring #"flute" { s1 }
+}
+
+\addQuote "flute" { \fluteNotes }
+
+\score {
+ <<
+ \new Staff \with { instrumentName = "Flute" } \fluteNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
}
@end lilypond
-If the music expression used for @code{\quoteDuring} contains
-anything but a spacer rest or multi-measure rest, a polyphonic
-situation is created, which is often not desirable:
+If the music expression used in @code{\quoteDuring} contains notes
+instead of spacer or multimeasure rests then the quote will appear as
+polyphony and may produce unexpected results.
@lilypond[verbatim,quote]
-flute = \relative c'' {
- a4 gis g gis
+fluteNotes = \relative c'' {
+ a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}
-\addQuote "flute" { \flute }
-\relative c' {
- c4 cis \quoteDuring #"flute" { c4 b }
+oboeNotes = \relative c'' {
+ c4 cis c b \quoteDuring #"flute" { e4 r8 ais b4 a }
+}
+
+\addQuote "flute" { \fluteNotes }
+
+\score {
+ <<
+ \new Staff \with { instrumentName = "Flute" } \fluteNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
}
@end lilypond
-Quotations recognize instrument transposition settings for both
-the source and target instruments if the @code{\transposition}
-command is used. For details about @code{\transposition}, see
-@ref{Instrument transpositions}.
+The @code{\quoteDuring} command uses the @code{\transposition} settings
+of both quoted and quoting parts to produce notes for the quoting part
+that have the same sounding pitch as those in the quoted part.
@lilypond[verbatim,quote]
-clarinet = \relative c'' {
+clarinetNotes = \relative c'' {
\transposition bes
- a4 gis g gis
+ \key d \major
+ b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
}
-\addQuote "clarinet" { \clarinet }
-\relative c' {
- c4 cis \quoteDuring #"clarinet" { s2 }
+oboeNotes = \relative c'' {
+ c4 cis c b \quoteDuring #"clarinet" { s1 }
}
-@end lilypond
-It is possible to tag quotations with unique names in order to
-process them in different ways. For details about this procedure,
-see @ref{Using tags}.
+\addQuote "clarinet" { \clarinetNotes }
-It is also possible to adjust which objects from the original voice are quoted
-by changing the @code{quotedEventTypes} property. By default, its value is
-@code{#'(StreamEvent)}, which means that everything is quoted. Setting it
-to e.g. @code{#'(note-event rest-event tie-event)} causes lilypond to quote
-only notes, rests and ties, but no articulations, markup or dynamics.
-@lilypond[verbatim,quote]
-clarinet = \relative c'' {
- a4 gis g->\f gis^\markup{quoted}
+\score {
+ <<
+ \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
}
-\addQuote "clarinet" { \clarinet }
+@end lilypond
-\relative c' {
- \set Score.quotedEventTypes = #'(note-event rest-event tie-event)
- c4 cis \quoteDuring #"clarinet" { s2 }
+By default quoted music will include all articulations, dynamics,
+markups, etc., in the quoted expression. It is possible to choose which
+of these objects from the quoted music are displayed by using the
+@code{quotedEventTypes} context property.
+
+@lilypond[verbatim,quote]
+fluteNotes = \relative c'' {
+ a2 g2 |
+ b4\<^"quoted" r8 ais a4\f( c->)
+ }
+
+oboeNotes = \relative c'' {
+ c2. b4 |
+ \quoteDuring #"flute" { s1 }
}
+
+\addQuote "flute" { \fluteNotes }
+
+\score {
+ <<
+ \set Score.quotedEventTypes = #'(note-event articulation-event
+ crescendo-event rest-event
+ slur-event dynamic-event)
+ \new Staff \with { instrumentName = "Flute" } \fluteNotes
+ \new Staff \with { instrumentName = "Oboe" } \oboeNotes
+ >>
+ }
@end lilypond
+Quotes can also be tagged, see @ref{Using tags}.
+
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
@rlsr{Staff notation}.
Internals Reference:
+@rinternals{Music classes},
@rinternals{QuoteMusic},
@rinternals{Voice}.
+Installed Files:
+@file{scm/define-event-classes.scm}.
+
@knownissues
Alternatively, Clef changes and instrument labels can be
collected into an instrument definition for repeated use, using
-@code{\addInstrumentDefinition} described in
+@code{\addInstrumentDefinition} described in
@ref{Instrument names}.
@funindex \transposedCueDuring