@c FIXME: singular vs. plural: Beams/Beam
-
-
-
-
-
@node Reference Manual
@chapter Reference Manual
* Tablatures::
* Chords::
* Writing parts::
-* Ancient notation::
-* Contemporary notation::
+* Ancient notation ::
+* Contemporary notation::
* Tuning output::
* Global layout::
* Sound::
@section Easier music entry
@cindex Music entry
@menu
-* Graphical interfaces::
* Relative octaves::
* Bar check::
-* Point and click::
* Skipping corrected music::
@end menu
@cindex Slurs
A slur indicates that notes are to be played bound or @emph{legato}.
+
+@syntax
+
They are entered using parentheses:
@lilypond[fragment,verbatim,center]
f'-( g'-)-( a'-) [a'8 b'-(-] a'4 g'2 f'4-)
<<c' e'>>2-( <<b d'>>2-)
@end lilypond
-See also @seeinternals{Slur}.
+
+@c TODO: should explain that ^( and _( set directions
+@c should set attachments with ^ and _ ?
Slurs avoid crossing stems, and are generally attached to note heads.
However, in some situations with beams, slurs may be attached to stem
d,32-( d'4 d8..-)
@end lilypond
-@ignore
-Similarly, the curvature of a slur is adjusted to stay clear of note
-heads and stems. When that would increase the curvature too much, the
-slur is reverted to its default shape. The threshold for this
-decision is in @internalsref{Slur}'s object property @code{beautiful}.
-It is loosely related to the enclosed area between the slur and the
-notes. Usually, the default setting works well, but in some cases you
-may prefer a curved slur when LilyPond decides for a vertically moved
-one. You can indicate this preference by increasing the
-@code{beautiful} value:
-
-@lilyp ond[verbatim,singleline,relative]
- \stemDown \slurUp
- c16-( a' f' a a f a, c,-)
- c-( a' f' a a f d, c-)
- \property Voice.Slur \override #'beautiful = #5.0
- c-( a' f' a a f d, c-)
-@end lilypond
-@end ignore
+@seealso
+
+@seeinternals{Slur}.
+
@refbugs
uses a simple, empiric method to produce slurs. In some cases, the
results of this method are ugly.
-@ignore
-This is reflected by the
-@code{beautiful} property, which it is an arbitrary parameter in the
-slur formatter. Useful values can only be determined by trial and
-error.
-@end ignore
@cindex Adjusting slurs
respectively.
@lilypond[fragment,verbatim,center,relative]
- \time 6/4 c' \( d ( e-) f ( e-) d-\)
+ \time 6/4 c'-\( d-( e-) f-( e-) d-\)
@end lilypond
-Typographically, the phrasing slur behaves almost exactly like a normal
-slur. See also @seeinternals{PhrasingSlur}. But although they behave
-similarily to normal slurs, phrasing slurs count as different objects.
-A @code{\slurUp} will have no effect on a phrasing slur; instead, you
-should use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
+Typographically, the phrasing slur behaves almost exactly like a
+normal slur. Although they behave similar to normal slurs, phrasing
+slurs count as different objects. A @code{\slurUp} will have no
+effect on a phrasing slur; instead, you should use
+@code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
@code{\phrasingSlurBoth}.
The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurBoth}
will only affect normal slurs and not phrasing slurs.
+@seealso
+
+See also @seeinternals{PhrasingSlur}. Phrasing slurs have the same
+limitations in their formatting.
+
@node Breath marks
@subsection Breath marks
-Breath marks are entered using @code{\breathe}. See also
-@seeinternals{BreathingSign}.
+Breath marks are entered using @code{\breathe}.
+
@lilypond[fragment,relative]
c'4 \breathe d4
The glyph of the breath mark can be tweaked by overriding the
@code{text} property of the @code{BreathingSign} grob with the name of
any glyph of @ref{The Feta font}. For example,
-
-@example
- \property Voice.BreathingSign \override #'text = #"scripts-rvarcomma"
- \breathe
-@end example
-
-gives the following result:
-
-@lilypond[fragment,relative]
+@lilypond[fragment,verbatim,relative]
c'4
\property Voice.BreathingSign \override #'text = #"scripts-rvarcomma"
\breathe
d4
@end lilypond
-The default value for the @code{text} property is
-@code{scripts-rcomma}.
+@seealso
+
+@seeinternals{BreathingSign},
+@inputfileref{input/regression/,breathing-sign.ly}.
@node Tempo
The tempo setting is not printed, but is only used in the MIDI
output. You can trick lily into producing a metronome mark,
though. Details are in @ref{Text markup}.
-
+
+[TODO: make note markup.]
@node Text spanners
@subsection Text spanners
@cindex Text spanners
-Some textual indications, e.g. rallentando or accelerando, often extend
-over many measures. This is indicated by following the text with a
-dotted line. You can create such texts using text spanners. The syntax
-is as follows:
+Some textual indications, e.g. @i{rallentando} or @i{accelerando}, are
+often extended over many measures. This is indicated by following the
+text with a dotted line. You can create such texts using text
+spanners. The syntax is as follows:
@example
\startTextSpan
\stopTextSpan
@end example
-LilyPond will respond by creating a @internalsref{TextSpanner} object (typically
-in @internalsref{Voice} context). The string to be printed, as well as the
-style is set through object properties.
+The string to be printed, as well as the style, is set through object
+properties.
+
+An application is to fake octavation indications.
-An application---or rather, a hack---is to fake octavation indications.
@lilypond[fragment,relative,verbatim]
\relative c' { a''' b c a
\property Voice.TextSpanner \set #'type = #'dotted-line
\property Voice.TextSpanner \set #'edge-height = #'(0 . 1.5)
\property Voice.TextSpanner \set #'edge-text = #'("8va " . "")
\property Staff.centralCPosition = #-13
- a\startTextSpan b c a \stopTextSpan }
+ a-\startTextSpan b c a-\stopTextSpan }
@end lilypond
+@seealso
+
+@internalsref{TextSpanner}, @inputfileref{input/regression/,text-spanner.ly}.
+
+
@node Analysis brackets
@subsection Analysis brackets
@cindex brackets
}}}
@end lilypond
+@refbugs
+
+Bracket endings should be angled/slanted. (TODO)
+
+
@node Ornaments
@section Ornaments
@cindex Ornaments
+
+[TODO: ornaments vs. expressive marks]
+
@menu
* Articulations::
* Text scripts::
different characteristics of the performance. They are added to a note
by adding a dash and the the character signifying the
articulation. They are demonstrated here.
-@lilypond[singleline]
- \score {
- \notes \context Voice {
- \property Voice.TextScript \set #'font-family = #'typewriter
- \property Voice.TextScript \set #'font-shape = #'upright
- c''4-._"c-." s4
- c''4--_"c-{}-" s4
- c''4-+_"c-+" s4
- c''4-|_"c-|" s4
- c''4->_"c->" s4
- c''4-^_"c-\\^{ }" s4
- c''4-__"c-\_" s4
- }
- }
-@end lilypond
+
+@lilypondfile[notexidoc]{script-abbreviations.ly}
The script is automatically placed, but if you need to force
directions, you can use @code{_} to force them down, or @code{^} to
@cindex coda
@cindex varcoda
-@lilypond[]
- \score {
- <
- \property Score.LyricText \override #'font-family = #'typewriter
- \property Score.LyricText \override #'font-shape = #'upright
- \context Staff \notes {
- \property Score.timing = ##f
- \property Score.barAlways = ##t
- \property Staff.BarLine \override #'transparent = ##t
- c''-\accent c''-\marcato c''-\staccatissimo
- c''-\staccato c''-\tenuto c''-\portato
- c''-\upbow c''-\downbow c''-\flageolet
- c''-\thumb c''^\lheel c''-\rheel
- c''^\ltoe c''-\rtoe c''-\open
- c''-\stopped c''-\turn c''-\reverseturn
- c''-\trill c''-\prall c''-\mordent
- c''-\prallprall c''-\prallmordent c''-\upprall
- c''-\downprall c''-\upmordent c''-\downmordent
- c''-\pralldown c''-\prallup c''-\lineprall
- c''-\signumcongruentiae c''-\shortfermata c''-\fermata
- c''-\longfermata c''-\verylongfermata c''-\segno
- c''-\coda c''-\varcoda
- }
- \context Lyrics \lyrics {
- accent__ marcato__ staccatissimo__
- staccato__ tenuto__ portato__
- upbow__ downbow__ flageolet__
- thumb__ lheel__ rheel__
- ltoe__ rtoe__ open__
- stopped__ turn__ reverseturn__
- trill__ prall__ mordent__
- prallprall__ prallmordent__ uprall__
- downprall__ upmordent__ downmordent__
- pralldown__ prallup__ lineprall__
- signumcongruentiae__ shortfermata__ fermata__
- longfermata__ verylongfermata__ segno__
- coda__ varcoda__
- }
- >
- \paper {
- linewidth = 5.1\in
- indent = 0.0\mm
- }
- }
-@end lilypond
+@lilypondfile[notexidoc]{script-chart.ly}
@cindex fingering
@cindex superscript
@cindex subscript
-See also @seeinternals{Script} and @seeinternals{Fingering}.
+@lilypond[verbatim,singleline,fragment,relative=1]
+ << c-1 e-2 g-3 b-5 >> 4
+ \property Voice.fingerHorizontalDirection = #LEFT
+ << c-1 es-3 g-5 >> 4
+ \property Voice.fingerHorizontalDirection = #RIGHT
+ << c-1 e-2 g-3 b-5 >> 4-\arpeggio
+ \property Voice.fingerHorizontalDirection = #LEFT
+ << c_1 e-2 g-3 b^5 >> 4
+@end lilypond
+
+@seealso
+
+@internalsref{Script} and @internalsref{Fingering}.
@refbugs
All of these note ornaments appear in the printed output but have no
effect on the MIDI rendering of the music.
-Unfortunately, there is no support for adding fingering instructions or
-ornaments to individual note heads. Some hacks exist, though. See
-@inputfileref{input/test,script-horizontal.ly}.
-
-
@node Text scripts
@subsection Text scripts
@cindex Text scripts
-In addition, it is possible to place arbitrary strings of text or markup
-text (see @ref{Text markup}) above or below notes by using a string:
-@code{c^"text"}.
-
-By default, these indications do not influence the note spacing, but
-by using the command @code{\fatText}, the widths will be taken into
-account.
+It is possible to place arbitrary strings of text or markup text (see
+@ref{Text markup}) above or below notes by using a string:
+@code{c^"text"}. By default, these indications do not influence the
+note spacing, but by using the command @code{\fatText}, the widths
+will be taken into account.
@c
@lilypond[fragment,singleline,verbatim] \relative c' {
c4^"longtext" \fatText c4_"longlongtext" c4 }
avoided because it makes it impossible for LilyPond to compute the
exact length of the string, which may lead to collisions. Also, @TeX{}
commands will not work with direct PostScript output.
-@c (see @ref{PostScript output}).
-Text scripts are created in form of @internalsref{TextScript} objects, in
-@internalsref{Voice} context.
+@seealso
+
+@internalsref{TextScript} objects.
@ref{Text markup} describes how to change the font or access
special symbols in text scripts.
@cindex grace notes
Grace notes are ornaments that are written out
+
@lilypond[relative=2,verbatim,ifragment] c4 \grace c16 c4 \grace {
[c16 d16] } c4
@end lilypond
-In normal notation, grace notes are supposed to take up no logical
+In normal notation, grace notes take up no logical
time in a measure. Such an idea is practical for normal notation, but
is not strict enough to put it into a program. The model that LilyPond
uses for grace notes internally is that all timing is done in two
}
@end lilypond
-The advantage of this approach is that you can use almost any lilypond
-construction together with grace notes, for example slurs and clef
-changes may appear halfway in between grace notes:
-
-@lilypond[relative=2,verbatim,fragment]
- c4 \grace { [ c16 c, \clef bass c, b(] } )c4
-@end lilypond
The placement of these grace notes is synchronized between different
-staves, using this grace timing.
+staves.
@lilypond[relative=2,verbatim,fragment]
-< \context Staff = SA { e4 \grace { c16 d e f } e4 }
- \context Staff = SB { c4 \grace { g8 b } c4 } >
+< \context Staff = SA { e4 \grace { c16-[ d e f-] } e4 }
+ \context Staff = SB { c'4 \grace { g8 b } c4 } >
@end lilypond
[TODO discuss Scheme functionality.]
-Notice how the @code{\override} is carefully matched with a @code{\revert}.
+The @code{\override} is carefully matched with a @code{\revert}.
@cindex slash
@cindex grace slash
@cindex @code{\glissando}
+A glissando is a smooth change in pitch. It is denoted by a line or a
+wavy line between two notes.
+
+@syntax
+
A glissando line can be requested by attaching a @code{\glissando} to
a note:
c'-\glissando c'
@end lilypond
-@refbugs
+@seealso
+
+@seeinternals{Glissando}.
-Printing of an additional text (such as @emph{gliss.}) must be done
-manually. See also @seeinternals{Glissando}.
+@refbugs
+Printing of an additional text (such as @emph{gliss.}) must be done
+manually.
@node Dynamics
@cindex diminuendo
+@seealso
+
Dynamics are objects of @internalsref{DynamicText} and
@internalsref{Hairpin}. Vertical positioning of these symbols is
-handled by the @internalsref{DynamicLineSpanner} object. If you want to
-adjust padding or vertical direction of the dynamics, you must set
-properties for the @internalsref{DynamicLineSpanner} object. Predefined
-identifiers to set the vertical direction are \dynamicUp and
-\dynamicDown.
+handled by the @internalsref{DynamicLineSpanner} object.
+
+If you want to adjust padding or vertical direction of the dynamics,
+you must set properties for the @internalsref{DynamicLineSpanner}
+object. Predefined identifiers to set the vertical direction are
+\dynamicUp and \dynamicDown.
@cindex direction, of dynamics
@cindex @code{\dynamicDown}
This is the normal notation: Repeats are not written out, but
alternative endings (voltas) are printed, left to right.
+@ignore
@item fold
Alternative endings are written stacked. This has limited use but may be
used to typeset two lines of lyrics in songs with repeats, see
@inputfileref{input,star-spangled-banner.ly}.
+@end ignore
@item tremolo
Make tremolo beams.
@node Repeat syntax
@subsection Repeat syntax
-The syntax for repeats is
+
+Repetition is a central concept in music, and multiple notations exist
+for repetitions.
+
+@syntax
+
+LilyPond has one syntactic construct for specifying different types of
+repeats. The syntax is
@example
\repeat @var{variant} @var{repeatcount} @var{repeatbody}
@var{alternative2}
@var{alternative3} @dots{} @code{@}}
@end example
-where each @var{alternative} is a music expression.
+where each @var{alternative} is a music expression. If you do not
+give enough alternatives for all of the repeats, then the first
+alternative is assumed to be played more than once.
Normal notation repeats are used like this:
@lilypond[fragment,verbatim]
\alternative { {d'2 d'} {f' f} }
@end lilypond
+@ignore
Folded repeats look like this:
-@lilypond[fragment,verbatim]
+@li lypond[fragment,verbatim]
c'1
\repeat fold 2 {c'4 d' e' f'}
\alternative { {d'2 d'} {f' f} }
@end lilypond
+@end ignore
-If you do not give enough alternatives for all of the repeats, then
-the first alternative is assumed to be repeated often enough to equal
-the specified number of repeats.
@lilypond[fragment,verbatim]
\context Staff {
@refbugs
-Notice that timing information is not remembered at the start of an
-alternative, so you have to reset timing information after a repeat,
-e.g. using a bar-check (See @ref{Bar check}), setting
-@code{Score.measurePosition} or entering @code{\partial}. Slurs or ties
-are also not repeated.
-
-It is possible to nest @code{\repeat}s, although this probably is only
-meaningful for unfolded repeats.
+Timing information is not remembered at the start of an alternative,
+so you have to reset timing information after a repeat, e.g. using a
+bar-check (See @ref{Bar check}), setting @code{Score.measurePosition}
+or entering @code{\partial}. Slurs or ties are also not repeated.
-Folded repeats offer little more over simultaneous music.
@node Manual repeat commands
@subsection Manual repeat commands
@end lilypond
-Repeats brackets are @internalsref{VoltaBracket} objects.
+@seealso
+
+Repeat brackets are @internalsref{VoltaBracket} objects.
@node Tremolo repeats
@subsection Tremolo repeats
}
@end lilypond
+@seealso
+
Tremolo beams are @internalsref{Beam} objects. Single stem tremolos are
-@internalsref{StemTremolo}. The single stem tremolo @emph{must} be
-entered without @code{@{} and @code{@}}.
+@internalsref{StemTremolo}.
@refbugs
-Only powers of two and undotted notes are supported repeat counts.
+The single stem tremolo @emph{must} be entered without @code{@{} and
+@code{@}}.
@node Tremolo subdivisions
@subsection Tremolo subdivisions
c'2:8 c':32 | c': c': |
@end lilypond
-@refbugs
+[TODO : stok is te kort bij 32en]
+@refbugs
Tremolos in this style do not carry over into the MIDI output.
}
@end lilypond
-The signs are represented by these objects: @internalsref{RepeatSlash} and
-@internalsref{PercentRepeat} and @internalsref{DoublePercentRepeat}.
+@seealso
+
+@internalsref{RepeatSlash}, @internalsref{PercentRepeat}, and
+@internalsref{DoublePercentRepeat}.
@refbugs
@subsection Percussion staves
@cindex percussion
@cindex drums
+
To typeset more than one piece of percussion to be played by the same
musician one typically uses a multiline staff where each staff
position refers to a specific piece of percussion.
-LilyPond is shipped with a bunch of scheme functions which allows you
-to do this fairly easily.
-
-The system is based on the general midi drum-pitches.
-In order to use the drum pitches you include
-@file{ly/drumpitch-init.ly}. This file defines the pitches from the scheme
-variable @code{drum-pitch-names} - which definition can be read in
-@file{scm/drums.scm}. You see that each piece of percussion has a full
-name and an abbreviated name - and you may freely select whether to
-refer to the full name or the abbreviation in your music definition.
-
-To typeset the music on a staff you apply the scheme function
-@code{drums->paper} to the percussion music. This function takes a
-list of percussion instrument names, notehead scripts and staff
-positions (that is: pitches relative to the C-clef) and uses this to
-transform the input music by moving the pitch, changing the notehead
-and (optionally) adding a script:
+@syntax
+
+LilyPond is has a set of Scheme functions that can be used to typeset
+percussion staves. The system is based on the general MIDI
+drum-pitches. Include @file{ly/drumpitch-init.ly} to use drum
+pitches. This file defines the pitches from the Scheme variable
+@code{drum-pitch-names}, the definition of which can be read in
+@file{scm/drums.scm}. Each piece of percussion has a full name and an
+abbreviated name, and both the full name or the abbreviation may be
+used in input files.
+
+To typeset the music on a staff apply the function @code{drums->paper}
+to the percussion music. This function takes a list of percussion
+instrument names, notehead scripts and staff positions (that is:
+pitches relative to the C-clef) and transforms the input
+music by moving the pitch, changing the notehead and (optionally)
+adding a script:
+@c
@lilypond[singleline,verbatim,quote]
\include "drumpitch-init.ly"
up = \notes { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
}
@end lilypond
-Notice that the scheme supports six different toms.
-If you are using fewer toms then you simply select the toms that produce
-the desired result - i.e. to get toms on the three middle lines you
-use @code{tommh}, @code{tomml} and @code{tomfh}.
+Scheme supports six different toms. When there fewer toms, simply
+select the toms that produce the desired result, i.e., to get toms on
+the three middle lines you use @code{tommh}, @code{tomml} and
+@code{tomfh}.
-Because the general midi contain no rimshots we use the sidestick for
-this purpose instead.
+Because general MIDI does not contain rimshots the sidestick is used
+for this purpose instead.
@item 'timbales
To typeset timbales on a two line staff.
@lilypond[singleline]
}
@end lilypond
-To use a modified existing list instead of building your own from
-scratch you can append your modifications to the start of the existing
-list:
+To use a modified existing list, one can prepend modifications to the
+the existing list:
@example
#(define mydrums (append `(
) drums ))
@end example
-@c FIXME: Too many levels of headers when using subsubsections.
-@c Perhaps junk subsection ``Percussion staves''
-@subsubsection Percussion staves with normal staves
-When you include @file{drumpitch-init.ly} then the default pitches
-are overridden so that you after the inclusion cannot use the common
-dutch pitch names anymore. Hence you might want to reinclude
-@file{nederlands.ly} after the drum-pattern-definitions:
+The file @file{drumpitch-init.ly} replaces the normal pitch names, so
+you have to reinclude @file{nederlands.ly} after the
+drum-pattern-definitions to enter normal notes.
+@c
@lilypond[singleline,verbatim]
\include "drumpitch-init.ly"
up = \notes { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
}
@end lilypond
-@subsubsection Percussion midi output
+@node Percussion midi output
+@subsection Percussion midi output
+
In order to produce correct midi output you need to produce two score
blocks - one for the paper and one for the midi.
To use the percussion channel you set the property @code{instrument}
\score @{
\apply #(drums->paper 'mydrums) \context Staff <
\clef percussion
- \context Voice = up @{ \voiceOne \up @}
- \context Voice = down @{ \voiceTwo \down @}
+ @{ \up @} \\
+ @{ \down @}
>
\paper@{@}
@}
@node Piano music
@section Piano music
-Piano music is an odd type of notation. Piano staves are two normal
-staves coupled with a brace. The staves are largely independent, but
-sometimes voices can cross between the two staves. The
-@internalsref{PianoStaff} is especially built to handle this cross-staffing
-behavior. In this section we discuss the @internalsref{PianoStaff} and some
-other pianistic peculiarities.
+Piano staves are two normal staves coupled with a brace. The staves
+are largely independent, but sometimes voices can cross between the
+two staves. The same notation is also used for harps and other key
+instruments. The @internalsref{PianoStaff} is especially built to
+handle this cross-staffing behavior. In this section we discuss the
+@internalsref{PianoStaff} and some other pianistic peculiarities.
@menu
it reaches the stem in the upper stave, or vice versa. An example is
included with the distribution as @inputfileref{input/test,stem-cross-staff.ly}.
+Dynamics are not centered, but kludges do exist. See
+@inputfileref{input/templates,piano-dynamics.ly}.
+
@cindex cross staff stem
@cindex stem, cross staff
Voices can switch automatically between the top and the bottom
staff. The syntax for this is
@example
- \autochange Staff \context Voice @{ @dots{}@var{music}@dots{} @}
+ \autochange Staff \context Voice @{ @dots{}@var{music}@dots{} @}
@end example
The autochanger switches on basis of pitch (central C is the turning
point), and it looks ahead skipping over rests to switch rests in
terminating too soon.
+@refbugs
+
+The staff switches often do not end up in optimal places, for high
+quality output, staff switches should be specified manually.
+
+
+
@node Manual staff switches
@subsection Manual staff switches
@menu
-* Ambitus::
+* Ambitus::
@end menu
@node Ambitus
simply selects the first string that does not give a fret number less than
@code{minimumFret}. Default is 0.
-Notice that LilyPond does not handle chords in any special way, and hence
-the automatic string selector may easily select the same string to two notes in a chord.
+Chords are not handled in a special way, and hence the automatic
+string selector may easily select the same string to two notes in a
+chord.
@example
e8 fis gis a b cis' dis' e'
R1*13/8*12
@end lilypond
-Notice that a @code{R} spanning a single measure is printed as a whole
-rest centered in the measure, regardless of the time signature.
+A @code{R} spanning a single measure is printed as a whole rest
+centered in the measure, regardless of the time signature.
[ add note about breves.]
>
@end lilypond
-Notice that the first @code{g} appears only once, although it was
+The first @code{g} appears only once, although it was
specified twice (once in each part). Stem, slur and tie directions are
set automatically, depending whether there is a solo or unisono. The
first part (with context called @code{one}) always gets up stems, and
@cindex mensural
@menu
-* Ancient note heads::
-* Ancient clefs::
-* Custodes::
-* Divisiones::
-* Ligatures::
-* Figured bass::
+* Ancient note heads::
+* Ancient clefs ::
+* Custodes::
+* Divisiones::
+* Ligatures::
+* Figured bass::
@end menu
@section Contemporary notation
@menu
-* Clusters::
-* Fermatas::
+* Clusters::
+* Fermatas::
@end menu
@node Clusters
\once \property @dots{}
@end example
@c
-applies a setting only during one moment in the score: notice how the
+applies a setting only during one moment in the score: the
original setting for stem thickness is restored automatically in the
following example
@c
@cindex font switching
-The line of the example demonstrates font switching commands. Notice
-that the command only apply to the first following word; enclose a set
-of texts with braces to apply a command to more words.
+The line of the example demonstrates font switching commands. The
+command only apply to the first following word; enclose a set of texts
+with braces to apply a command to more words.
@example
\markup @{ \bold @{ hi there @} @}
@end example
@cindex font size, texts
-
The following size commands set abolute sizes
@cindex \teeny
similar density.
Occasionally you might want to override the automatic breaks; you can
-do this by specifying @code{\break}. This will force a line break at
+do this by specifying @code{\break}. This will force a line break at
this point. Line breaks can only occur at places where there are bar
lines. If you want to have a line break where there is no bar line,
you can force an invisible bar line by entering @code{\bar