]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/text.itely
Merge branch 'lilypond/translation' of ssh://trettig@git.sv.gnu.org/srv/git/lilypond...
[lilypond.git] / Documentation / user / text.itely
index 8ce6423f359536e54ade9655dbb5b9d826e8c64c..01626800de567d3db148003886e429b00d64ffa0 100644 (file)
@@ -6,13 +6,20 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
+@c \version "2.11.38"
+
 @node Text
 @section Text
 
 @lilypondfile[quote]{text-headword.ly}
 
 This section explains how to include text (with various
-formatting) in your scores.
+formatting) in music scores.
+
+@noindent
+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
@@ -22,68 +29,23 @@ information, see @ref{Text encoding}.}
 
 @menu
 * Writing text::                
-* Text markup::                 
-* Special text concerns::       
+* Formatting text::             
+* Fonts::                       
 @end menu
 
 
 @node Writing text
 @subsection Writing text
 
+This section introduces different ways of adding text to a score.
+
 @menu
-* Overview of text entry::      
 * Text scripts::                
 * Text spanners::               
 * Text marks::                  
+* Separate text::               
 @end menu
 
-@node Overview of text entry
-@subsubsection Overview of text entry
-
-There are four ways to add text to scores:
-
-@itemize
-@item
-@ref{Text scripts}: blah blah
-
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c4^"text" c c c
-@end lilypond
-
-@item
-@ref{Text spanners}: blah blah
-
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c1
-\override TextSpanner #'bound-details #'left #'text =
-  \markup { \upright "rall" } 
-c2\startTextSpan b c\stopTextSpan a
-@end lilypond
-
-@item
-@ref{Text marks}: blah blah
-
-@lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c4\mark "foo" c c c
-@end lilypond
-
-@item
-@ref{Vocal music}: blah blah, not in this section.
-
-@lilypond[verbatim,quote,ragged-right]
-<<
-  \relative c'' { c4 c c c }
-  \addlyrics { one two three four }
->>
-@end lilypond
-
-@end itemize
-
-@seealso
-
-Snippets: @lsrdir{Text,Text}
-
-
 
 @node Text scripts
 @subsubsection Text scripts
@@ -92,8 +54,8 @@ Snippets: @lsrdir{Text,Text}
 @cindex text items, non-empty
 @cindex non-empty texts
 
