]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/notation-appendices.itely
NR: General tidy up - @seealso @knownissue spacing
[lilypond.git] / Documentation / notation / notation-appendices.itely
index 7d3e43b850267c601e9af385ef9287d5fa61cd11..1c00f6fb5bd8f4f12769fda7ad04f5b23fd5d55a 100644 (file)
@@ -4,35 +4,19 @@
     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
 
     When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.15.17"
 
 @node Notation manual tables
 @appendix Notation manual tables
 
-@c Please do not delete the following @ignore block.
-@ignore
-Note for editors and translators: In the following menu, two entries
-are needed to link to a pair of automatically generated sections.
-Please keep them and, if using emacs, do not run
-texinfo-all-menus-update without manually restoring them back. These
-menu entries are:
-
-* Text markup commands::
-* Text markup list commands::
-
-and they should go just after
-* Note head styles::
-
-and just before
-* List of articulations::
-@end ignore
-
 @menu
 * Chord name chart::
 * Common chord modifiers::
+* Predefined string tunings::
 * Predefined fretboard diagrams::
 * MIDI instruments::
 * List of colors::
@@ -40,12 +24,15 @@ and just before
 * Note head styles::
 * Text markup commands::
 * Text markup list commands::
+* List of special characters::
 * List of articulations::
 * Percussion notes::
 * Technical glossary::
 * All context properties::
 * Layout properties::
-* Music functions::
+* Available music functions::
+* Context modification identifiers::
+* Predefined type predicates::
 * Scheme functions::
 @end menu
 
@@ -54,7 +41,7 @@ and just before
 @node Chord name chart
 @appendixsec Chord name chart
 
-The following charts shows two standard systems for printing chord
+The following chart shows two standard systems for printing chord
 names, along with the pitches they represent.
 
 @lilypondfile{chord-names-jazz.ly}
@@ -212,11 +199,11 @@ Minor-major seventh
 @tab
 Minor triad, major seventh
 @tab
-@code{maj7.5-}
+@code{m7+}
 @tab
 @lilypond[line-width=3\cm,noragged-right, notime]
 \chordmode {
-  c1:maj7.5-
+  c1:m7+
 }
 @end lilypond
 
@@ -402,21 +389,65 @@ Perfect fourth, perfect fifth
 }
 @end lilypond
 
+@item
+Power chord (two-voiced)
+@tab
+Perfect fifth
+@tab
+@code{1.5}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+  \powerChords
+  c1:1.5
+}
+@end lilypond
+
+@item
+Power chord (three-voiced)
+@tab
+Perfect fifth, octave
+@tab
+@code{1.5.8}
+@tab
+@lilypond[line-width=3\cm,noragged-right, notime]
+\chordmode {
+  \powerChords
+  c1:1.5.8
+}
+@end lilypond
 
 @end multitable
 
+@node Predefined string tunings
+@appendixsec Predefined string tunings
+
+The chart below shows the predefined string tunings.
+
+@lilypondfile{display-predefined-string-tunings.ly}
+
 @node Predefined fretboard diagrams
 @appendixsec Predefined fretboard diagrams
 
-The chart below shows the predefined fretboard diagrams.
+The chart below shows the predefined fretboard diagrams for guitar.
 
 @lilypondfile{display-predefined-fretboards.ly}
 
+The chart below shows the predefined fretboard diagrams for ukulele.
+
+@lilypondfile{display-predefined-ukulele-fretboards.ly}
+
+The chart below shows the predefined fretboard diagrams for mandolin.
+
+@lilypondfile{display-predefined-mandolin-fretboards.ly}
+
 @node MIDI instruments
 @appendixsec MIDI instruments
 
 The following is a list of names that can be used for the
-@code{midiInstrument} property.
+@code{midiInstrument} property.  The order of the instruments
+below, starting in the left-hand column moving down, corresponds
+to the General MIDI Standard's 128 Program Numbers.
 
 @example
 acoustic grand            contrabass           lead 7 (fifths)
@@ -597,6 +628,7 @@ see @ref{Formatting text}.
 * Bracket-tip glyphs::
 * Pedal glyphs::
 * Accordion glyphs::
