]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/text.itely
Add dynamic script fffff; update docs.
[lilypond.git] / Documentation / user / text.itely
index 8b554aeeb55da1786b602058b17b6c6124e88447..41b8fb34a432f6dfc0626f038c8f0ec8330ef2d7 100644 (file)
@@ -6,7 +6,7 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.57"
+@c \version "2.12.0"
 
 @node Text
 @section Text
@@ -20,89 +20,96 @@ formatting) in music scores.
 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::                       
+* Writing text::
+* Formatting text::
+* Fonts::
 @end menu
 
-
 @node Writing text
 @subsection Writing text
 
 This section introduces different ways of adding text to a score.
 
+@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
-* Text scripts::                
-* Text spanners::               
-* Text marks::                  
-* Separate text::               
+* Text scripts::
+* Text spanners::
+* Text marks::
+* Separate text::
 @end menu
 
 
 @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
-to a score, as demonstrated in the following example.
-Such indications can be manually placed
-above or below the staff, using the
-syntax described in @ref{Direction and
-placement}.
+Simple @qq{quoted text} indications may be added to a score, as
+demonstrated in the following example.  Such indications may be
+manually placed above or below the staff, using the syntax described
+in @ref{Direction and placement}.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g a4-"scherz." f
+@lilypond[quote,verbatim,relative=2]
+a8^"pizz." g f e a4-"scherz." f
 @end lilypond
 
 This syntax is actually a shorthand; more complex text
 formatting may be added to a note by explicitly using a
 @code{\markup} block, as described in @ref{Formatting text}.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^\markup { \italic pizz. } e f g 
+@lilypond[quote,verbatim,relative=2]
+a8^\markup { \italic pizz. } g f e
 a4_\markup { \tiny scherz. \bold molto } f
 @end lilypond
 
 By default, text indications do not influence the note spacing.
 However, their widths can be taken into account:
-in the following example, the first text string does not affect 
+in the following example, the first text string does not affect
 spacing, whereas the second one does.
 
-@lilypond[quote,fragment,ragged-right,verbatim,relative=1]
-d8^"pizz." e f g
+@lilypond[quote,verbatim,relative=2]
+a8^"pizz." g f e
 \textLengthOn
 a4_"scherzando" f
 @end lilypond
 
-@predefined
 
 @funindex \textLengthOn
-@code{\textLengthOn},
+@funindex textLengthOn
 @funindex \textLengthOff
-@code{\textLengthOff}
+@funindex textLengthOff
 
+@predefined
+@code{\textLengthOn},
+@code{\textLengthOff}.
+@endpredefined
 
-@seealso
 
-Notation Reference: @ref{Formatting text},
+@seealso
+Notation Reference:
+@ref{Formatting text},
 @ref{Direction and placement}.
 
 Snippets:
 @rlsr{Text}.
 
-Internals Reference: @rinternals{TextScript}.
+Internals Reference:
+@rinternals{TextScript}.
+
+@cindex text outside margin
+@cindex margin, text running over
+@cindex text, keeping inside margin
+@cindex lyrics, keeping inside margin
+
 
 @knownissues
 
@@ -117,31 +124,33 @@ default; to enable it, use
 
 
 @node Text spanners
-@subsubsection Text spanners
+@unnumberedsubsubsec Text spanners
 
-@cindex 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
-from one note to another using the following syntax:
+multiple notes with dotted lines.  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]
-\override TextSpanner #'bound-details #'left #'text = "rit." 
-b1\startTextSpan 
+@lilypond[verbatim,quote,relative=2]
+\override TextSpanner #'(bound-details left text) = "rit."
+b1\startTextSpan
 e,\stopTextSpan
 @end lilypond
 
+@cindex text spanners, formatting
+@cindex formatting text spanners
+
 @noindent
-The string to be printed is set through
-object properties.  By default it is printed in italic characters,
-but different formatting can be obtained using
-@code{\markup} blocks, as described in @ref{Formatting text}.
-
-@lilypond[quote,ragged-right,fragment,relative=2,verbatim]
-\override TextSpanner #'bound-details #'left #'text =
-  \markup { \upright "rit." } 
+The string to be printed is set through object properties.  By default
+it is printed in italic characters, but different formatting can be
+obtained using @code{\markup} blocks, as described in @ref{Formatting
+text}.
+
+@lilypond[quote,relative=2,verbatim]
+\override TextSpanner #'(bound-details left text) =
+  \markup { \upright "rit." }
 b1\startTextSpan c
 e,\stopTextSpan
 @end lilypond
@@ -149,33 +158,50 @@ e,\stopTextSpan
 The line style, as well as the text string, can be defined as an
 object property.  This syntax is described in @ref{Line styles}.
 
-@predefined
 
+@funindex \textSpannerUp
 @funindex textSpannerUp
-@code{\textSpannerUp},
+@funindex \textSpannerDown
 @funindex textSpannerDown
-@code{\textSpannerDown},
+@funindex \textSpannerNeutral
 @funindex textSpannerNeutral