-It is possible to add arbitrary text indications with
-@var{note}@code{-"}@var{text}@code{"}.
+It is possible to add arbitrary text indications
+to a score, as demonstrated in the following example.
 Such indications can also be manually placed
 above or below the staff, using the
 simple syntax described in @ref{Controlling direction and
@@ -105,8 +67,8 @@ d8^"pizz." e f g a4-"scherz." f
 
 In LilyPond, such text strings are called @command{markup}
 objects.  This syntax is actually a shorthand; more complex text
-formatting may be added to a note by explicitly using the
-@code{\markup} command, as described in @ref{Text markup}.
+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 
@@ -127,16 +89,18 @@ d8^"pizz." e f g \textLengthOn a4_"scherzando" f
 @funindex \textLengthOn
 @code{\textLengthOn},
 @funindex \textLengthOff
-@code{\textLengthOff}.
+@code{\textLengthOff}
 
 
 @seealso
 
-Notation Reference: @ref{Text markup}.
+Notation Reference: @ref{Formatting text},
+@ref{Controlling direction and placement}.
 
-Snippets: @lsrdir{Text,Text}
+Snippets:
+@rlsr{Text}.
 
-Internals Reference: @internalsref{TextScript}.
+Internals Reference: @rinternals{TextScript}.
 
 @knownissues
 
@@ -155,13 +119,11 @@ default; to enable it, use
 
 @cindex Text spanners
 
-@c TODO: merge these explanations with the ones below in 
-@c "Text and Line spanners" -vv
-
 Some performance indications, e.g., @i{rallentando} or
 @i{accelerando}, are written as text and are extended over many
-measures with dotted lines; you can create such text spanners
-from one note to another by using the following syntax:
+measures with dotted lines.
+Such objects, called @q{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." 
@@ -171,9 +133,9 @@ e,\stopTextSpan
 
 @noindent
 The string to be printed is set through
-object properties. By default it is printed in italic characters,
+object properties.  By default it is printed in italic characters,
 but different formatting can be obtained using
-@code{\markup} blocks:
+@code{\markup} blocks, as described in @ref{Formatting text}.
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \override TextSpanner #'bound-details #'left #'text =
@@ -182,6 +144,9 @@ b1\startTextSpan c
 e,\stopTextSpan
 @end lilypond
 
+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
@@ -189,17 +154,16 @@ e,\stopTextSpan
 @funindex textSpannerDown
 @code{\textSpannerDown},
 @funindex textSpannerNeutral
-@code{\textSpannerNeutral}.
-
-The line style, as well as the text string, can be defined as an
-object property, as described in @ref{Line styles}.
-
+@code{\textSpannerNeutral}
 
 @seealso
 
-Snippets: @lsrdir{Text,Text}
+Notation Reference: @ref{Line styles}.
 
-Internals Reference: @internalsref{TextSpanner}.
+Snippets:
+@rlsr{Text}.
+
+Internals Reference: @rinternals{TextSpanner}.
 
 
 @node Text marks
@@ -215,12 +179,14 @@ Various text elements can be added to a score using
 the syntax described in @ref{Rehearsal marks}:
 
 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
-c4\mark "dolce" c c c
+c4\mark "Allegro" c c c
 @end lilypond
 
-This syntax makes possible to put any text on a bar line, but also
-signs like coda, segno, or fermata, by specifying  the appropriate
-symbol name.  These symbols are listed in @ref{The Feta font}.
+This syntax makes 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:
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
 c1 \mark \markup { \musicglyph #"scripts.ufermata" }
@@ -228,14 +194,14 @@ c1
 @end lilypond
 
 @noindent
-Such objects are only typeset above the top staff of the score; they
-can be placed above the bar line or between notes, depending on whether
-you specify it at the end or the middle of a bar. When specified at the
-beginning of a score or at a line break, the mark will be printed at
+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).
 
 @lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-\mark "dolce" c1
+\mark "Allegro" c1
 c\mark "assai" \break
 c c
 @end lilypond
@@ -243,136 +209,117 @@ c c
 
 @snippets
 
-@c TODO: to be LSR-ized stuff -vv
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{printing-marks-at-the-end-of-a-line-or-a-score.ly}
 
-To print the mark at the end of the current line, use
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{aligning-marks-with-various-notation-objects.ly}
 
-@example
-\override Score.RehearsalMark
-  #'break-visibility = #begin-of-line-invisible
-@end example
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc]
+{printing-marks-on-every-staff.ly}
 
-@code{\mark} is often useful for adding text to the end of bar.
-In such cases, changing the @code{#'self-alignment} is very useful
+@seealso
 
-@lilypond[fragment,quote,ragged-right,verbatim,relative=2]
-\override Score.RehearsalMark
-  #'break-visibility = #begin-of-line-invisible
-c1 c c c4 c c c
-\once \override Score.RehearsalMark #'self-alignment-X = #right
-\mark "D.S. al Fine "
-@end lilypond
+Notation Reference: @ref{Rehearsal marks},
+@ref{Formatting text}, @ref{The Feta font}.
 
-If specified, text marks may be aligned with notation objects
-other than bar lines.  These objects include @code{ambitus},
-@code{breathing-sign}, @code{clef}, @code{custos},
-@code{staff-bar}, @code{left-edge}, @code{key-cancellation},
-@code{key-signature}, and @code{time-signature}.
-
-
-In such cases, text marks will be, by default, horizontally centered
-above the object. However, this can be changed, as demonstrated
-on the second line of this example (in a score with multiple staves,
-this setting should be done for all the staves).
-
-
-@lilypond[fragment,quote,ragged-right,verbatim,relative=1]
-  e1
-  
-  % the RehearsalMark will be centered above the Clef
-  \override Score.RehearsalMark #'break-align-symbols = #'(clef)
-  \key a \major
-  \clef treble
-  \mark "↓"
-  e
-  
-  % the RehearsalMark will be centered above the TimeSignature
-  \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
-  \key a \major
-  \clef treble
-  \time 3/4
-  \mark "↓"
-  e2.
-  
-  % the RehearsalMark will be centered above the KeySignature
-  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
-  \key a \major
-  \clef treble
-  \time 4/4
-  \mark "↓"
-  e1
-
-  \break
-  e
-  
-  % the RehearsalMark will be aligned with the left edge of the KeySignature
-  \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
-  \mark "↓"
-  \key a \major
-  e
-  
-  % the RehearsalMark will be aligned with the right edge of the KeySignature
-  \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
-  \key a \major
-  \mark "↓"
-  e
-  
-  % the RehearsalMark will be aligned with the left edge of the KeySignature
-  % and then shifted right by 1 unit.
-  \once \override Score.KeySignature #'break-align-anchor = #1
-  \key a \major
-  \mark "↓"
-  e1
+Snippets:
+@rlsr{Text}.
+
+Internals Reference: @rinternals{RehearsalMark}.
+
+@knownissues
+@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
+@c  delete this sentence.   -gp
+@c  A workaround is suggested in the first @snippets item -vv
+
+If a mark is entered at the end of the last bar of the score (where
+there is no next line), then the mark will not be printed at
+all.
+
+@node Separate text
+@subsubsection Separate text
+
+@cindex separate text
+@cindex standalone text
+@cindex top-level text
+@cindex text, standalone
+@funindex \markup
+
+A @code{\markup} block can exist by itself, outside of any
+any @code{\score} block, as a @qq{top-level
+expression}.  This syntax is described in @ref{File structure}.
+
+@lilypond[quote,ragged-right,verbatim]
+\markup {
+  Tomorrow, and tomorrow, and tomorrow...
+}
 @end lilypond
 
-Although text marks are normally only printed above the topmost
-staff, you may alter this to print them on every staff,
+@noindent
+This allows to print 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,relative=2]
-{
-  \new Score \with {
-    \remove "Mark_engraver"
-  }
-  <<
-    \new Staff \with {
-      \consists "Mark_engraver"
-    }
-    { c''1 \mark "foo" c'' }
-    \new Staff \with {
-      \consists "Mark_engraver"
-    }
-    { c'1 \mark "foo" c' }
-  >>
+@lilypond[quote,ragged-right,verbatim]
+\score {
+  c'1
+}
+\markup {
+  Tomorrow, and tomorrow, and tomorrow...
+}
+\score {
+  c'1
 }
 @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}.
+
+@predefined
+
+@funindex \markup
+@code{\markup},
+@funindex \markuplines
+@code{\markuplines}
+
+@ignore
+@snippets
+
+TODO: add convenient snippets in input/new -vv
+@end ignore
 
 @seealso
 
-Snippets: @lsrdir{Text,Text}
+Notation Reference: @ref{Formatting text},
+@ref{File structure}, 
+@ref{Multiple scores in a book},
+@ref{Multi-page markup}.
 
-Internals Reference: @internalsref{RehearsalMark}.
+Snippets:
+@rlsr{Text}.
 
-@knownissues
-@c  IMO this is a bug; hopefully it'll be fixed soon, so I can
-@c  delete this sentence.   -gp
+Internals Reference: @rinternals{TextScript}.
 
-If a mark is entered at the end of the last bar of the score (where
-there is no next line), then the mark will not be printed at
-all.
 
-@c TODO: add this here? -vv
-@c @node Text marks
-@c @subsubsection Text marks
+@node Formatting text
+@subsection Formatting text
 
-@node Text markup
-@subsection Text markup
+This section presents basic and advanced text formatting,
+using the @code{\markup} mode specific syntax.
 
 @menu
 * Text markup introduction::    
-* Nested scores::               
-* Page wrapping text::          
-* Font selection::              
+* Common markup commands::      
+* Text alignment::              
+* Graphic notation inside markup::  
+* Music notation inside markup::  
+* Multi-page markup::          
 @end menu
 
 @node Text markup introduction
@@ -383,120 +330,229 @@ all.
 @cindex markup text
 @cindex typeset text
 
-Use @code{\markup} to typeset text.  Commands are entered with the
-backslash @code{\}.  To enter @code{\} and @code{#}, use double
-quotation marks.
+A @code{\markup} block is used to typeset text with an extensible
+specific syntax called @qq{markup mode}.
+
+@cindex markup expressions
+@cindex markup syntax
+
+The markup syntax is similar to LilyPond's usual syntax: a
+@code{\markup} expression is enclosed in curly braces @code{@{
+@dots{} @}}.
+
+In markup mode, specific commands are entered using the backslash
+@code{\} character.  Such commands only affect the first following
+expression.
+
+Markup expressions may also be enclosed in double quotes
+@code{"..."}. Such expressions are treated as text strings
+and may not contain nested expressions or commands.
+Therefore, braces are generally prefered to double quotes;
+the following example demonstrates both syntaxes.
 
 @lilypond[quote,verbatim,fragment,relative=1]
-c1^\markup { hello }
-c1_\markup { hi there }
-c1^\markup { hi \bold there, is \italic {anyone home?} }
-c1_\markup { "\special {weird} #characters" }
+e1-\markup "intenso"
+a2^\markup { poco \italic più forte  }
+c e1
+d2_\markup { \italic "string. assai" }
+e 
+b1^\markup { \bold { molto \italic  agitato } }
+c
 @end lilypond
 
-@noindent
-See @ref{Overview of text markup commands}, for a list of all
-commands.
+@cindex special characters in markup mode
+@cindex markup mode, special characters
+@cindex reserved characters, printing
+@cindex printing special characters
 
-@code{\markup} is primarily used for @internalsref{TextScript}s,
-but it can also be used anywhere text is called in LilyPond
+Special characters such as @code{\} and @code{#}
+can be printed in the output simply using double
+quotes.  Double quotation marks are only printed
+in the output when preceded by backslashes:
+
+@lilypond[quote,verbatim,fragment,relative=1]
+\clef bass
+a^\markup "##\ LEPORELLO \##"
+a_\markup "Bravi! \"Cosa rara\"!"
+r a8 d
+cis a r4 r2
+@end lilypond
+
+The way markup expressions are defined affects 
+how these expressions will 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-align { 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 previous command are not kept distinct.  In
+the following example, the first two @code{\markup} expressions
+are equivalent:
+
+@lilypond[quote,verbatim,fragment,relative=1]
+c1^\markup { \center-align { a bbb c } }
+c1^\markup { \center-align { a { bbb c } } }
+c1^\markup { \center-align { a \line { bbb c } } }
+@end lilypond
+
+
+Markups can be stored in variables.  These variables may be
+directly attached to notes:
 
 @lilypond[quote,verbatim]
-\header{ title = \markup{ \bold { foo \italic { bar! } } } }
-\score{
-  \relative c'' {
-    \override Score.RehearsalMark
-      #'break-visibility = #begin-of-line-invisible
-    \override Score.RehearsalMark #'self-alignment-X = #right
-
-    \set Staff.instrumentName = \markup{ \column{ Alto solo } }
-    c2^\markup{ don't be \flat }
-    \override TextSpanner #'bound-details #'left #'text = \markup{\italic rit }
-    b2\startTextSpan
-    a2\mark \markup{ \large \bold Fine }
-    r2\stopTextSpan
-    \bar "||"
-  }
-  \addlyrics { bar, foo \markup{ \italic bar! } }
+allegro = \markup { \bold \large Allegro }
+
+{
+  d''8.^\allegro
+  d'16 d'4 r2
 }
 @end lilypond
 
-A @code{\markup} command can also be placed on its own, away from
-any @code{\score} block, see @ref{Multiple scores in a book}.
 
-@lilypond[quote,ragged-right,verbatim]
-\markup{ Here is some text. }
-@end lilypond
+@noindent
+An exhaustive list of @code{\markup}-specific commands can be found in
+@ref{Text markup commands}.
+
+
+@seealso
+
+This manual: @ref{Text markup commands}.
+
+Snippets:
+@rlsr{Text}.
+
+Internals Reference: @rinternals{TextScript}.
+
+Init files: @file{scm/@/new@/-markup@/.scm}.
+
+
+@knownissues
+
+@c FIXME: this is totally deprecated, isn't it? -vv
+Kerning or generation of ligatures is only done when the @TeX{}
+backend is used.  In this case, LilyPond does not account for them
+so texts will be spaced slightly too wide.
+
+@c is the following sentence really relevant? -vv
+Syntax errors for markup mode are confusing.
+
+
+@node Common markup commands
+@subsubsection Common markup commands
+
+Some basic formatting can be used blah blah
+
+
+
+@ignore
+TODO: here are some commands that could be described here.
+I'm putting them in bulk, prior to working on this section. -vv
+
+\simple
+
+\char
+\fraction
+
+\combine
+\concat
+\put-adjacent
+
+
+\page-ref (see also "Table of contents")
+\fromproperty
+\verbatim-file
+\with-url
+
+\on-the-fly 
+\override
+
+
+\null
+\hspace
+
+\lower
+\raise 
+\translate 
+\translate-scaled
+\rotate
+\transparent
+\whiteout
+
+@end ignore
+
+
 
 @cindex font switching
 
-The markup in the example demonstrates font switching commands.
-The command @code{\bold} and @code{\italic} apply to the first
-following word only; to apply a command to more than one word,
-enclose the words with braces,
+Some font switching commands are demonstrated here.
 
-@example
-\markup @{ \bold @{ hi there @} @}
-@end example
+\italic 
+\upright
+\bold 
+\medium        
+\underline
+       
 
-@noindent
-For clarity, you can also do this for single arguments, e.g.,
+@c TODO: what's the difference between the following commands? -vv
+\smallCaps     
+\caps 
+\fontCaps
 
-@example
-\markup @{ is \italic @{ anyone @} home @}
-@end example
 
-In markup mode you can compose expressions, similar to
-mathematical expressions, XML documents, and music expressions.
-You can stack expressions grouped vertically with the command
-@code{\column}.  Similarly, @code{\center-align} aligns texts by
-their center lines:
+Some alternate font families can easily be selected:
 
-@lilypond[quote,verbatim,fragment,relative=1]
-c1^\markup { \column { a bbbb \line { c d } } }
-c1^\markup { \center-align { a bbbb c } }
-c1^\markup { \line { a b c } }
-@end lilypond
+\sans
+\typewriter
+\roman
+\number (only for numbers, such as fingerings and time signatures)
+@c TODO: add \slashed-digit here? -vv
 
-Lists with no previous command are not kept distinct.  The
-expression
+The size can be blah blah blah
 
-@example
-\center-align @{ @{ a b @} @{ c d @} @}
-@end example
+\fontsize
 
-@noindent
+Some predefined font sizes can be used blah blah
 
-is equivalent to
+\teeny
+\tiny
+\small 
+\normalsize
+\large
+\huge
 
-@example
-\center-align @{ a b c d @}
-@end example
+Some shorcuts allow to change the font size relatively to its previous value 
 
-@noindent
+\smaller
+\bigger
+\larger
 
-To keep lists of words distinct, please use quotes @code{"} or
-the @code{\line} command
+\magnify
 
-@lilypond[quote,verbatim,fragment,relative=1]
-\textLengthOn
-c4^\markup{ \center-align { on three lines } }
-c4^\markup{ \center-align { "all one line" } }
-c4^\markup{ \center-align { { on three lines } } }
-c4^\markup{ \center-align { \line { on one line } } }
-@end lilypond
+Text may be printed as subscript or superscript:
 
-Markups can be stored in variables and these variables may be
-attached to notes, like
+\sub 
+\super
+
+To obtain subscripts or superscripts in a normal text size, use
+\normal-size-sub
+\normal-size-super
+
+All these settings (except the size) can be reverted to the default font:
+
+\normal-text 
+
+
+@node Text alignment
+@subsubsection Text alignment
 
-@example
-allegro = \markup @{ \bold \large @{ Allegro @} @}
- @{ a^\allegro b c d @}
-@end example
 
 Some objects have alignment procedures of their own, which cancel
 out any effects of alignments applied to their markup arguments as
-a whole.  For example, the @internalsref{RehearsalMark} is
+a whole.  For example, the @rinternals{RehearsalMark} is
 horizontally centered, so using @code{\mark \markup @{ \left-align
 .. @}} has no effect.
 
@@ -517,35 +573,125 @@ c'4^\markup{ \hspace #0 \raise #1.5 raised }
 Some situations (such as dynamic marks) have preset font-related
 properties.  If you are creating text in such situations, it is
 advisable to cancel those properties with @code{normal-text}.  See
-@ref{Overview of text markup commands}, for more details.
+@ref{Text markup commands}, for more details.
 
 
-@seealso
+Alignment basics:
+\left-align
+\center-align
+\right-align
 
-This manual: @ref{Overview of text markup commands}.
+Horizontal alignment:
+\hcenter
+\general-align
+\halign 
 
-Snippets: @lsrdir{Text,Text}
 
-Internals Reference: @internalsref{TextScript}.
+Vertical alignment: 
+\vcenter
+\column 
+\dir-column 
 
-Init files: @file{scm/@/new@/-markup@/.scm}.
+Building a "large" markup:
 
+\line
 
-@knownissues
+\fill-line
 
-Kerning or generation of ligatures is only done when the @TeX{}
-backend is used.  In this case, LilyPond does not account for them
-so texts will be spaced slightly too wide.
+\hcenter-in
+       
+\pad-around
+\pad-markup
+\pad-to-box
+\pad-x
+       
+Alignment inside a "large" markup:
 
-Syntax errors for markup mode are confusing.
+\justify-field 
+\justify
+\justify-string
+
+\wordwrap-field
+\wordwrap
+\wordwrap-string
+
+@node Graphic notation inside markup
+@subsubsection Graphic notation inside markup
+Graphics around text:
+\box
+\circle
+
+\bracket
+\hbracket
+
+"Standalone" graphics:
+
+\arrow-head
+\draw-line
+\draw-circle
+\filled-box
+\triangle
+\strut
 
+\with-color
 
-@node Nested scores
-@subsubsection Nested scores
 
-It is possible to nest music inside markups, by adding a
-@code{\score} block to a markup expression.  Such a score must
-contain a @code{\layout} block.
+Advanced graphics:
+\stencil
+
+\postscript
+\epsfile
+
+\with-dimensions
+
+@node Music notation inside markup
+@subsubsection Music notation inside markup
+
+Notes can be printed in markup mode blah blah:
+
+\note  
+\note-by-number
+
+Accidental symbols can be obtained easily:
+
+\doubleflat
+\sesquiflat
+\flat
+\semiflat
+\natural
+\semisharp
+\sharp
+\sesquisharp
+\doublesharp
+
+Some other notation objects blah blah
+
+\beam
+\finger
+\dynamic
+\tied-lyric
+\markalphabet
+\markletter
+@c TODO: add \text here? -vv
+
+Any musical symbol can be printed
+
+\musicglyph
+@c TODO: add \lookup here? -vv
+
+
+The markup mode has support for fret diagrams:
+
+\fret-diagram 
+\fret-diagram-terse
+\fret-diagram-verbose
+
+An entire @code{\score} block can even be nested in a @code{\markup}
+block.  In such a case, the @code{\score} must contain a @code{\layout} block.
+
+
+\score
+
 
 @lilypond[quote,verbatim,ragged-right]
 \relative {
@@ -561,10 +707,11 @@ contain a @code{\layout} block.
 
 @seealso
 
-Snippets: @lsrdir{Text,Text}
+Snippets:
+@rlsr{Text}.
 
-@node Page wrapping text
-@subsubsection Page wrapping text
+@node Multi-page markup
+@subsubsection Multi-page markup
 
 Whereas @code{\markup} is used to enter a non-breakable block of
 text, @code{\markuplines} can be used at top-level to enter lines
@@ -587,22 +734,68 @@ of text that can spread over multiple pages:
 @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 markup list commands are described in
-@ref{Overview of text markup list commands}.
+@ref{Text markup list commands}.
 
 @seealso
 
-This manual: @ref{Overview of text markup list commands}, @ref{New
+This manual: @ref{Text markup list commands}, @ref{New
 markup list command definition}.
 
-Snippets: @lsrdir{Text,Text}
+Snippets:
+@rlsr{Text}.
 
 @predefined
 
 @funindex \markuplines
 @code{\markuplines}
 
-@node Font selection
-@subsubsection Font selection
+
+
+@c TODO: move the following subsubsec into NR3 -vv
+@c maybe.  -gp
+@node Fonts
+@subsection Fonts
+
+@menu
+* Entire document fonts::       
+* Single entry 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,
+
+@cindex font families, setting
+@cindex Pango
+
+
+@lilypond[verbatim]
+\paper  {
+  myStaffSize = #20
+
+  #(define fonts
+    (make-pango-font-tree "Times New Roman"
+                          "Nimbus Sans"
+                          "Luxi Mono"
+                           (/ myStaffSize 20)))
+}
+
+{
+  c'^\markup { roman: foo \sans bla \typewriter bar }
+}
+@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
 
 @cindex font selection
 @cindex font magnification
@@ -679,93 +872,11 @@ property.  The resulting size is taken relative to the
 @cindex font magnification
 
 
-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,
-
-@cindex font families, setting
-@cindex Pango
-
-
-@lilypond[verbatim]
-\paper  {
-  myStaffSize = #20
 
-  #(define fonts
-    (make-pango-font-tree "Times New Roman"
-                          "Nimbus Sans"
-                          "Luxi Mono"
-                           (/ myStaffSize 20)))
-}
-
-{
-  c'^\markup { roman: foo \sans bla \typewriter bar }
-}
-@end lilypond
-
-@c we don't do Helvetica / Courier, since GS incorrectly loads
-@c Apple TTF fonts
-
-
-
-@seealso
-
-Snippets: @lsrdir{Text,Text}
-
-
-@node Special text concerns
-@subsection Special text concerns
-
-@c FIXME: this section is to be removed
-@c (see comments below) -vv
-
-@menu
-* New dynamic marks::           
-@end menu
-
-@node New dynamic marks
-@subsubsection New dynamic marks
-
-@c FIXME: this whole section should be removed and put in
-@c "Writing text" -vv
-
-It is possible to print new dynamic marks or text that should be
-aligned with dynamics.  Use @code{make-dynamic-script} to create
-these marks.  Note that the dynamic font only contains the
-characters @code{f,m,p,r,s} and @code{z}.
-
-Some situations (such as dynamic marks) have preset font-related
-properties.  If you are creating text in such situations, it is
-advisable to cancel those properties with @code{normal-text}.  See
-@ref{Overview of text markup commands}, for more details.
-
-@cindex make-dynamic-script
-
-@lilypond[quote,verbatim,ragged-right]
-sfzp = #(make-dynamic-script "sfzp")
-\relative c' {
-  c4 c c\sfzp c
-}
-@end lilypond
-
-@cindex Dynamics, editorial
-@cindex Dynamics, parenthesis
-
-It is also possible to print dynamics in round parenthesis or
-square brackets.  These are often used for adding editorial
-dynamics.
-
-@lilypond[quote,verbatim,ragged-right]
-rndf = \markup{ \center-align {\line { \bold{\italic (}
-  \dynamic f \bold{\italic )} }} }
-boxf = \markup{ \bracket { \dynamic f } }
-{ c'1_\rndf c'1_\boxf }
-@end lilypond
 
 @seealso
 
-Snippets: @lsrdir{Text,Text}
+Snippets:
+@rlsr{Text}.