+* Tie glyphs::
 * Vaticana glyphs::
 * Medicaea glyphs::
 * Hufnagel glyphs::
@@ -604,6 +636,7 @@ see @ref{Formatting text}.
 * Neomensural glyphs::
 * Petrucci glyphs::
 * Solesmes glyphs::
+* Kievan Notation glyphs::
 @end menu
 
 
@@ -612,8 +645,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #clefs
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #clefs
 @end lilypond
 
 
@@ -622,8 +655,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #timesig
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #timesig
 @end lilypond
 
 
@@ -632,8 +665,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #numbers
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #numbers
 @end lilypond
 
 
@@ -642,8 +675,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #accidentals
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #accidentals
 @end lilypond
 
 
@@ -652,8 +685,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #default-noteheads
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #default-noteheads
 @end lilypond
 
 
@@ -662,8 +695,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #special-noteheads
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #special-noteheads
 @end lilypond
 
 
@@ -672,8 +705,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #shape-note-noteheads
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #shape-note-noteheads
 @end lilypond
 
 
@@ -682,8 +715,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #rests
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #rests
 @end lilypond
 
 
@@ -692,8 +725,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #flags
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #flags
 @end lilypond
 
 
@@ -702,8 +735,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #dots
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #dots
 @end lilypond
 
 
@@ -712,8 +745,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #dynamics
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #dynamics
 @end lilypond
 
 
@@ -722,8 +755,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #scripts
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #scripts
 @end lilypond
 
 
@@ -732,8 +765,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #arrowheads
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #arrowheads
 @end lilypond
 
 
@@ -742,8 +775,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #brackettips
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #brackettips
 @end lilypond
 
 
@@ -752,8 +785,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #pedal
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #pedal
 @end lilypond
 
 
@@ -762,8 +795,18 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #accordion
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #accordion
+@end lilypond
+
+
+@node Tie glyphs
+@unnumberedsubsec Tie glyphs
+
+@lilypond[quote]
+\include "font-table.ly"
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #ties
 @end lilypond
 
 
@@ -772,8 +815,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #vaticana
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #vaticana
 @end lilypond
 
 
@@ -782,8 +825,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #medicaea
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #medicaea
 @end lilypond
 
 
@@ -792,8 +835,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #hufnagel
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #hufnagel
 @end lilypond
 
 
@@ -802,8 +845,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #mensural
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #mensural
 @end lilypond
 
 
@@ -812,8 +855,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #neomensural
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #neomensural
 @end lilypond
 
 
@@ -822,8 +865,8 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #petrucci
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #petrucci
 @end lilypond
 
 
@@ -832,10 +875,18 @@ see @ref{Formatting text}.
 
 @lilypond[quote]
 \include "font-table.ly"
-\markuplines \override-lines #'(word-space . 4)
-             \doc-chars #solesmes
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #solesmes
 @end lilypond
 
+@node Kievan Notation glyphs
+@unnumberedsubsec Kievan Notation glyphs
+
+@lilypond[quote]
+\include "font-table.ly"
+\markuplist \override-lines #'(word-space . 4)
+            \doc-chars #kievan
+@end lilypond
 
 @node Note head styles
 @appendixsec Note head styles
@@ -845,45 +896,160 @@ The following styles may be used for note heads.
 
 @lilypondfile[noindent]{note-head-style.ly}
 
+
+@node Text markup commands
+@appendixsec Text markup commands
+
 @include markup-commands.tely
 
+
+@node Text markup list commands
+@appendixsec Text markup list commands
+
+The following commands can all be used with @code{\markuplist}:
+
 @include markup-list-commands.tely
 
+
+@node List of special characters
+@appendixsec List of special characters
+
+The following special characters references can be used;
+for more details, see @ref{ASCII aliases}.
+
+The HTML syntax is used and most of these references are the same as HTML.
+The rest of them are inspired by @LaTeX{}.
+
+The characters are boxed so that you can see their size.
+A small padding has been added between the character and the box
+for more readability.
+
+@lilypond[quote]
+\include "special-characters.ly"
+@end lilypond
+
+
 @node List of articulations
 @appendixsec List of articulations
 
