each staff. The range is graphically specified by two noteheads, that
represent the minimum and maximum pitch. Some publishers use a textual
notation: they put the range in words in front of the corresponding
-staff. Lilypond currently only supports the graphical ambitus notation.
+staff. LilyPond currently only supports the graphical ambitus notation.
To apply, add the @internalsref{Ambitus_engraver} to the
@internalsref{Voice} context, i.e.
@cindex mark
@cindex @code{\mark}
-To print a rehearsal mark, use the @code{\mark} command.
+To print a rehearsal mark, use the @code{\mark} command:
@lilypond[fragment,verbatim]
\relative c'' {
c1 \mark "A"
The @code{\mark} command can also be used to put signs like coda,
segno and fermatas on a barline. Use @code{\markup} to
-to access the appropriate symbol.
+to access the appropriate symbol:
@lilypond[fragment,verbatim,relative=1]
c1 \mark \markup { \musicglyph #"scripts-ufermata" }
In this case, during line breaks,
marks must also be printed at the end of the line, and not at the
-beginning. Use the following to force that behavior
+beginning. Use the following to force that behavior:
@example
\property Score.RehearsalMark \override
#'break-visibility = #begin-of-line-invisible
@end example
-See @inputfileref{input/test,boxed-molecule.ly}. for putting boxes
+See @inputfileref{input/test,boxed-molecule.ly} for putting boxes
around the marks.
@cindex fermatas
Bar numbers can be typeset at regular intervals instead of at the
beginning of each line. This is illustrated in the following example,
whose source is available as
-@inputfileref{input/test,bar-number-regular-interval.ly}
+@inputfileref{input/test,bar-number-regular-interval.ly}:
@lilypondfile[notexidoc]{bar-number-regular-interval.ly}
@refbugs
Bar numbers can collide with the @internalsref{StaffGroup} bracket, if
-there is one at the top. To solve this, In that case, the
+there is one at the top. To solve this, the
@internalsref{padding} property of @internalsref{BarNumber} can be
used to position the number correctly.
@node Instrument names
@subsection Instrument names
-In an orchestral score, instrument names are printed left of the
+In an orchestral score, instrument names are printed left side of the
staffs.
This can be achieved by setting @internalsref{Staff}.@code{instrument}
and @internalsref{Staff}.@code{instr}. This will print a string before
the start of the staff. For the first start, @code{instrument} is
-used, for the next ones @code{instr} is used.
+used, for the next ones @code{instr} is used:
@lilypond[verbatim,singleline]
\property Staff.instrument = "ploink " { c''4 }
@end lilypond
You can also use markup texts to construct more complicated instrument
-names.
+names:
@lilypond[fragment,verbatim,singleline]
\notes \context Staff = treble {
@code{\transpose} distinguishes between enharmonic pitches: both
@code{\transpose c cis} or @code{\transpose c des} will transpose up
half a tone. The first version will print sharps and the second
-version will print flats.
+version will print flats:
@lilypond[singleline, verbatim]
mus =\notes { \key d \major cis d fis g }
fill a score with rests, or it can be printed as a single multimeasure
rest. This expansion is controlled by the property
@code{Score.skipBars}. If this is set to true, Lily will not expand
-empty measures, and the appropriate number is added automatically.
+empty measures, and the appropriate number is added automatically:
@lilypond[fragment,verbatim]
\time 4/4 r1 | R1 | R1*2
R1*13/8*12
@end lilypond
-A @code{R} spanning a single measure is printed as either a whole rest
+An @code{R} spanning a single measure is printed as either a whole rest
or a breve, centered in the measure regardless of the time signature.
@cindex text on multi-measure rest
@var{note}-@code{markup} syntax (see @ref{Text markup}). In this case, the number is
replaced. If you need both texts and the number, you must add the
number by hand. A variable (@code{\fermataMarkup}) is provided for
-adding fermatas.
+adding fermatas:
@lilypond[verbatim,fragment]
The following example demonstrates the basic functionality of the part
combiner: putting parts on one staff, and setting stem directions and
-polyphony.
+polyphony:
@lilypond[verbatim,singleline,fragment]
\context Staff <
`Solo II'.
If you just want the merging parts, and not the textual markings, you
-may set the property @var{soloADue} to false.
+may set the property @var{soloADue} to false:
@lilypond[verbatim,singleline,fragment]
\context Staff <
In @code{soloADue} mode, when the two voices play the same notes on and
off, the part combiner may typeset @code{a2} more than once in a
-measure.
+measure:
@lilypond[fragment,singleline]
\context Staff <
available, which does the same: staffs containing nothing (or only
multi measure rests) are removed. The context definition is stored in
@code{\RemoveEmptyStaffContext} variable. Observe how the second staff
-in this example disappears in the second line.
+in this example disappears in the second line:
@lilypond[verbatim]
and untransposed instruments, you have to instruct LilyPond the pitch
offset (in semitones) for the transposed instruments. This is done
using the @code{transposing} property. It does not affect printed
-output.
+output:
@cindex @code{transposing}
is accomplished by setting the @code{style} property of the
NoteHead object to @code{mensural}. There is also a note head style
@code{baroque} which gives mensural note heads for @code{\longa} and
-@code{\breve} but standard note heads for shorter notes.
+@code{\breve} but standard note heads for shorter notes:
@lilypond[fragment,singleline,verbatim]
\property Voice.NoteHead \set #'style = #'mensural
For typesetting custodes, just put a @internalsref{Custos_engraver} into the
@internalsref{Staff} context when declaring the @code{\paper} block,
-as shown in the following example.
+as shown in the following example:
@example
\paper @{
and @code{\finalis} at proper places in the input. Some editions use
@emph{virgula} or @emph{caesura} instead of divisio minima.
Therefore, @code{gregorian-init.ly} also defines @code{\virgula} and
-@code{\caesura}.
+@code{\caesura}:
@lilypondfile[notexidoc]{divisiones.ly}
century as an allusion to the accent symbols of greek lyric poetry to
denote ascending or descending sequences of notes. Both, the shape and
the exact meaning of ligatures changed tremendously during the following
-centuries: In early notation, ligatures where used for monophonic tunes
+centuries: In early notation, ligatures were used for monophonic tunes
(Gregorian chant) and very soon denoted also the way of performance in
the sense of articulation. With upcoming multiphony, the need for a
metric system arised, since multiple voices of a piece have to be
@code{\]}. Some ligature styles (such as Editio Vaticana) may need
additional input syntax specific for this particular type of ligature.
By default, the @internalsref{LigatureBracket} engraver just puts a
-square bracket above the ligature.
+square bracket above the ligature:
@lilypond[singleline,verbatim]
\score {
This is not only required for correct MIDI output, but also allows for
automatic transcription of the ligatures.
-Example:
+For example,
@example
\property Score.timing = ##f
The support for figured bass consists of two parts: there is an input
mode, introduced by @code{\figures}, where you can enter bass figures
-as numbers, and there is a context called @internalsref{FiguredBass}
-that takes care of making @internalsref{BassFigure} objects.
+as numbers, and there is a context called @internalsref{FiguredBass} that
+takes care of making @internalsref{BassFigure} objects.
In figures input mode, a group of bass figures is delimited by
-@code{<} and @code{>}. The duration is entered after the @code{>}.
+@code{<} and @code{>}. The duration is entered after the @code{>}:
@example
<4 6>
@end example
@end lilypond
Accidentals are added when you append @code{-}, @code{!} and @code{+}
-to the numbers.
+to the numbers:
@example
<4- 6+ 7!>
@end lilypond
Spaces or dashes may be inserted by using @code{_}. Brackets are
-introduced with @code{[} and @code{]}.
+introduced with @code{[} and @code{]}:
@example
< [4 6] 8 [_! 12]>
A cluster is engraved as the envelope of a set of
cluster-notes. Cluster notes are created by applying the function
-@code{notes-to-clusters} to a sequence of chords, eg.
+@code{notes-to-clusters} to a sequence of chords, e.g.
@c
@lilypond[relative 1,verbatim]
\apply #notes-to-clusters { <<c e >> <<b f'>> }
The following example (from
@inputfileref{input/regression,cluster.ly}) shows what the result
-looks like.
+looks like:
@lilypondfile[notexidoc]{cluster.ly}
Do not confuse layout properties with translation
properties. Translation properties always use a mixed caps style
-naming, and are manipulated using @code{\property}
+naming, and are manipulated using @code{\property}:
@example
\property Context.propertyName = @var{value}
@end example
The definition of an object is a list of default object
properties. For example, the definition of the Stem object (available
in @file{scm/define-grobs.scm}), includes the following definitions
-for @internalsref{Stem}
+for @internalsref{Stem}:
@example
(thickness . 1.3)
@cindex @code{\once}
For changing more objects, the same command, without @code{\once} can
-be used.
+be used:
@example
\property @var{context}.@var{objectname} \override @var{symbol} = @var{value}
@end example
of @var{objectname} in the context @var{context}, and this definition
stays in place until it is removed.
-An existing definition may be removed by the following command
+An existing definition may be removed by the following command:
@c
@example
\property @var{context}.@var{objectname} \revert @var{symbol}
@end lilypond
The following example gives exactly the same result as the previous
-one (assuming the system default for stem thickness is 1.3).
+one (assuming the system default for stem thickness is 1.3):
@c
@lilypond[verbatim,quote]
c'4 \property Voice.Stem \set #'thickness = #4.0
remove the default value, and this may give surprising results,
including crashes. In other words, @code{\override} and
@code{\revert} must be carefully balanced. The following are examples
-of correct nesting of @code{\override}, @code{\set}, @code{\revert}.
+of correct nesting of @code{\override}, @code{\set}, @code{\revert}:
@itemize @bullet
@item
-A clumsy but correct form:
+a clumsy but correct form:
@example
\override \revert \override \revert \override \revert
@end example
@item
-Shorter version of the same:
+shorter version of the same:
@example
\override \set \set \revert
@end example
@item
-A short form, using only @code{\set}. This requires you to know the
+a short form, using only @code{\set}. This requires you to know the
default value:
@example
\set \set \set \set @var{to default value}
@end example
@item
-If there is no default (i.e. by default, the object property is unset),
+if there is no default (i.e. by default, the object property is unset),
then you can use
@example
\set \set \set \revert
@c [TODO: revise for new site.]
-Suppose we want to move the fingering indication in the fragment below
+Suppose we want to move the fingering indication in the fragment below:
@lilypond[relative=2,verbatim]
c-2
@end lilypond
If you visit the documentation of @code{Fingering} (in @ref{Fingering
-instructions}), you will notice that it says
+instructions}), you will notice that there is written:
@quotation
@seealso
layout object is created for every @code{FingerEvent}.
The Fingering object has a number of different functions, and each of
-those is captured in an interface. when we look up
+those is captured in an interface, when we look up
@internalsref{Fingering} in the generated documentation.
@internalsref{finger-interface}.
For the vertical placement, we have to look under
-@code{side-position-interface}.
+@code{side-position-interface}:
@quotation
@code{side-position-interface}
By increasing the value of @code{padding}, we can move away the
fingering. The following command inserts 3 staff spaces of white
-between the note and the fingering
+between the note and the fingering:
@example
\once \property Voice.Fingering \set #'padding = #3
@end example
Inserting this command before the Fingering object is created,
-i.e. before @code{c2}, yields the following result.
+i.e. before @code{c2}, yields the following result:
@lilypond[relative=2,fragment,verbatim]
\once \property Voice.Fingering
When interpreted, the function @var{proc} is called for every layout object found
in the context, with the following arguments:
@itemize @bullet
-@item the layout object itself
-@item the context where the layout object was created
+@item the layout object itself,
+@item the context where the layout object was created, and
@item the context where @code{\applyoutput} is processed.
@end itemize
size. The font size of any context can be easily changed by setting
the @code{fontSize} property for that context. Its value is an
integer: negative numbers make the font smaller, positive numbers
-larger. An example is given below.
+larger. An example is given below:
@c
@lilypond[fragment,relative=1,verbatim,quote]
c4 c4 \property Voice.fontSize = #-1
Font selection for the standard fonts, @TeX{}'s Computer Modern fonts,
can also be adjusted with a more fine-grained mechanism. By setting
-the object properties described below, you can select a different font.
-All three mechanisms work for every object that supports
-@code{font-interface}.
+the object properties described below, you can select a different font;
+all three mechanisms work for every object that supports
+@code{font-interface}:
@table @code
@item font-family
- A symbol indicating the general class of the typeface. Supported are
+ is a symbol indicating the general class of the typeface. Supported are
@code{roman} (Computer Modern), @code{braces} (for piano staff
braces), @code{music} (the standard music font, including ancient
glyphs), @code{dynamic} (for dynamic signs) and @code{typewriter}.
@item font-shape
- A symbol indicating the shape of the font, there are typically several
+ is a symbol indicating the shape of the font, there are typically several
font shapes available for each font family. Choices are @code{italic},
- @code{caps} and @code{upright}
+ @code{caps} and @code{upright}.
@item font-series
-A symbol indicating the series of the font. There are typically several
+is a symbol indicating the series of the font. There are typically several
font series for each font family and shape. Choices are @code{medium}
and @code{bold}.
@item font-relative-size
- A number indicating the size relative the standard size. For example,
+ is a number indicating the size relative the standard size. For example,
with 20pt staff height, relative size -1 corresponds to 16pt staff
height, and relative size +1 corresponds to 23 pt staff height.
@item font-design-size
-A number indicating the design size of the font.
+is a number indicating the design size of the font.
This is a feature of the Computer Modern Font: each point size has a
slightly different design. Smaller design sizes are relatively wider,
LilyPond has an internal mechanism to typeset texts. You can access it
with the keyword @code{\markup}. Within markup mode, you can enter texts
-similar to lyrics: simply enter them, surrounded by spaces.
+similar to lyrics: simply enter them, surrounded by spaces:
@cindex markup
@lilypond[verbatim,fragment,relative=1]
The markup in the example demonstrates font switching commands. The
command @code{\bold} and @code{\italic} only apply to the first
following word; enclose a set of texts with braces to apply a command
-to more words.
+to more words:
@example
\markup @{ \bold @{ hi there @} @}
@end example
@cindex font size, texts
-The following size commands set abolute sizes
+The following size commands set absolute sizes:
@cindex @code{\teeny}
@cindex @code{\tiny}
The following font change commands are defined:
@table @code
@item \dynamic
-This changes to the font used for dynamic signs. This font does not
+changes to the font used in dynamic signs. This font does not
contain all characters of the alphabet, so when producing ``piu f'',
the ``piu'' should be done in a different font.
@item \number
-This changes to the font used for time signatures. It only contains
+changes to the font used in time signatures. It only contains
numbers and a few punctuation marks.
@item \italic
-Changes @code{font-shape} to @code{italic}
+changes @code{font-shape} to @code{italic}.
@item \bold
-Changes @code{font-series} to @code{bold}
+changes @code{font-series} to @code{bold}.
@end table
@cindex raising text
@cindex @code{\super}
Raising and lowering texts can be done with @code{\super} and
-@code{\sub}.
+@code{\sub}:
@lilypond[verbatim,fragment,relative=1]
c1^\markup { E "=" mc \super "2" }
If you want to give an explicit amount for lowering or raising, use
@code{\raise}. This command takes a Scheme valued first argument, and
-a markup object as second argument
+a markup object as second argument:
@c
@lilypond[verbatim,fragment,relative=1,quote]
c1^\markup { C \small \raise #1.0 \bold { "9/7+" }}
@item \magnify #@var{mag}
@cindex @code{\magnify}
This sets the font magnification for the its argument. In the following
-example, the middle A will be 10% larger.
+example, the middle A will be 10% larger:
@example
A \magnify #1.1 @{ A @} A
@end example
notes into horizontal lines. Other types of lists also exist: you can
stack expressions grouped with @code{<<}, and @code{>>} vertically with
the command @code{\column}. Similarly, @code{\center} aligns texts by
-their center lines.
+their center lines:
@lilypond[verbatim,fragment,relative=1]
c1^\markup { \column << a bbbb c >> }
@cindex staffs per page
-The height of each system is determined automatically by lilypond, to
+The height of each system is determined automatically by LilyPond, to
keep systems from bumping into each other, some minimum distances are
set. By changing these, you can put staves closer together, and thus
put more systems onto one page.
. 4)}.
The piano staves are handled a little differently: to make cross-staff
-beaming work correctly, it necessary that the distance between staves
+beaming work correctly, it is necessary that the distance between staves
is fixed beforehand. This is also done with a
@internalsref{VerticalAlignment} object, created in
@internalsref{PianoStaff}. In this object the distance between the
stretchable distances (``springs'') of differing lengths. Longer
durations get more space, shorter durations get less. The shortest
durations get a fixed amount of space (which is controlled by
-@code{shortest-duration-space} in the @internalsref{SpacingSpanner}
-object). The longer the duration, the more space it gets: doubling a
+@code{shortest-duration-space} in the @internalsref{SpacingSpanner} object).
+/The longer the duration, the more space it gets: doubling a
duration adds a fixed amount (this amount is controlled by
@code{spacing-increment}) of space to the note.
(generated at @internalsref{Staff} context) contains the same property
for controlling the stem/barline spacing. The following example
shows these corrections, once with default settings, and once with
-exaggerated corrections.
+exaggerated corrections:
@lilypond
\score { \notes {
@cindex SpacingSpanner, overriding properties
Properties of the @internalsref{SpacingSpanner} must be overridden
-from the @code{\paper} block, since the @internalsref{SpacingSpanner}
-is created before any @code{\property} statements are interpreted.
+from the @code{\paper} block, since the @internalsref{SpacingSpanner} is
+created before any @code{\property} statements are interpreted.
@example
\paper @{ \translator @{
\ScoreContext
The default font size settings for each staff heights are generated
from the 20pt style sheet. For more details, see the file
@file{scm/font.scm}.
-l
@node Line breaking
@cindex page size
@cindex @code{papersize}
-To change the paper size, you must first set the
-@code{papersize} paper variable variable. Set it to
+To change the paper size, you must first set the @code{papersize} paper
+variable variable as in the example below. Set it to
the strings @code{a4}, @code{letter}, or @code{legal}. After this
specification, you must set the font as described above. If you want
the default font, then use the 20 point font.
The file @code{paper16.ly} will now include a file named @file{a4.ly}, which
will set the paper variables @code{hsize} and @code{vsize} (used by
-Lilypond and @code{ly2dvi})
+@code{lilypond} and @code{ly2dvi}).
@refcommands
@cindex @code{\newpage}
-@code{\newpage},
+@code{\newpage}.
@seealso
crescendi and decrescendi translate into MIDI volume levels. Dynamic
marks translate to a fixed fraction of the available MIDI volume
range, crescendi and decrescendi make the volume vary linearly between
-their two extremities. The fractions be adjusted by
+their two extremities. The fractions can be adjusted by
@code{dynamicAbsoluteVolumeFunction} in @internalsref{Voice} context.
For each type of MIDI instrument, a volume range can be defined. This
gives a basic equalizer control, which can enhance the quality of
@cindex MIDI block
@itemize @bullet
- @item a @code{\tempo} definition
- @item context definitions
+ @item a @code{\tempo} definition, and
+ @item context definitions.
@end itemize
Assignments in the @code{\midi} block are not allowed.