-@code{\textSpannerNeutral}
 
-@seealso
 
-Notation Reference: @ref{Line styles}.
+@predefined
+@code{\textSpannerUp},
+@code{\textSpannerDown},
+@code{\textSpannerNeutral}.
+@endpredefined
+
+
+@seealso
+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 text marks
+@cindex marks, text
+@cindex text on bar line
 @cindex coda on bar line
 @cindex segno on bar line
 @cindex fermata on bar line
 @cindex bar lines, symbols on
+
 @funindex \mark
+@funindex mark
+@funindex \markup
+@funindex markup
 
 Various text elements may be added to a score using
 the syntax described in @ref{Rehearsal marks}:
@@ -183,7 +209,7 @@ the syntax described in @ref{Rehearsal marks}:
 @c \mark needs to be placed on a separate line (it's not
 @c attached to an object like \markup is). -vv
 
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
+@lilypond[verbatim,quote,relative=2]
 c4
 \mark "Allegro"
 c c c
@@ -191,24 +217,33 @@ c c c
 
 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[quote,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=2]
-c1
+@lilypond[quote,verbatim,relative=2]
+<bes f>2 <aes d>
 \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).
+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 a
+line break, the mark will be printed at the beginning of the next line.
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
+@lilypond[quote,verbatim,relative=2]
 \mark "Allegro"
 c1 c
 \mark "assai" \break
@@ -227,15 +262,20 @@ c  c
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
 {printing-marks-on-every-staff.ly}
 
-@seealso
 
-Notation Reference: @ref{Rehearsal marks},
-@ref{Formatting text}, @ref{The Feta font}.
+@seealso
+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
@@ -245,13 +285,17 @@ there is no next line), then the mark will not be printed at
 all.
 
 @node Separate text
-@subsubsection Separate text
+@unnumberedsubsubsec Separate text
 
 @cindex separate text
+@cindex text, separate
 @cindex standalone text
 @cindex top-level text
+@cindex text, top-level
 @cindex text, standalone
+
 @funindex \markup
+@funindex markup
 
 A @code{\markup} block can exist by itself, outside of any
 any @code{\score} block, as a @qq{top-level
@@ -264,13 +308,11 @@ expression}.  This syntax is described in @ref{File structure}.
 @end lilypond
 
 @noindent
-This allows printing text separately
-from the music, which is particularly 
-useful when the input file contains
-several music pieces, as described in
-@ref{Multiple scores in a book}.
+This allows printing text separately from the music, which is
+particularly useful when the input file contains several music pieces,
+as described in @ref{Multiple scores in a book}.
 
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[quote,verbatim]
 \score {
   c'1
 }
@@ -282,28 +324,31 @@ several music pieces, as described in
 }
 @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
 
-@code{\markup},
+@funindex \markup
+@funindex markup
 @funindex \markuplines
-@code{\markuplines}
+@funindex markuplines
+
+@predefined
+@code{\markup},
+@code{\markuplines}.
+@endpredefined
+
 
-@ignore
 @snippets
 
-TODO: add convenient snippets in input/new -vv
-@end ignore
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{stand-alone-two-column-markup.ly}
 
 @seealso
-
 Notation Reference: @ref{Formatting text},
-@ref{File structure}, 
+@ref{File structure},
 @ref{Multiple scores in a book},
 @ref{Multi-page markup}.
 
@@ -320,45 +365,49 @@ This section presents basic and advanced text formatting,
 using the @code{\markup} mode specific syntax.
 
 @menu
-* Text markup introduction::    
-* Selecting font and font size::      
-* Text alignment::              
-* Graphic notation inside markup::  
-* Music notation inside markup::  
-* Multi-page markup::          
+* Text markup introduction::
+* Selecting font and font size::
+* Text alignment::
+* Graphic notation inside markup::
+* Music notation inside markup::
+* Multi-page markup::
 @end menu
 
 @node Text markup introduction
-@subsubsection Text markup introduction
+@unnumberedsubsubsec Text markup introduction
 
 @cindex markup
 @cindex text markup
 @cindex markup text
 @cindex typeset text
+
 @funindex \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 expressions, markup
 @cindex markup syntax
+@cindex synatax, markup
 
 The markup syntax is similar to LilyPond's usual syntax: a
 @code{\markup} expression is enclosed in curly braces @code{@{
 @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,
-entered using the backslash @code{\} character.
-Such commands only affect the first following expression.
+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.
 
-@lilypond[quote,verbatim,fragment,relative=1]
-e1-\markup intenso
+@lilypond[quote,verbatim,relative=2]
+a1-\markup intenso
 a2^\markup { poco \italic più forte  }
 c e1
 d2_\markup { \italic "string. assai" }
-e 
+e
 b1^\markup { \bold { molto \italic  agitato } }
 c
 @end lilypond
@@ -366,44 +415,37 @@ c
 @cindex special characters in markup mode
 @cindex markup mode, special characters
 @cindex reserved characters, printing
+@cindex printing reserved characters
 @cindex printing special characters
 @cindex quoted text in markup mode
+@cindex markup mode, quoted text
 
-A @code{\markup} block may also contain quoted text strings.
-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
-
-@lilypond[quote,verbatim,fragment,relative=1]
-d1^"\italic markup..."
-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}.
+A @code{\markup} block may also contain quoted text strings.  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.
+Double quotation marks themselves may be printed by preceding them
+with backslashes.
 
-@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 } }
+@lilypond[quote,verbatim,relative=2]
+a1^"\italic markup..."
+a_\markup { \italic "... prints \"italic\" letters!" }
+a a
 @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]
