version that you are working on. See TRANSLATION for details.
@end ignore
-@c \version "2.11.57"
+@c \version "2.11.61"
@node Text
@section Text
Some text elements that are not dealt with here are discussed in other
specific sections: @ref{Vocal music}, @ref{Titles and headers}.
-
-@cindex Text, other languages
-@warning{To write accented and special text (such as characters
-from other languages), simply insert the characters directly into
-the LilyPond file. The file must be saved as UTF-8. For more
-information, see @ref{Text encoding}.}
-
@menu
* Writing text::
* Formatting text::
* Fonts::
@end menu
+@cindex Text, other languages
+@warning{To write accented and special text (such as characters
+from other languages), simply insert the characters directly into
+the LilyPond file. The file must be saved as UTF-8. For more
+information, see @ref{Text encoding}.}
@node Writing text
@subsection Writing text
@node Text scripts
-@subsubsection Text scripts
+@unnumberedsubsubsec Text scripts
@cindex Text scripts
@cindex text items, non-empty
@cindex non-empty texts
@cindex quoted text
-Simple @q{quoted text} indications may be added
+Simple @qq{quoted text} indications may be added
to a score, as demonstrated in the following example.
-Such indications can be manually placed
+Such indications may be manually placed
above or below the staff, using the
syntax described in @ref{Direction and
placement}.
@seealso
-Notation Reference: @ref{Formatting text},
+Notation Reference:
+@ref{Formatting text},
@ref{Direction and placement}.
Snippets:
@rlsr{Text}.
-Internals Reference: @rinternals{TextScript}.
+Internals Reference:
+@rinternals{TextScript}.
@knownissues
@node Text spanners
-@subsubsection Text spanners
+@unnumberedsubsubsec Text spanners
@cindex Text spanners
Some performance indications, e.g., @notation{rallentando} or
@notation{accelerando}, are written as text and are extended over
multiple notes with dotted lines.
-Such objects, called @q{spanners}, may be created
+Such objects, called @qq{spanners}, may be created
from one note to another using the following syntax:
@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
@seealso
-Notation Reference: @ref{Line styles}.
+Notation Reference:
+@ref{Line styles},
+@ref{Dynamics}.
Snippets:
@rlsr{Text}.
-Internals Reference: @rinternals{TextSpanner}.
+Internals Reference:
+@rinternals{TextSpanner}.
@node Text marks
-@subsubsection Text marks
+@unnumberedsubsubsec Text marks
@cindex coda on bar line
@cindex segno on bar line
This syntax makes it possible to put any text on a bar line;
more complex text formatting may be added using a @code{\markup}
-block, as described in @ref{Formatting text}. This can be used to print
-signs like coda, segno or fermata, by specifying the appropriate
-symbol name:
+block, as described in @ref{Formatting text}:
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-c1
+@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
+<c e>1
+\mark \markup { \italic { colla parte } }
+<d f>2 <e g>
+<c f aes>1
+@end lilypond
+
+@noindent
+This syntax also allows to print special signs, like coda, segno
+or fermata, by specifying the appropriate symbol name as explained in
+@ref{Music notation inside markup}:
+
+@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
+<f bes>2 <d aes'>
\mark \markup { \musicglyph #"scripts.ufermata" }
-c1
+<e g>1
@end lilypond
@noindent
Such objects are only typeset above the top staff of the score; depending on
whether they are specified at the end or the middle of a bar, they
-can be placed above the bar line or between notes. When specified at the
-beginning of a score or at a line break, marks will be printed at
-the beginning of the line (the next line, in case of a line break).
+can be placed above the bar line or between notes. When specified at a
+line break, the mark will be printed at the beginning of the next line.
@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
\mark "Allegro"
@seealso
-Notation Reference: @ref{Rehearsal marks},
-@ref{Formatting text}, @ref{The Feta font}.
+Notation Reference:
+@ref{Rehearsal marks},
+@ref{Formatting text},
+@ref{Music notation inside markup},
+@ref{The Feta font}.
Snippets:
@rlsr{Text}.
-Internals Reference: @rinternals{RehearsalMark}.
+Internals Reference:
+@rinternals{RehearsalMark}.
@knownissues
@c To be removed when Issue 69 in the tracker gets fixed. -vv
all.
@node Separate text
-@subsubsection Separate text
+@unnumberedsubsubsec Separate text
@cindex separate text
@cindex standalone text
}
@end lilypond
-Using a specific syntax, text blocks can be spread
-over multiple pages, making possible to print
-text documents or books (and therefore to
-use LilyPond as a word processor). This syntax is described in
-@ref{Multi-page markup}.
+Separate text blocks can be spread over multiple pages,
+making it possible to print text documents or books entirely
+within LilyPond. This feature, and the specific syntax it
+requires, are described in @ref{Multi-page markup}.
@predefined
@end menu
@node Text markup introduction
-@subsubsection Text markup introduction
+@unnumberedsubsubsec Text markup introduction
@cindex markup
@cindex text markup
@funindex \markup
A @code{\markup} block is used to typeset text with an extensible
-specific syntax called @qq{markup mode}.
+syntax called @qq{markup mode}.
@cindex markup expressions
@cindex markup syntax
@dots{} @}}. A single word is regarded as a minimal expression,
and therefore does not need to be enclosed with braces.
-Unlike simple @q{quoted text} indications, @code{\markup} blocks
-may contain nested expressions or specific commands,
+Unlike simple @qq{quoted text} indications, @code{\markup} blocks
+may contain nested expressions or markup commands,
entered using the backslash @code{\} character.
Such commands only affect the first following expression.
Such strings are treated as minimal text expressions, and
therefore any markup command or special character (such as
@code{\} and @code{#}) will be printed verbatim without affecting
-the formatting of the text. This syntax even allows to print
-double quotation marks, by preceding them with backslashes
+the formatting of the text. Double quotation marks themselves
+may be printed by preceding them with backslashes.
@lilypond[quote,verbatim,fragment,relative=1]
d1^"\italic markup..."
-d_\markup \italic "... prints \"italic\" letters!"
+d_\markup { \italic "... prints \"italic\" letters!" }
d d
@end lilypond
-The way markup expressions are defined affects
-how these expressions will be stacked, centered and aligned
-when using the commands explained in @ref{Text alignment}.
-
-@lilypond[quote,verbatim,fragment,relative=1]
-c1^\markup { \column { a bbbb \line { c d } } }
-c1^\markup { \center-column { a bbbb c } }
-c1^\markup { \line { a b c } }
-@end lilypond
-
-Lists of words that are not enclosed with double quotes
-or preceded by a command are not treated as a distinct
-expression. In the following example, the first two
-@code{\markup} expressions are equivalent:
+To be treated as a distinct expression, a list of words needs
+to be enclosed with double quotes or preceded by a command.
+The way markup expressions are defined affects how these
+expressions will be stacked, centered and aligned; in the
+following example, the second @code{\markup} expression is
+treated the same as the first one:
@lilypond[quote,verbatim,fragment,relative=1]
c1^\markup { \center-column { a bbb c } }
c1^\markup { \center-column { a { bbb c } } }
c1^\markup { \center-column { a \line { bbb c } } }
+c1^\markup { \center-column { a "bbb c" } }
@end lilypond
-
Markups can be stored in variables. Such variables may be
directly attached to notes:
Snippets:
@rlsr{Text}.
-Internals Reference:
-@rinternals{TextScript}.
-
Installed files:
@file{scm/@/markup@/.scm}.
@node Selecting font and font size
-@subsubsection Selecting font and font size
+@unnumberedsubsubsec Selecting font and font size
@cindex font switching
@funindex \italic
Basic font switching is supported in markup mode:
@lilypond[quote,verbatim,relative=2]
-{
- d1^\markup {
- \bold { Più mosso }
- \italic { non troppo \underline Vivo }
- }
- r2 r4 r8
- d,_\markup { \italic quasi \smallCaps Tromba }
- f1 d2 r
+d1^\markup {
+ \bold { Più mosso }
+ \italic { non troppo \underline Vivo }
}
+r2 r4 r8
+d,_\markup { \italic quasi \smallCaps Tromba }
+f1 d2 r
@end lilypond
@cindex font size
@funindex \fontsize
@funindex \smaller
@funindex \larger
-@funindex \bigger
@funindex \magnify
The size of the characters can also be altered in different ways:
@itemize
@item
-the font size can be defined to an absolute value,
+the font size can be set to predefined standard sizes,
@item
-predefined commands allow to easily select standard sizes,
+the font size can be set to an absolute value,
@item
the font size can also be changed relatively to its previous value.
@noindent
The following example demonstrates these three methods:
-@lilypond[quote,verbatim,relative=2]
-{
- f1^\markup { \fontsize #5 Sinfonia }
- a,_\markup {
- \tiny espressivo
- \large e
- \normalsize intenso
- }
- bes^\markup { (con
- \larger grande
- \smaller emozione
- \magnify #0.6 { e sentimento } )
- }
- d c2 r8 c bes a g1
+@lilypond[quote,verbatim,relative=1]
+f1_\markup {
+ \tiny espressivo
+ \large e
+ \normalsize intenso
}
+a^\markup {
+ \fontsize #5 Sinfonia
+ \fontsize #2 da
+ \fontsize #3 camera
+}
+bes^\markup { (con
+ \larger grande
+ \smaller emozione
+ \magnify #0.6 { e sentimento } )
+}
+d c2 r8 c bes a g1
@end lilypond
@cindex subscript
The markup mode provides an easy way to select alternate
font families. The default serif font, of roman type, is
-automatically selected unless specified otherwise: on the
+automatically selected unless specified otherwise; on the
last line of the following example, there is no difference
between the first and the second word.
}
@end lilypond
-An exhaustive list of font-switching, font-size
-and font-families related commands can be found in @ref{Font}.
+An exhaustive list of font switching, and custom font usage
+commands can be found in @ref{Font}.
Defining custom font sets is also possible, as explained in
@ref{Fonts}.
@funindex \normalsize
@funindex \large
@funindex \huge
+@funindex \smaller
+@funindex \larger
@code{\teeny},
@code{\tiny},
@code{\small},
@code{\normalsize},
@code{\large},
-@code{\huge}.
+@code{\huge},
+@code{\smaller},
+@code{\larger}.
@seealso
Notation Reference:
@node Text alignment
-@subsubsection Text alignment
+@unnumberedsubsubsec Text alignment
@cindex text, aligning
@cindex aligning text
-This subsection discusses how to place text in markup mode,
-inside a @code{\markup} block. Markup objects can also
-be moved as a whole, using the syntax described in
-@rlearning{Moving objects}.
+This subsection discusses how to place text in markup mode.
+Markup objects can also be moved as a whole, using the syntax
+described in @rlearning{Moving objects}.
@c Padding commands should be mentioned on this page, but
@c most of these require \box to be more clearly illustrated. -vv
between the first and the second markup.
@lilypond[quote,verbatim,fragment,relative=1]
-a1-\markup { poco }
-e'
-a,-\markup { \left-align poco }
-e'
-a,-\markup { \center-align { poco } }
-e'
-a,-\markup { \right-align poco }
+d1-\markup { poco }
+f
+d-\markup { \left-align poco }
+f
+d-\markup { \center-align { poco } }
+f
+d-\markup { \right-align poco }
@end lilypond
@funindex \halign
Some objects may have alignment procedures of their own,
and therefore are not affected by these commands. It is
possible to move such markup objects as a whole, as shown
-for instance in @ref{Text marks},
+for instance in @ref{Text marks}.
@cindex text, vertical alignment
@cindex vertical text alignment
@lilypond[quote,verbatim,fragment,relative=1]
d2^\markup {
Acte I
- \raise #2 { Scène 1 } }
+ \raise #2 { Scène 1 }
+}
a'
g_\markup {
\null
- \lower #4 \bold { Très modéré } }
+ \lower #4 \bold { Très modéré }
+}
a
d,^\markup {
- \raise #4 \italic { Une forêt. } }
+ \raise #4 \italic { Une forêt. }
+}
a'4 a g2 a
@end lilypond
@lilypond[quote,verbatim,fragment,relative=1]
d2^\markup {
Acte I
- \translate #'(-1 . 2) "Scène 1" }
+ \translate #'(-1 . 2) "Scène 1"
+}
a'
g_\markup {
\null
- \general-align #Y #3.2 \bold "Très modéré" }
+ \general-align #Y #3.2 \bold "Très modéré"
+}
a
d,^\markup {
\null
- \translate-scaled #'(-1 . 2) \teeny "Une forêt." }
+ \translate-scaled #'(-1 . 2) \teeny "Une forêt."
+}
a'4 a g2 a
@end lilypond
\wordwrap \italic {
(La escena representa el corral de una casa de
gitanos en el Albaicín de Granada. Al fondo una
- puerta por la que se vé el negro interior de
+ puerta por la que se ve el negro interior de
una Fragua, iluminado por los rojos resplandores
del fuego.)
}
@node Graphic notation inside markup
-@subsubsection Graphic notation inside markup
+@unnumberedsubsubsec Graphic notation inside markup
@cindex graphics, embedding
@cindex drawing graphic objects
Various graphic objects may be added to a score,
-using specific markup commands.
+using markup commands.
@funindex \box
@funindex \circle
@cindex decorating text
@cindex framing text
-Some markup commands allow to decorate text elements
+Some markup commands allow decoration of text elements
with graphics, as demonstrated in the following example.
@lilypond[quote,verbatim]
@cindex padding around text
@cindex text padding
-Some commands may require to increase the padding around
-the text: this is achieved with some specific commands
+Some commands may require an increase in the padding around
+the text; this is achieved with some markup commands
exhaustively described in @ref{Align}.
@lilypond[quote,verbatim]
Other graphic elements or symbols may be printed
without requiring any text. As with any markup
-expression, such objects can be combined together:
+expression, such objects can be combined.
@lilypond[quote,verbatim]
\markup {
include external image files converted to the
Encapsulated PostScript format (@emph{eps}), or
to directly embed graphics into the input file,
-using native PostScript code.
+using native PostScript code. In such a case, it
+may be useful to explicitely specify the size of the
+drawing, as demonstrated below:
@lilypond[quote,verbatim,fragment,relative=1]
c1^\markup {
\combine
\epsfile #X #10 #"./context-example.eps"
+ \with-dimensions #'(0 . 6) #'(0 . 10)
\postscript #"
-2 3 translate
2.7 2 scale
@file{scm/@/stencil@/.scm}.
@node Music notation inside markup
-@subsubsection Music notation inside markup
+@unnumberedsubsubsec Music notation inside markup
Various musical notation elements may be added
to a score, inside a markup object.
-Notes and accidentals can be entered using specific
+Notes and accidentals can be entered using markup
commands:
@lilypond[quote,verbatim,fragment,relative=2]
@c TODO: add \lookup here? -vv
@noindent
-Another way of including non-text glyphs is described
+Another way of printing non-text glyphs is described
in @ref{Fonts explained}.
The markup mode also supports diagrams for specific
@file{scm/@/harp@/-pedals@/.scm}.
@node Multi-page markup
-@subsubsection Multi-page markup
+@unnumberedsubsubsec Multi-page markup
Although standard markup objects are not breakable, a
-specific syntax allows to enter lines of text that can
+specific syntax makes it possible to enter lines of text that can
spread over multiple pages:
@lilypond[quote,verbatim]
}
@end lilypond
-This specific syntax accepts a list of markups, that can be
+This syntax accepts a list of markups, that can be
@itemize
@item
the result of a markup list command,
@end menu
@node Fonts explained
-@subsubsection Fonts explained
+@unnumberedsubsubsec Fonts explained
@cindex Pango
@cindex fonts, explained
\key d \major
\override Voice.TextScript #'font-shape = #'italic
\override Voice.TextScript #'font-series = #'bold
- d''2.^\markup "Allegro"
+ d'2.^\markup "Allegro"
r4
@end lilypond
@ref{Font}.
@node Single entry fonts
-@subsubsection Single entry fonts
+@unnumberedsubsubsec Single entry fonts
Any font that is installed on the operating system and recognized
by FontConfig may be used in a score, using the following syntax:
@file{lily/@/font@/-config@/-scheme@/.cc}.
@node Entire document fonts
-@subsubsection Entire document fonts
+@unnumberedsubsubsec Entire document fonts
It is possible to change the default font families for the