examples this works well, but for more complex examples, especially
when additional commands are used, the implicit creation of contexts
can give surprising results, maybe creating extra unwanted staves.
examples this works well, but for more complex examples, especially
when additional commands are used, the implicit creation of contexts
can give surprising results, maybe creating extra unwanted staves.
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
@node Score is a (single) compound musical expression
@subsection Score is a (single) compound musical expression
@var{...insert the whole score of a Wagner opera in here...}
>>
@} % this brace ends the overall compound music expression
@var{...insert the whole score of a Wagner opera in here...}
>>
@} % this brace ends the overall compound music expression
A whole Wagner opera would easily double the length of this
manual, so let's just add a singer and piano. We don't need a
A whole Wagner opera would easily double the length of this
manual, so let's just add a singer and piano. We don't need a
-@code{GrandStaff} for this ensemble, which simply groups a number
-of staves together with a brace at the left, so we shall remove
+@code{StaffGroup} for this ensemble, which simply groups a number
+of staves together with a bracket at the left, so we shall remove
indentation -- make sure that each item on the same level starts
on the same horizontal position in your text editor.
indentation -- make sure that each item on the same level starts
on the same horizontal position in your text editor.
Ossia are often written without clef and without
time signature and are usually in a smaller font.
These require further commands which
Ossia are often written without clef and without
time signature and are usually in a smaller font.
These require further commands which
Voice one is set to red diamonds, voice two to blue triangles,
voice three to green crossed circles, and voice four (not used
here) to magenta crosses; @code{\voiceNeutralStyle} (also not
Voice one is set to red diamonds, voice two to blue triangles,
voice three to green crossed circles, and voice four (not used
here) to magenta crosses; @code{\voiceNeutralStyle} (also not
We shall see later how commands like these may be created by the
user.
See @ref{Visibility and color of objects} and
We shall see later how commands like these may be created by the
user.
See @ref{Visibility and color of objects} and
have no shift or the same shift specified, the error message
@qq{Too many clashing note columns} will be produced.
have no shift or the same shift specified, the error message
@qq{Too many clashing note columns} will be produced.
preceding word with no hyphen or underscore, e.g.,
@code{GregorianTranscriptionStaff}.
preceding word with no hyphen or underscore, e.g.,
@code{GregorianTranscriptionStaff}.
Note the distinction between the name of the context type,
@code{Staff}, @code{Voice}, etc, and the identifying name of a
Note the distinction between the name of the context type,
@code{Staff}, @code{Voice}, etc, and the identifying name of a
-particular instance of that type, which can be any sequence of letters
-invented by the user. Digits and spaces can also be used in the
+particular instance of that type, which can be any sequence of letters
+invented by the user. Digits and spaces can also be used in the
identifying name, but then it has to be placed in quotes,
i.e. @code{\new Staff = "MyStaff 1" @var{music-expression}}.
The identifying name is used to
refer back to that particular instance of a context. We saw this in
use in the section on lyrics, see @ref{Voices and vocals}.
identifying name, but then it has to be placed in quotes,
i.e. @code{\new Staff = "MyStaff 1" @var{music-expression}}.
The identifying name is used to
refer back to that particular instance of a context. We saw this in
use in the section on lyrics, see @ref{Voices and vocals}.
shall see later that text can actually be specified in a much more
general way by using the very powerful @code{markup} command.
shall see later that text can actually be specified in a much more
general way by using the very powerful @code{markup} command.
of a particular type, such as all @code{Staff} contexts, with a single
command. The context type is identified by using its
type name, like @code{Staff}, prefixed by a back-slash: @code{\Staff}.
of a particular type, such as all @code{Staff} contexts, with a single
command. The context type is identified by using its
type name, like @code{Staff}, prefixed by a back-slash: @code{\Staff}.
@code{\with} block, introduced above. It is placed in a
@code{\context} block within a @code{\layout} block. Each
@code{\context} block will affect all contexts of the type specified
@code{\with} block, introduced above. It is placed in a
@code{\context} block within a @code{\layout} block. Each
@code{\context} block will affect all contexts of the type specified
instances of contexts by statements in a @code{\with} block, and by
@code{\set} commands embedded in music statements.
instances of contexts by statements in a @code{\with} block, and by
@code{\set} commands embedded in music statements.
Notation Reference: @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
Notation Reference: @ruser{Modifying context plug-ins},
@ruser{Changing context default settings}.
\new Voice = "sopranos" @{ \global \sopranoMusic @}
>>
\new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
\new Staff = "altos" <<
\new Voice = "sopranos" @{ \global \sopranoMusic @}
>>
\new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
\new Staff = "altos" <<