+@lilypond[quote,verbatim,relative=2]
 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:
 
@@ -423,15 +465,14 @@ An exhaustive list of @code{\markup}-specific commands can be found in
 
 
 @seealso
-
-This manual: @ref{Text markup commands}.
+Notation Reference:
+@ref{Text markup commands}.
 
 Snippets:
 @rlsr{Text}.
 
-Internals Reference: @rinternals{TextScript}.
-
-Init files: @file{scm/@/new@/-markup@/.scm}.
+Installed files:
+@file{scm/@/markup@/.scm}.
 
 
 @knownissues
@@ -440,42 +481,50 @@ Syntax errors for markup mode can be confusing.
 
 
 @node Selecting font and font size
-@subsubsection Selecting font and font size
+@unnumberedsubsubsec Selecting font and font size
 
 @cindex font switching
+@cindex changing fonts
+@cindex switching fonts
+
 @funindex \italic
+@funindex italic
 @funindex \bold
+@funindex bold
 @funindex \underline
+@funindex underline
 
 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
 @cindex text size
+
 @funindex \fontsize
+@funindex fontsize
 @funindex \smaller
+@funindex smaller
 @funindex \larger
-@funindex \bigger
+@funindex larger
 @funindex \magnify
+@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.
@@ -484,36 +533,41 @@ 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
 @cindex superscript
+
 @funindex \super
+@funindex super
 @funindex \sub
+@funindex sub
 
-Text may be printed as subscript or superscript. By default
-these are printed in a smaller size, but a normal size can be used as well:
+Text may be printed as subscript or superscript.  By default these are
+printed in a smaller size, but a normal size can be used as well:
 
 @lilypond[quote,verbatim]
 \markup {
   \column {
     \line { 1 \super st movement }
-    \line { 1 \normal-size-super st movement 
+    \line { 1 \normal-size-super st movement
       \sub { (part two) }  }
   }
 }
@@ -521,11 +575,10 @@ these are printed in a smaller size, but a normal size can be used as well:
 
 @cindex font families
 
-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
-last line of the following example, there is no difference
-between the first and the second word.
+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 last line of the following
+example, there is no difference between the first and the second word.
 
 @lilypond[quote,verbatim]
 \markup {
@@ -539,17 +592,16 @@ between the first and the second word.
 @end lilypond
 
 @noindent
-Some of these font families, used for specific items
-such as numbers or dynamics, do not provide all
-characters, as mentioned in @ref{New dynamic marks} and
-@ref{Manual repeat marks}.
+Some of these font families, used for specific items such as numbers
+or dynamics, do not provide all characters, as mentioned in @ref{New
+dynamic marks} and @ref{Manual repeat marks}.
 
 @c \concat is actually documented in Align (it is not
 @c a font-switching command). But we need it here. -vv
 
-When used inside a word, some font-switching or formatting
-commands may produce an unwanted blank space.  This can
-easily be solved by concatenating the text elements together:
+When used inside a word, some font-switching or formatting commands
+may produce an unwanted blank space.  This can easily be solved by
+concatenating the text elements together:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -566,71 +618,106 @@ easily be solved by concatenating the text elements together:
 }
 @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 commands and custom font usage
+commands can be found in @ref{Font}.
 
 Defining custom font sets is also possible, as explained in
 @ref{Fonts}.
 
-@predefined
-
 @funindex \teeny
+@funindex teeny
 @funindex \tiny
+@funindex tiny
 @funindex \small
+@funindex small
 @funindex \normalsize
+@funindex normalsize
 @funindex \large
+@funindex large
 @funindex \huge
+@funindex huge
+@funindex \smaller
+@funindex smaller
+@funindex \larger
+@funindex larger
+
+
+@predefined
 @code{\teeny},
 @code{\tiny},
 @code{\small},
 @code{\normalsize},
 @code{\large},
-@code{\huge}.
+@code{\huge},
+@code{\smaller},
+@code{\larger}.
+@endpredefined
+
+
+@seealso
+Notation Reference:
+@ref{Font},
+@ref{New dynamic marks},
+@ref{Manual repeat marks},
+@ref{Fonts}.
+
+Snippets:
+@rlsr{Text}.
+
+Internals Reference:
+@rinternals{TextScript}.
 
-@c TODO: add @seealso
+Installed files:
+@file{scm/@/define@/-markup@/-commands@/.scm}.
 
 
 @node Text alignment
-@subsubsection Text alignment
+@unnumberedsubsubsec Text alignment
 
 @cindex text, aligning
 @cindex aligning text
+@cindex aligning markup text
+@cindex aligning markups
+@cindex markups, aligning
+@cindex markup text, aligning
 
-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
+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 The padding commands should be mentioned on this page, but
+@c Padding commands should be mentioned on this page, but
 @c most of these require \box to be more clearly illustrated. -vv
 
 @cindex text, horizontal alignment
 @cindex horizontal text alignment
+
 @funindex \left-align
+@funindex left-align
 @funindex \center-align
+@funindex center-align
 @funindex \right-align
+@funindex right-align
 
-Markup objects may be aligned in different ways.  By default,
-a text indication is aligned on its left edge: in the following
-example, there is no difference
-between the first and the second markup.
+Markup objects may be aligned in different ways.  By default, a text
+indication is aligned on its left edge: in the following example,
+there is no difference 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 }
+@lilypond[quote,verbatim,relative=2]
+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
+@funindex halign
 
