@example
\score @{
-...
+ @dots{}
@}
@end example
Comments are one exception to this general rule. (For others see
@ref{File structure}.) Both single-line comments and comments
-delimited by @code{%@{ .. %@}} may be placed anywhere within an
+delimited by @code{%@{ @dots{} %@}} may be placed anywhere within an
input file. They may be placed inside or outside a @code{\score}
block, and inside or outside the single music expression within a
@code{\score} block.
@example
\score @{
- @var{..music..}
+ @var{@dots{}music@dots{}}
@}
@end example
@example
\markup @{
- @var{..text..}
+ @var{@dots{}text@dots{}}
@}
@end example
@example
\score @{
- @var{..}
+ @var{@dots{}}
@}
\markup @{
- @var{..}
+ @var{@dots{}}
@}
\score @{
- @var{..}
+ @var{@dots{}}
@}
@end example
\header @{ piece = "Romanze" @}
@}
\markup @{
- ..text of second verse..
+ @dots{}text of second verse@dots{}
@}
\markup @{
- ..text of third verse..
+ @dots{}text of third verse@dots{}
@}
\score @{
@dots{}
@example
\book @{
\score @{ @dots{} @}
- \layout @{ @dots{} @}
+ \paper @{ @dots{} @}
@}
\book @{
\score @{ @dots{} @}
- \layout @{ @dots{} @}
+ \paper @{ @dots{} @}
@}
\book @{
\score @{ @dots{} @}
- \layout @{ @dots{} @}
+ \paper @{ @dots{} @}
@}
@end example
is entered at the top level the definitions are combined, but in
conflicting situations the later definitions take precedence. For
details of how this affects the @code{\layout} block see
-@ref{The \layout block}.
+@ref{The layout block,,The @code{@bs{}layout} block}.
@item
A direct scheme expression, such as
A single-line comment, introduced by a leading @code{%} sign.
@item
-A multi-line comment delimited by @code{%@{ .. %@}}.
+A multi-line comment delimited by @code{%@{ @dots{} %@}}.
@end itemize
Notation Reference:
@ref{Titles explained},
-@ref{The \layout block}.
+@ref{The layout block,,The @code{@bs{}layout} block}.
@node Titles and headers
Each @code{\book} block in a single input file produces a separate
output file, see @ref{File structure}. Within each output file
-two types of titling areas are provided: @emph{Bookpart Titles} at
-the beginning of each bookpart and @emph{Score Titles} at the
-beginning of each score.
+three types of titling areas are provided: @emph{Book Titles} at the
+beginning of each book, @emph{Bookpart Titles} at the beginning of
+each bookpart and @emph{Score Titles} at the beginning of each score.
Values of titling fields such as @code{title} and @code{composer}
are set in @code{\header} blocks. (For the syntax of @code{\header}
blocks and a complete list of the fields available by default see
-@ref{Default layout of bookpart and score titles}). Both Bookpart
-Titles and Score Titles can contain the same fields, although by
-default the fields in Score Titles are limited to @code{piece} and
-@code{opus}.
+@ref{Default layout of bookpart and score titles}). Book Titles,
+Bookpart Titles and Score Titles can all contain the same fields,
+although by default the fields in Score Titles are limited to
+@code{piece} and @code{opus}.
@code{\header} blocks may be placed in four different places to form
a descending hierarchy of @code{\header} blocks:
@itemize
@item
- A Bookpart Title is derived from fields set at the top of the input
+A Book Title is derived from fields set at the top of the input file,
+modified by fields set in the @code{\book} block. The resulting
+fields are used to print the Book Title for that book, providing that
+there is other material which generates a page at the start of the
+book, before the first bookpart. A single @code{\pageBreak} will
+suffice.
+
+@item
+A Bookpart Title is derived from fields set at the top of the input
file, modified by fields set in the @code{\book} block, and further
modified by fields set in the @code{\bookpart} block. The resulting
values are used to print the Bookpart Title for that bookpart.
This example demonstrates all @code{\header} variables:
-@lilypond[papersize=a7,quote,verbatim,noragged-right]
+@lilypond[papersize=a6landscape,quote,verbatim,noragged-right]
\book {
\header {
% The following fields are centered
@cindex breakbefore
+If a @code{\book} block starts immediately with a @code{\bookpart}
+block, no Book Title will be printed, as there is no page on which
+to print it. If a Book Title is required, begin the @code{\book}
+block with some markup material or a @code{\pageBreak} command.
+
Use the @code{breakbefore} variable inside a @code{\header} block
-that is itself in a @code{\score} block, to make the top-level
+that is itself in a @code{\score} block, to make the higher-level
@code{\header} block titles appear on the first page on their own, with
the music (defined in the @code{\score} block) starting on the next.
-@lilypond[papersize=a8landscape,verbatim,noragged-right]
+@lilypond[papersize=c7landscape,verbatim,noragged-right]
\book {
\header {
title = "This is my Title"
@end itemize
-@lilypond[papersize=a8landscape]
-\book {
- \score {
- \relative c' {
- c4 d e f
- }
- }
-}
-@end lilypond
-
The default tagline can be changed by adding a @code{tagline} in the
top-level @code{\header} block.
{ s1 }
\header {
piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
- subtitle = \markup { \italic "(Excerpt)" }
+ opus = \markup { \italic "BWV 846" }
}
}
@end lilypond
@example
scoreTitleMarkup = \markup @{ \column @{
- \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
+ \on-the-fly \print-all-headers @{ \bookTitleMarkup \hspace #1 @}
\fill-line @{
\fromproperty #'header:piece
\fromproperty #'header:opus
@example
@code{variable} = @code{\markup} @{
- ...
- @code{\on-the-fly} #@var{procedure} @var{markup}
- ...
+ @dots{}
+ @code{\on-the-fly} \@var{procedure} @var{markup}
+ @dots{}
@}
@end example
evenHeaderMarkup = \markup \null
oddFooterMarkup = \markup {
\fill-line {
- \on-the-fly #print-page-number-check-first
+ \on-the-fly \print-page-number-check-first
\fromproperty #'page:page-number-string
}
}
@q{and} operation, for example,
@example
- @code{\on-the-fly #first-page}
- @code{\on-the-fly #last-page}
- @code{@{ \markup ... \fromproperty #'header: ... @}}
+ @code{\on-the-fly \first-page}
+ @code{\on-the-fly \last-page}
+ @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
@end example
determines if the output is a single page.
\footnote #'(-0.5 . 1) "Bar line" Staff.BarLine
q q
\footnote #'(0.5 . -1) "Key change" Staff.KeySignature
- \key c\minor
+ \key c \minor
q
}
}
The syntax of a footnote in stand-alone text with automatic marks is
@example
-\markup @{ ... \auto-footnote @var{text} @var{footnote} ... @}
+\markup @{ @dots{} \auto-footnote @var{text} @var{footnote} @dots{} @}
@end example
The elements are:
The syntax of a footnote in stand-alone text with custom marks is
@example
-\markup @{ ... \footnote @var{mark} @var{footnote} ... @}
+\markup @{ @dots{} \footnote @var{mark} @var{footnote} @dots{} @}
@end example
The elements are:
@example
\include "parts/VI.ly"
\include "parts/VII.ly"
-... etc
+@dots{} etc
@end example
Files which are to be included can also contain @code{\include}
libA.ly
A1.ly
A2.ly
- ...
+ @dots{}
@end example
@noindent
#(ly:set-option 'relative-includes #t)
\include "A1.ly"
\include "A2.ly"
-...
+@dots{}
% return to default setting
#(ly:set-option 'relative-includes #f)
@end example
@example
\include "VI.ly"
\include "VII.ly"
-... etc
+@dots{} etc
@end example
Files which are to be included in many scores may be placed in
@lilypond[verbatim,quote]
music = \relative c'' {
-\tag #'A { a4 a a a }
-\tag #'B { b4 b b b }
-\tag #'C { c4 c c c }
-\tag #'D { d4 d d d }
+ \tag #'A { a4 a a a }
+ \tag #'B { b4 b b b }
+ \tag #'C { c4 c c c }
+ \tag #'D { d4 d d d }
}
-{
-\removeWithTag #'B
-\removeWithTag #'C
-\music
-\removeWithTag #'(B C)
-\music
+\new Voice {
+ \removeWithTag #'B
+ \removeWithTag #'C
+ \music
+ \removeWithTag #'(B C)
+ \music
}
@end lilypond
@ref{Automatic part combining},
@ref{Including LilyPond files}.
-@ignore
-@c This warning is more general than this placement implies.
-@c Rests are not merged whether or not they come from tagged sections.
-@c Should be deleted? -td
-
@knownissues
-Multiple rests are not merged if you create a score with more
-than one tagged section at the same place.
-
-@end ignore
+Calling @code{\relative} on a music expression obtained by filtering
+music through @code{\keepWithTag} or @code{\removeWithTag} might cause
+the octave relations to change, as only the pitches actually
+remaining in the filtered expression will be considered. Applying
+@code{\relative} first, before @code{\keepWithTag} or
+@code{\removeWithTag}, avoids this danger as @code{\relative} then
+acts on all the pitches as-input.
@node Using global settings
this correction process, it is possible to skip typesetting of all but
the last few measures. This is achieved by putting
-@verbatim
+@example
showLastLength = R1*5
-\score { ... }
-@end verbatim
+\score @{ @dots{} @}
+@end example
@noindent
in your source file. This will render only the last 5 measures
@c NOTE: these images are a bit big, but that's important
@c for the font comparison. -gp
-@sourceimage{Gonville_after,,,}
+@sourceimage{Gonville_after,15cm,,}
Here are a few sample bars of music set in LilyPond's Feta font:
-@sourceimage{Gonville_before,,,}
+@sourceimage{Gonville_before,15cm,,}
@subsubheading Installation Instructions for MacOS
@example
\score @{
- @var{...music...}
+ @var{@dots{}music@dots{}}
\midi @{ @}
@}
@end example
@example
\score @{
- @var{...music...}
+ @var{@dots{}music@dots{}}
\midi @{ @}
\layout @{ @}
@}
@example
\new Staff @{
\set Staff.midiInstrument = #"glockenspiel"
- @var{...notes...}
+ @var{@dots{}notes@dots{}}
@}
@end example
@example
\new Staff \with @{midiInstrument = #"cello"@} @{
- @var{...notes...}
+ @var{@dots{}notes@dots{}}
@}
@end example
@example
\score @{
- @var{...music...}
+ @var{@dots{}music@dots{}}
\midi @{
\tempo 4 = 72
@}
@example
\midi @{
- ...
+ @dots{}
\context @{
\Voice
\remove "Dynamic_performer"
@example
\score @{
- @var{..music..}
- \layout @{ .. @}
+ @var{@dots{}music@dots{}}
+ \layout @{ @dots{} @}
@}
\score @{
- \unfoldRepeats @var{..music..}
- \midi @{ .. @}
+ \unfoldRepeats @var{@dots{}music@dots{}}
+ \midi @{ @dots{} @}
@}
@end example
The minimum and maximum overall volume of MIDI dynamic markings is
controlled by setting the properties @code{midiMinimumVolume} and
-@code{midiMaximumVolume} at the @code{Score} level. These
-properties have an effect only on dynamic marks, so if they
-are to apply from the start of the score a dynamic mark must be
-placed there. The fraction corresponding to each dynamic mark is
-modified with this formula
+@code{midiMaximumVolume} at the @code{Score} level. These properties
+have an effect only at the start of a voice and on dynamic marks. The
+fraction corresponding to each dynamic mark is modified with this
+formula
@example
midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction
remarkably.
In this example the volume of the clarinet is reduced relative
-to the volume of the flute. There must be a dynamic
-mark on the first note of each instrument for this to work
-correctly.
+to the volume of the flute.
@lilypond[verbatim,quote]
\score {
@example
\unfoldRepeats \articulate <<
- all the rest of the score...
+ all the rest of the score@dots{}
>>
@end example
By default, LilyPond will print these messages to the console
along with all the other LilyPond compilation messages. To split
-up these messages and save the results of @code{\display@{STUFF@}},
+up these messages and save the results of @code{\displayLilyMusic},
redirect the output to a file.
@example
line followed by optional parameters.
@example
-@var{time} @var{type} @var{...params...}
+@var{time} @var{type} @var{@dots{}params@dots{}}
@end example
This information can easily be read into other programs such as