+
 @cindex accent
-@cindex marcato
-@cindex staccatissimo
+@cindex accentus
+@cindex circulus
+@cindex coda
+@cindex downbow
+@cindex downmordent
+@cindex downprall
 @cindex espressivo
 @cindex fermata
-@cindex stopped
-@cindex staccato
-@cindex portato
-@cindex tenuto
-@cindex upbow
-@cindex downbow
-@cindex foot marks
-@cindex organ pedal marks
-@cindex turn
-@cindex open
-@cindex stopped
 @cindex flageolet
-@cindex reverseturn
-@cindex trill
-@cindex prall
+@cindex halfopen
+@cindex ictus
+@cindex lheel
+@cindex lineprall
+@cindex longfermata
+@cindex ltoe
+@cindex marcato
 @cindex mordent
-@cindex prallprall
+@cindex open
+@cindex portato
+@cindex prall
+@cindex pralldown
 @cindex prallmordent
-@cindex prall, up
-@cindex prall, down
-@cindex thumb marking
+@cindex prallprall
+@cindex prallup
+@cindex reverseturn
+@cindex rheel
+@cindex rtoe
 @cindex segno
-@cindex coda
+@cindex semicirculus
+@cindex shortfermata
+@cindex signumcongruentiae
+@cindex snappizzicato
+@cindex staccatissimo
+@cindex staccato
+@cindex stopped
+@cindex tenuto
+@cindex thumb
+@cindex trill
+@cindex turn
+@cindex upbow
+@cindex upmordent
+@cindex upprall
 @cindex varcoda