-The horizontal alignment may be fine-tuned
-using a numeric value:
+Horizontal alignment may be fine-tuned using a numeric value:
 
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=2]
 a1-\markup { \halign #-1 poco }
 e'
 a,-\markup { \halign #0 poco }
@@ -641,73 +728,91 @@ a,-\markup { \halign #2 poco }
 @end lilypond
 
 @noindent
-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},
+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}.
 
 @cindex text, vertical alignment
 @cindex vertical text alignment
+
 @funindex \raise
+@funindex raise
 @funindex \lower
+@funindex lower
+@funindex \null
+@funindex null
+
+@c QUERY Should the function of ``\null'' be clarified? rp
+
+Vertical alignment is a bit more complex.  As stated above, markup
+objects can be moved as a whole; however, it is also possible to move
+specific elements inside a markup block.  In this case, the element to
+be moved needs to be preceded with an @emph{anchor point}, that can be
+another markup element or an invisible object.  The following example
+demonstrates these two possibilities; the last markup in this example
+has no anchor point, and therefore is not moved.
 
-Vertical alignment is a bit more complex.  As stated above,
-markup objects can be moved as a whole; however, it is also
-possible to move specific elements inside a markup block.
-In this case, the element to be moved needs to be preceded
-with an @emph{anchor point}, that can be another markup element
-or an invisible object.  The following example demonstrates these
-two possibilities; the last markup in this example has no anchor
-point, and therefore is not moved.
-
-@lilypond[quote,verbatim,fragment,relative=1]
-d2^\markup { 
+@lilypond[quote,verbatim,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
 
 @funindex \general-align
+@funindex general-align
 @funindex \translate
+@funindex translate
 @funindex \translate-scaled
+@funindex translate-scaled
 
-Some commands can affect both the horizontal and vertical
-alignment of text objects in markup mode.  Any object
-affected by these commands must be preceded with an
-anchor point:
+Some commands can affect both the horizontal and vertical alignment of
+text objects in markup mode.  Any object affected by these commands
+must be preceded with an anchor point:
 
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,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
 
-@funindex \column
-@funindex \center-column
-
 @cindex multi-line markup
+@cindex markup, multi-line
 @cindex multi-line text
+@cindex text, multi-line
+@cindex text in columns
 @cindex columns, text
 
-A markup object may include several lines of text.
-In the following example, each element or expression
-is placed on its own line, either left-aligned or centered:
+@funindex \column
+@funindex column
+@funindex \center-column
+@funindex center-column
+
+A markup object may include several lines of text.  In the following
+example, each element or expression is placed on its own line, either
+left-aligned or centered:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -725,15 +830,17 @@ is placed on its own line, either left-aligned or centered:
 }
 @end lilypond
 
-@funindex \fill-line
-
 @cindex centering text on the page
+@cindex text, centering on the page
+@cindex markup, centering on the page
 
-Similarly, a list of elements or expressions may be
-spread to fill the entire horizontal line width (if there
-is only one element, it will be centered on the page).
-These expressions can, in turn, include multi-line text
-or any other markup expression:
+@funindex \fill-line
+@funindex fill-line
+
+Similarly, a list of elements or expressions may be spread to fill the
+entire horizontal line width (if there is only one element, it will be
+centered on the page).  These expressions can, in turn, include
+multi-line text or any other markup expression:
 
 @lilypond[quote,verbatim]
 \markup {
@@ -748,20 +855,25 @@ or any other markup expression:
   }
 }
 \markup {
-  \fill-line { 1885 } 
+  \fill-line { 1885 }
 }
 @end lilypond
 
-@funindex \wordwrap
-@funindex \justify
-
 @cindex wordwrapped text
 @cindex justified text
+@cindex text, justified
+@cindex text, wordwrapped
+@cindex markup text, wordwrapped
+@cindex markup text, justified
 
-Long text indications can also be automatically wrapped
-accordingly to the given line width.  These will be
-either left-aligned or justified, as shown in
-the following example.
+@funindex \wordwrap
+@funindex wordwrap
+@funindex \justify
+@funindex justify
+
+Long text indications can also be automatically wrapped accordingly to
+the given line width.  These will be either left-aligned or justified,
+as shown in the following example.
 
 @lilypond[quote,verbatim]
 \markup {
@@ -771,9 +883,9 @@ the following example.
     \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.) 
+      del fuego.)
     }
     \hspace #0
 
@@ -789,31 +901,63 @@ the following example.
 }
 @end lilypond
 
-An exhaustive list of text alignment commands
-can be found in @ref{Align}.
+@cindex text alignment commands
+@cindex markup text alignment commands
+@cindex alignment, text, commands
+
+An exhaustive list of text alignment commands can be found in
+@ref{Align}.
+
+
+@seealso
+Learning Manual:
+@rlearning{Moving objects}.
+
+Notation Reference:
+@ref{Align},
+@ref{Text marks}.
+
+Snippets:
+@rlsr{Text}.
+
+Internals Reference: @rinternals{TextScript}.
+
+Installed files:
+@file{scm/@/define@/-markup@/-commands@/.scm}.
 
-@c TODO: add @seealso
 
 @node Graphic notation inside markup
-@subsubsection Graphic notation inside markup
+@unnumberedsubsubsec Graphic notation inside markup
 
 @cindex graphics, embedding
 @cindex drawing graphic objects
+@cindex graphic objects, drawing
+@cindex embedding graphic objects
+@cindex graphic objects, embedding
 
-Various graphic objects may be added to a score,
-using specific markup commands.
+Various graphic objects may be added to a score, using markup
+commands.
+
+@cindex decorating text
+@cindex framing text
+@cindex text, framing
+@cindex text, decorating
+@cindex markup text, decorating
+@cindex markup text, framing
 
 @funindex \box
+@funindex box
 @funindex \circle
+@funindex circle
 @funindex \rounded-box
+@funindex rounded-box
 @funindex \bracket
+@funindex bracket
 @funindex \hbracket
+@funindex hbracket
 
-@cindex decorating text
-@cindex framing text
-
-Some markup commands allow to decorate text elements
-with graphics, as demonstrated in the following example.
+Some markup commands allow decoration of text elements with graphics,
+as demonstrated in the following example.
 
 @lilypond[quote,verbatim]
 \markup \fill-line {
@@ -832,17 +976,22 @@ with graphics, as demonstrated in the following example.
 }
 @end lilypond
 
+@cindex padding around text
+@cindex text padding
+@cindex markup text padding
+
 @funindex \pad-markup
+@funindex pad-markup
 @funindex \pad-x
+@funindex pad-x
 @funindex \pad-to-box
+@funindex pad-to-box
 @funindex \pad-around
+@funindex pad-around
 
-@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
-exhaustively described in @ref{Align}.
+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]
 \markup \fill-line {
@@ -866,19 +1015,26 @@ Flute quartet keeps very uneven time."
 }
 @end lilypond
 
+@cindex graphic notation
+@cindex symbols, non-musical
+@cindex non-musical symbols
+@cindex notation, graphic
+
 @funindex \combine
+@funindex combine
 @funindex \draw-circle
+@funindex draw-circle
 @funindex \filled-box
+@funindex filled-box
 @funindex \triangle
+@funindex triangle
 @funindex \draw-line
+@funindex draw-line
 @funindex \arrow-head
+@funindex arrow-head
 
-@cindex graphic notation
-@cindex symbols, non-musical
-
-Other graphic elements or symbols may be printed
-without requiring any text.  As with any markup
-expression, such objects can be combined together:
+Other graphic elements or symbols may be printed without requiring any
+text.  As with any markup expression, such objects can be combined.
 
 @lilypond[quote,verbatim]
 \markup {
@@ -896,24 +1052,27 @@ expression, such objects can be combined together:
 }
 @end lilypond
 
-@funindex \epsfile
-@funindex \postscript
-
 @cindex embedded graphics
 @cindex images, embedding
 @cindex graphics, embedding
 @cindex postscript
 