+@cindex verylongfermata
+
+The following scripts are available in the Feta font and may be
+attached to notes (eg. @samp{c\accent}).
+
+@c Articulations and ornamentations
+@c Fingering instructions (for "thumb")
+@c Common notation for unfretted strings
+@c   Bowing indications
+@c   Harmonics
+@c   Snap (Bartók) pizzicato
+@c Custom percussion staves (for "halfopen" -- not yet funindexed)
+@c References for wind instruments (for "open"/"stopped" -- not yet funindexed)
+
+
+@menu
+* Articulation scripts::
+* Ornament scripts::
+* Fermata scripts::
+* Instrument-specific scripts::
+* Repeat sign scripts::
+* Ancient scripts::
+@end menu
+
+
+@node Articulation scripts
+@unnumberedsubsec Articulation scripts
+
+@lilypond[quote]
+\include "script-chart.ly"
+\new RhythmicStaff { \scriptStaff #articulations }
+@end lilypond
+
+@node Ornament scripts
+@unnumberedsubsec Ornament scripts
+
+@lilypond[quote]
+\include "script-chart.ly"
+\new RhythmicStaff { \scriptStaff #ornaments }
+@end lilypond
 
+@node Fermata scripts
+@unnumberedsubsec Fermata scripts
 
-@lilypondfile[quote,texidoc]{script-chart.ly}
+@lilypond[quote]
+\include "script-chart.ly"
+\new RhythmicStaff { \scriptStaff #fermatas }
+@end lilypond
+
+@node Instrument-specific scripts
+@unnumberedsubsec Instrument-specific scripts
+
+@lilypond[quote]
+\include "script-chart.ly"
+\new RhythmicStaff { \scriptStaff #instrument-specific }
+@end lilypond
+
+@node Repeat sign scripts
+@unnumberedsubsec Repeat sign scripts
+
+@lilypond[quote]
+\include "script-chart.ly"
+\new RhythmicStaff { \scriptStaff #repeats }
+@end lilypond
+
+@node Ancient scripts
+@unnumberedsubsec Ancient scripts
+
+@lilypond[quote]
+\include "script-chart.ly"
+\include "gregorian.ly"
+\new VaticanaStaff { \scriptStaffAncient #ancient }
+@end lilypond
 
 
 @node Percussion notes
@@ -895,20 +1061,25 @@ The following styles may be used for note heads.
 @node Technical glossary
 @appendixsec Technical glossary
 
-A glossary of the technical terms and concepts used internally.
+A glossary of the technical terms and concepts used internally in
+LilyPond.  These terms may appear in the manuals, on mailing lists
+or in the source code.
 
 @menu
 * alist::
 * callback::
+* closure::
 * glyph::
 * grob::
+* immutable::
 * interface::
 * lexer::
+* mutable::
 * output-def::
 * parser::
 * parser variable::
 * prob::
-* simple-closure::
+* simple closure::
 * smob::
 * stencil::
 @end menu
@@ -940,6 +1111,32 @@ layer.  Callbacks are used extensively in LilyPond to permit
 user-level Scheme code to define how many low-level actions are
 performed.
 
+
+@node closure
+@unnumberedsubsec closure
+
+@cindex closure
+@cindex simple closure
+
+In Scheme, a @strong{closure} is created when a function, usually
+a lambda expression, is passed as a variable.  The closure contains
+the function's code plus references to the lexical bindings of the
+function's free variables (i.e. those variables used in the
+expression but defined outside it).  When this function is applied
+to different arguments later, the free variable bindings that were
+captured in the closure are used to obtain the values of the free
+variables to be used in the calculation.  One useful property of
+closures is the retention of internal variable values between
+invocations, so permitting state to be maintained.
+
+A @strong{simple closure} is a closure whose expression has no free
+variables and hence no free variable bindings.
+
+A simple closure is represented in LilyPond by a smob containing
+the expression and a method to apply the expression to a passed
+list of arguments.
+
+
 @node glyph
 @unnumberedsubsec glyph
 
@@ -952,11 +1149,10 @@ character, or a combination of two characters formating a ligature.
 A set of glyphs with a single style and shape comprise a font, and
 a set of fonts covering several styles and sizes comprise a typeface.
 
-
 @seealso
 Notation Reference:
 @ref{Fonts},
-@ref{Text encoding}.
+@ref{Special characters}.
 
 
 @node grob
@@ -969,8 +1165,8 @@ Notation Reference:
 LilyPond objects which represent items of notation in the printed
 output such as note heads, stems, slurs, ties, fingering, clefs,
 etc are called @q{Layout objects}, often known as @q{GRaphical
-OBjects}, or @strong{grobs} for short.
-
+OBjects}, or @strong{grobs} for short.  They are represented by
+instances of the @code{Grob} class.
 
 @seealso
 Learning Manual:
@@ -979,9 +1175,31 @@ Learning Manual:
 @rlearning{Properties of layout objects}.
 
 Internals Reference:
+@rinternals{grob-interface},
 @rinternals{All layout objects}.
 
 
+@node immutable
+@unnumberedsubsec immutable
+
+@cindex immutable objects
+@cindex immutable properties
+@cindex shared properties
+
+An @strong{immutable} object is one whose state cannot be modified
+after creation, in contrast to a mutable object, which can be
+modified after creation.
+
+In LilyPond, immutable or shared properties define the default
+style and behavior of grobs.  They are shared between many objects.
+In apparent contradiction to the name, they can be changed using
+@code{\override} and @code{\revert}.
+
+@seealso
+Notation Reference:
+@ref{mutable}.
+
+
 @node interface
 @unnumberedsubsec interface
 
@@ -993,7 +1211,6 @@ Actions and properties which are common to a number of grobs are
 grouped together in an object called a @code{grob-interface}, or
 just @q{interface} for short.
 
-
 @seealso
 Learning Manual:
 @rlearning{Objects and interfaces},
@@ -1023,6 +1240,26 @@ The LilyPond lexer is built with Flex from the lexer file
 is part of the source code and is not included in the LilyPond
 binary installation.
 
+
+@node mutable
+@unnumberedsubsec mutable
+
+@cindex mutable objects
+@cindex mutable properties
+
+A @strong{mutable} object is one whose state can be modified after
+creation, in contrast to an immutable object, whose state is fixed
+at the time of creation.
+
+In LilyPond, mutable properties contain values that are specific to
+one grob.  Typically, lists of other objects or results from
+computations are stored in mutable properties.
+
+@seealso
+Notation Reference:
+@ref{immutable}.
+
+
 @node output-def
 @unnumberedsubsec output-def
 
@@ -1032,6 +1269,7 @@ An instance of the @code{Output-def} class contains the methods and
 data structures associated with an output block.  Instances are
 created for midi, layout and paper blocks.
 
+
 @node parser
 @unnumberedsubsec parser
 
@@ -1054,14 +1292,31 @@ parser during the program build by the parser generator, Bison.  It
 is part of the source code and is not included in the LilyPond
 binary installation.
 
+
 @node parser variable
 @unnumberedsubsec parser variable
 
+@cindex parser variable
+@cindex Scheme variable
+@cindex global variable
+@cindex afterGraceFraction
+@cindex musicQuotes
+@cindex mode
+@cindex output-count
+@cindex output-suffix
+@cindex parseStringResult
+@cindex partCombineListener
+@cindex pitchnames
+@cindex toplevel-bookparts
+@cindex toplevel-scores
+@cindex showLastLength
+@cindex showFirstLength
+
 These are variables defined directly in Scheme.  Their direct
 use by users is strongly discouraged, because their scoping
 semantics can be confusing.
 
-When the value of such a variable is changed in a @code{.ly} file,
+When the value of such a variable is changed in a @file{.ly} file,
 the change is global, and unless explicitly reverted, the new value
 will persist to the end of the file, affecting subsequent
 @code{\score} blocks as well as external files added with the
@@ -1086,21 +1341,62 @@ LilyPond uses the following parser variables:
 @item showFirstLength
 @end itemize
 
+
 @node prob
 @unnumberedsubsec prob
-TODO
 
-@node simple-closure
-@unnumberedsubsec simple-closure
-TODO
+@cindex prob
+@cindex property object
+
+PRoperty OBjects, or @strong{probs} for short, are instances of
+the @code{Prob} class, a simple base class for objects which have
+mutable and immutable property alists and the methods to manipulate
+them.  The @code{Music} and @code{Stream_event} classes derive from
+@code{Prob}.  Instances of the @code{Prob} class are also created
+to hold the formatted content of system grobs and titling blocks
+during page layout.
+
+
+@node simple closure
+@unnumberedsubsec simple closure
+
+See @ref{closure}.
+
 
 @node smob
 @unnumberedsubsec smob
-TODO
+
+@cindex smob
+@cindex Scheme object
+
+@strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
+by Guile to export C and C++ objects to Scheme code.  In LilyPond,
+smobs are created from C++ objects through macros.  There are two
+types of smob objects: simple smobs, intended for simple immutable
+objects like numbers, and complex smobs, used for objects with
+identities.  If you have access to the LilyPond sources, more
+information can be found in @file{lily/includes/smob.hh}.
 
 @node stencil
 @unnumberedsubsec stencil
-TODO
+
+@cindex stencil
+
+An instance of the @strong{stencil} class holds the information
+required to print a typographical object.  It is a simple smob
+containing a confining box, which defines the vertical and
+horizontal extents of the object, and a Scheme expression which
+will print the object when evaluated.  Stencils may be combined
+to form more complex stencils defined by a tree of Scheme
+expressions formed from the Scheme expressions of the component
+stencils.
+
+The @code{stencil} property, which connects a grob to its stencil,
+is defined in the @code{grob-interface} interface.
+
+@seealso
+Internals Reference:
+@rinternals{grob-interface}.
 
 
 @node All context properties
@@ -1115,11 +1411,24 @@ TODO
 @include layout-properties.tely
 
 
-@node Music functions
-@appendixsec Music functions
+@node Available music functions
+@appendixsec Available music functions
 
 @include identifiers.tely
 
+@node Context modification identifiers
+@appendixsec Context modification identifiers
+
+The following commands are defined for use as context modifications
+within a @code{\layout} or @code{\with} block.
+
+@include context-mod-identifiers.tely
+
+@node Predefined type predicates
+@appendixsec Predefined type predicates
+
+@include type-predicates.tely
+
 
 @node Scheme functions
 @appendixsec Scheme functions