-Advanced graphic features include the ability to
-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.
+@funindex \epsfile
+@funindex epsfile
+@funindex \postscript
+@funindex postscript
+
+Advanced graphic features include the ability to 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.  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]
+@lilypond[quote,verbatim,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
@@ -929,21 +1088,38 @@ c1^\markup {
 c
 @end lilypond
 
-An exhaustive list of graphics-specific commands
-can be found in @ref{Graphic}.
+An exhaustive list of graphics-specific commands can be found in
+@ref{Graphic}.
+
+
+@seealso
+Notation Reference:
+@ref{Graphic},
+@ref{Editorial annotations}.
+
+Snippets:
+@rlsr{Text}.
+
+Internals Reference: @rinternals{TextScript}.
+
+Installed files:
+@file{scm/@/define@/-markup@/-commands@/.scm},
+@file{scm/@/stencil@/.scm}.
 
-@c TODO: add @seealso (and link with NR Editorial)
 
 @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.
+@cindex notation inside markup
+@cindex music inside markup
+@cindex markup, music notation inside
 
-Notes and accidentals can be entered using specific
-commands:
+Various musical notation elements may be added to a score, inside a
+markup object.
 
-@lilypond[quote,verbatim,fragment,relative=2]
+Notes and accidentals can be entered using markup commands:
+
+@lilypond[quote,verbatim,relative=2]
 a2 a^\markup {
   \note #"4" #1
   =
@@ -964,7 +1140,7 @@ a1_\markup {
 Other notation objects may also be printed
 in markup mode:
 
-@lilypond[quote,verbatim,fragment,relative=1]
+@lilypond[quote,verbatim,relative=1]
 g1 bes
 ees-\markup {
   \finger 4
@@ -980,13 +1156,14 @@ d-\markup {
   \markalphabet #8
   \markletter #8
 }
-@end lilypond 
+@end lilypond
 
-More generally, any available musical symbol may be
-included separately in a markup object, using the
-following syntax:
+More generally, any available musical symbol may be included
+separately in a markup object, as demonstrated below; an exhaustive
+list of these symbols and their names can be found in @ref{The Feta
+font}.
 
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c2
 c'^\markup { \musicglyph #"eight" }
 c,4
@@ -994,16 +1171,15 @@ c,8._\markup { \musicglyph #"clefs.G_change" }
 c16
 c2^\markup { \musicglyph #"timesig.neomensural94" }
 @end lilypond
-@c TODO: add \lookup here? -vv
 
 @noindent
-An exhaustive list of these symbols and their names can
-be found in @ref {The Feta font}.
+Another way of printing non-text glyphs is described in @ref{Fonts
+explained}.  This is useful for printing braces of various sizes.
 
 The markup mode also supports diagrams for specific
 instruments:
 
-@lilypond[quote,verbatim,fragment,relative=2]
+@lilypond[quote,verbatim,relative=2]
 c1^\markup {
   \fret-diagram-terse #"x;x;o;2;3;2;"
 }
@@ -1025,14 +1201,17 @@ c^\markup {
 @noindent
 Such diagrams are documented in @ref{Instrument Specific Markup}.
 
-A whole score can even be nested inside a markup object.
-In such a case, the nested @code{\score} block must
-contain a @code{\layout} block, as demonstrated here:
+@cindex score inside markup
+@cindex markup, score inside
 
-@lilypond[quote,verbatim,fragment,relative=1]
+A whole score can even be nested inside a markup object.  In such a
+case, the nested @code{\score} block must contain a @code{\layout}
+block, as demonstrated here:
+
+@lilypond[quote,verbatim,relative=1]
 c4 d^\markup {
   \score {
-    \relative { c4 d e f }
+    \relative c' { c4 d e f }
     \layout { }
   }
 }
@@ -1040,179 +1219,302 @@ e f |
 c d e f
 @end lilypond
 
-An exhaustive list of music notation related commands can be
-found in @ref{Music}.
+An exhaustive list of music notation related commands can be found in
+@ref{Music}.
 
 
 @seealso
+Notation Reference:
+@ref{Music},
+@ref{The Feta font},
+@ref{Fonts explained}.
 
 Snippets:
 @rlsr{Text}.
 
+Internals Reference: @rinternals{TextScript}.
+
+Installed files:
+@file{scm/@/define@/-markup@/-commands@/.scm},
+@file{scm/@/fret@/-diagrams@/.scm},
+@file{scm/@/harp@/-pedals@/.scm}.
+
+
 @node Multi-page markup
-@subsubsection Multi-page markup
+@unnumberedsubsubsec Multi-page markup
+
+@cindex multi-page markup
+@cindex markup, multi-page
+@cindex markup text, multi-page
+@cindex text spread over multiple pages
 
-Whereas @code{\markup} is used to enter a non-breakable block of
-text, @code{\markuplines} can be used at top-level to enter lines
-of text that can spread over multiple pages:
+@funindex \markuplines
+@funindex markuplines
+@funindex \justified-lines
+@funindex justified-lines
+@funindex \wordwrap-lines
+@funindex wordwrap-lines
 
-@verbatim
+Although standard markup objects are not breakable, a specific syntax
+makes it possible to enter lines of text that can spread over multiple
+pages:
+
+@lilypond[quote,verbatim]
 \markuplines {
   \justified-lines {
     A very long text of justified lines.
     ...
   }
-  \justified-lines {
-    An other very long paragraph.
+  \wordwrap-lines {
+    Another very long paragraph.
     ...
   }
   ...
 }
-@end verbatim
+@end lilypond
 
-@code{\markuplines} accepts a list of markup, that is either the
-result of a markup list command, or a list of markups or of markup
-lists.  The built-in mInstrument Specific Markup                arkup list commands are described in
+This syntax accepts a list of markups, that can be
+@itemize
+@item
+the result of a markup list command,
+@item
+a list of markups,
+@item
+a list of markup lists.
+@end itemize
+
+An exhaustive list of markup list commands can be found in
 @ref{Text markup list commands}.
 
-@seealso
 
-This manual: @ref{Text markup list commands}, @ref{New
-markup list command definition}.
+@seealso
+Notation Reference:
+@ref{Text markup list commands},
+@ref{New markup list command definition}.
 
 Snippets:
 @rlsr{Text}.
 
-@predefined
+Internals Reference: @rinternals{TextScript}.
+
+Installed files:
+@file{scm/@/define@/-markup@/-commands@/.scm}.
 
 @funindex \markuplines
-@code{\markuplines}
+@funindex markuplines
+
+@predefined
+@code{\markuplines}.
+@endpredefined
 
 
 @node Fonts
 @subsection Fonts
 
+This section presents the way fonts are handled, and how they may be
+changed in scores.
+
 @menu
-* Entire document fonts::       
-* Single entry fonts::          
+* Fonts explained::
+* Single entry fonts::
+* Entire document fonts::
 @end menu
 
-@node Entire document fonts
-@subsubsection Entire document fonts
-
-It is also possible to change the default font family for the
-entire document.  This is done by calling the
-@code{make-pango-font-tree} from within the @code{\paper} block.
-The function takes names for the font families to use for roman,
-sans serif and monospaced text.  For example,
+@node Fonts explained
+@unnumberedsubsubsec Fonts explained
 
-@cindex font families, setting
 @cindex Pango
+@cindex fonts, explained
+@cindex braces, various sizes
+@cindex fonts, non-text in markup
+@cindex non-text fonts in markup
 
+@funindex font-interface
 
-@lilypond[verbatim]
-\paper  {
-  myStaffSize = #20
+Fonts are handled through several libraries.  FontConfig is used to
+detect available fonts on the system; the selected fonts are rendered
+using Pango.
 
-  #(define fonts
-    (make-pango-font-tree "Times New Roman"
-                          "Nimbus Sans"
-                          "Luxi Mono"
-                           (/ myStaffSize 20)))
-}
+Music notation fonts can be described as a set of specific glyphs,
+ordered in several families.  The following syntax allows various
+LilyPond @code{feta} non-text fonts to be used directly in markup
+mode:
 
-{
-  c'^\markup { roman: foo \sans bla \typewriter bar }
+@lilypond[quote,verbatim,relative=2]
+a1^\markup {
+  \vcenter {
+    \override #'(font-encoding . fetaBraces)
+    \lookup #"brace120"
+    \override #'(font-encoding . fetaNumber)
+    \column { 1 3 }
+    \override #'(font-encoding . fetaDynamic)
+    sf
+    \override #'(font-encoding . fetaMusic)
+    \lookup #"noteheads.s0petrucci"
+  }
 }
 @end lilypond
 
-@c we don't do Helvetica / Courier, since GS incorrectly loads
-@c Apple TTF fonts
-
-
-@node Single entry fonts
-@subsubsection Single entry fonts
+@noindent
+However, all these glyphs except the braces of various sizes contained
+in @code{fetaBraces} are available using the simpler syntax described
+in @ref{Music notation inside markup}.
+
+When using the glyphs contained in @code{fetaBraces}, the size of the
+brace is specified by the numerical part of the glyph name, in
+arbitrary units.  Any integer from @code{0} to @code{575} inclusive
+may be specified, @code{0} giving the smallest brace.  The optimum
+value must be determined by trial and error.  These glyphs are all
+left braces; right braces may be obtained by rotation, see
+@ref{Rotating objects}.
+
+Three families of text fonts are made available: the @emph{roman}
+(serif) font, that defaults to New Century Schoolbook, the @emph{sans}
+font and the monospaced @emph{typewriter} font -- these last two
+families are determined by the Pango installation.
+
+Each family may include different shapes and series.  The following
+example demonstrates the ability to select alternate families, shapes,
+series and sizes.  The value supplied to @code{font-size} is the
+required change from the default size.
 
-@cindex font selection
-@cindex font magnification
-@funindex font-interface
+@lilypond[quote,verbatim,relative=2]
+\override Score.RehearsalMark #'font-family = #'typewriter
+\mark \markup "Ouverture"
+\override Voice.TextScript #'font-shape = #'italic
+\override Voice.TextScript #'font-series = #'bold
+d2.^\markup "Allegro"
+\override Voice.TextScript #'font-size = #-3
+c4^smaller
+@end lilypond
 
-By setting the object properties described below, you can select a
-font from the preconfigured font families.  LilyPond has default
-support for the feta music fonts.  Text fonts are selected through
-Pango/FontConfig.  The serif font defaults to New Century
-Schoolbook, the sans and typewriter to whatever the Pango
-installation defaults to.
+@noindent
+A similar syntax may be used in markup mode; however in this case it
+is preferable to use the simpler syntax explained in @ref{Selecting
+font and font size}:
 
+@lilypond[quote,verbatim]
+\markup {
+  \column {
+    \line {
+      \override #'(font-shape . italic)
+      \override #'(font-size . 4)
+      Idomeneo,
+    }
+    \line {
+      \override #'(font-family . typewriter)
+      {
+        \override #'(font-series . bold)
+        re
+        di
+      }
+      \override #'(font-family . sans)
+      Creta
+    }
+  }
+}
+@end lilypond
 
-@itemize
-@item @code{font-encoding}
-is a symbol that sets layout of the glyphs.  This should only be
-set to select different types of non-text fonts, e.g.
+Although it is easy to switch between preconfigured fonts, it is also
+possible to use other fonts, as explained in the following sections:
+@ref{Single entry fonts} and @ref{Entire document fonts}.
 
-@code{fetaBraces} for piano staff braces, @code{fetaMusic} the
-standard music font, including ancient glyphs, @code{fetaDynamic}
-for dynamic signs and @code{fetaNumber} for the number font.
 
-@item @code{font-family}
-is a symbol indicating the general class of the typeface.
-Supported are @code{roman} (Computer Modern), @code{sans}, and
-@code{typewriter}.
+@seealso
+Notation Reference:
+@ref{The Feta font},
+@ref{Music notation inside markup},
+@ref{Selecting font and font size},
+@ref{Font}.
 
-@item @code{font-shape}
-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}.
 
-@item @code{font-series}
-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}.
+@node Single entry fonts
+@unnumberedsubsubsec Single entry fonts
 
-@end itemize
+Any font that is installed on the operating system and recognized by
+FontConfig may be used in a score, using the following syntax:
 
-Fonts selected in the way sketched above come from a predefined
-style sheet.  If you want to use a font from outside the style
-sheet, then set the @code{font-name} property,
+@lilypond[quote,verbatim,relative=2]
+\override Staff.TimeSignature #'font-name = #"Charter"
+\override Staff.TimeSignature #'font-size = #2
+\time 3/4
 
-@lilypond[fragment,verbatim]
-{
-  \override Staff.TimeSignature #'font-name = #"Charter"
-  \override Staff.TimeSignature #'font-size = #2
-  \time 3/4
-  c'1_\markup {
-    \override #'(font-name . "Vera Bold")
-      { This text is in Vera Bold }
-  }
+a1_\markup {
+  \override #'(font-name . "Vera Bold")
+    { Vera Bold }
 }
 @end lilypond
 
-@noindent
-Any font can be used, as long as it is available to
-Pango/FontConfig.  To get a full list of all available fonts, run
-the command
+@cindex fonts, finding available
+@cindex finding available fonts
+@cindex listing available fonts
+@cindex available fonts, listing
+
+@funindex show-available-fonts
+
+The following command displays a list of all available fonts on the
+operating system:
 
 @example
-lilypond -dshow-available-fonts blabla
+lilypond -dshow-available-fonts x
 @end example
 
-(the last argument of the command can be anything, but has to be
-present).
+@noindent
+The last argument of the command can be anything, but has to be
+present.
 
 
-The size of the font may be set with the @code{font-size}
-property.  The resulting size is taken relative to the
-@code{text-font-size} as defined in the @code{\paper} block.
+@seealso
+Notation Reference:
+@ref{Fonts explained},
+@ref{Entire document fonts}.
 
-@cindex font size
-@cindex font magnification
+Snippets:
+@rlsr{Text}.
 
+Installed files:
+@file{lily/@/font@/-config@/-scheme@/.cc}.
 
 
+@node Entire document fonts
+@unnumberedsubsubsec Entire document fonts
 
-@seealso
+It is possible to change the fonts to be used as the default fonts in
+the @emph{roman}, @emph{sans} and @emph{typewriter} font families by
+specifying them, in that order, as shown in the example below.  For an
+explanation of fonts, see @ref{Fonts explained}.
 
-Snippets:
-@rlsr{Text}.
+@cindex font families, setting
+@cindex fonts, changing for entire document
 
+@funindex make-pango-font-tree
+
+@lilypond[verbatim,quote]
+\paper  {
+  myStaffSize = #20
+  #(define fonts
+    (make-pango-font-tree "Times New Roman"
+                          "Nimbus Sans"
+                          "Luxi Mono"
+                           (/ myStaffSize 20)))
+}
+
+\relative c'{
+  c1-\markup {
+    roman,
+    \sans sans,
+    \typewriter typewriter. }
+}
+@end lilypond
+
+@c we don't do Helvetica / Courier, since GS incorrectly loads
+@c Apple TTF fonts
+
+
+@seealso
+Notation Reference:
+@ref{Fonts explained},
+@ref{Single entry fonts},
+@ref{Selecting font and font size},
+@ref{Font}.