@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore @c \version "2.16.0" @node Notation manual tables @appendix Notation manual tables @menu * Chord name chart:: * Common chord modifiers:: * Predefined string tunings:: * Predefined fretboard diagrams:: * Predefined paper sizes:: * MIDI instruments:: * List of colors:: * The Feta font:: * Note head styles:: * Clef styles:: * Text markup commands:: * Text markup list commands:: * List of special characters:: * List of articulations:: * Percussion notes:: * Technical glossary:: * All context properties:: * Layout properties:: * Available music functions:: * Context modification identifiers:: * Predefined type predicates:: * Scheme functions:: @end menu @node Chord name chart @appendixsec Chord name chart The following chart shows two standard systems for printing chord names, along with the pitches they represent. @c The line width is a hack to allow space for instrument names @lilypondfile[quote,line-width=15\cm]{chord-names-jazz.ly} @node Common chord modifiers @appendixsec Common chord modifiers The following table shows chord modifiers that can be used to generate standard chord structures. @multitable @columnfractions .2 .25 .2 .15 .2 @item @b{Type} @tab @b{Interval} @tab @b{Modifier} @tab @b{Example} @tab @b{Output} @item Major @tab Major third, @*perfect fifth @tab @code{5} or nothing @tab @code{c1:5} @tab @lilypond[line-width=2.1\cm,notime] << \chords { c1:5 } \chordmode { c1:5 } >> @end lilypond @item Minor @tab Minor third, @*perfect fifth @tab @code{m} or @code{m5} @tab @code{c1:m} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m } \chordmode { c1:m } >> @end lilypond @item Augmented @tab Major third, @*augmented fifth @tab @code{aug} @tab @code{c1:aug} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:aug } \chordmode { c1:aug } >> @end lilypond @item Diminished @tab Minor third, @*diminished fifth @tab @code{dim} @tab @code{c1:dim} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:dim } \chordmode { c1:dim } >> @end lilypond @item Dominant seventh @tab Major triad, @*minor seventh @tab @code{7} @tab @code{c1:7} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:7 } \chordmode { c1:7 } >> @end lilypond @item Major seventh @tab Major triad, @*major seventh @tab @code{maj7} or @code{maj} @tab @code{c1:maj7} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:maj7 } \chordmode { c1:maj7 } >> @end lilypond @item Minor seventh @tab Minor triad, @*minor seventh @tab @code{m7} @tab @code{c1:m7} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m7 } \chordmode { c1:m7 } >> @end lilypond @item Diminished seventh @tab Diminished triad, @*diminished seventh @tab @code{dim7} @tab @code{c1:dim7} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:dim7} \chordmode { c1:dim7 } >> @end lilypond @item Augmented seventh @tab Augmented triad, @*minor seventh @tab @code{aug7} @tab @code{c1:aug} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:aug7 } \chordmode { c1:aug7 } >> @end lilypond @item Half-diminished seventh @tab Diminished triad, @*minor seventh @tab @code{m7.5-} @tab @code{c1:m7.5-} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m7.5- } \chordmode { c1:m7.5- } >> @end lilypond @item Minor-major seventh @tab Minor triad, @*major seventh @tab @code{m7+} @tab @code{m7+} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m7+ } \chordmode { c1:m7+ } >> @end lilypond @item Major sixth @tab Major triad, @*sixth @tab @code{6} @tab @code{c1:6} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:6 } \chordmode { c1:6 } >> @end lilypond @item Minor sixth @tab Minor triad, @*sixth @tab @code{m6} @tab @code{c1:m6} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m6 } \chordmode { c1:m6 } >> @end lilypond @item Dominant ninth @tab Dominant seventh, @*major ninth @tab @code{9} @tab @code{c1:9} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:9 } \chordmode { c1:9 } >> @end lilypond @item Major ninth @tab Major seventh, @*major ninth @tab @code{maj9} @tab @code{c1:maj9} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:maj9 } \chordmode { c1:maj9 } >> @end lilypond @item Minor ninth @tab Minor seventh, @*major ninth @tab @code{m9} @tab @code{c1:m9} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m9 } \chordmode { c1:m9 } >> @end lilypond @item Dominant eleventh @tab Dominant ninth, @*perfect eleventh @tab @code{11} @tab @code{c1:11} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:11 } \chordmode { c1:11 } >> @end lilypond @item Major eleventh @tab Major ninth, @*perfect eleventh @tab @code{maj11} @tab @code{c1:maj11} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:maj11 } \chordmode { c1:maj11 } >> @end lilypond @item Minor eleventh @tab Minor ninth, @*perfect eleventh @tab @code{m11} @tab @code{c1:m11} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m11 } \chordmode { c1:m11 } >> @end lilypond @item Dominant thirteenth @tab Dominant ninth, @*major thirteenth @tab @code{13} @tab @code{c1:13} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:13 } \chordmode { c1:13 } >> @end lilypond @item Dominant thirteenth @tab Dominant eleventh, @*major thirteenth @tab @code{13.11} @tab @code{c1:13.11} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords{ c1:13.11 } \chordmode { c1:13.11 } >> @end lilypond @item Major thirteenth @tab Major eleventh, @*major thirteenth @tab @code{maj13.11} @tab @code{c1:maj13.11} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:maj13.11 } \chordmode { c1:maj13.11 } >> @end lilypond @item Minor thirteenth @tab Minor eleventh, @*major thirteenth @tab @code{m13.11} @tab @code{c1:m13.11} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:m13.11 } \chordmode { c1:m13.11 } >> @end lilypond @item Suspended second @tab Major second, @*perfect fifth @tab @code{sus2} @tab @code{c1:sus2} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:sus2 } \chordmode { c1:sus2 } >> @end lilypond @item Suspended fourth @tab Perfect fourth, @*perfect fifth @tab @code{sus4} @tab @code{c1:sus4} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] << \chords { c1:sus4 } \chordmode { c1:sus4 } >> @end lilypond @item Power chord @*(two-voiced) @tab Perfect fifth @tab @code{1.5} @tab @code{\powerChords c1:1.5} @tab @lilypond[line-width=2.1\cm,noragged-right,notime] \chordmode { \powerChords c1:1.5 } @end lilypond @item Power chord @*@w{(three-voiced)} @tab Perfect fifth, @*octave @tab @code{1.5.8} @tab @code{\powerChords c1:1.5.8} @tab @lilypond[line-width=2.1\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 @menu * Diagrams for Guitar:: * Diagrams for Ukulele:: * Diagrams for Mandolin:: @end menu @node Diagrams for Guitar @unnumberedsubsec Diagrams for Guitar @lilypondfile[line-width=15.5\cm]{display-predefined-fretboards.ly} @node Diagrams for Ukulele @unnumberedsubsec Diagrams for Ukulele @lilypondfile[line-width=15.5\cm]{display-predefined-ukulele-fretboards.ly} @node Diagrams for Mandolin @unnumberedsubsec Diagrams for Mandolin @lilypondfile[line-width=15.5\cm]{display-predefined-mandolin-fretboards.ly} @node Predefined paper sizes @appendixsec Predefined paper sizes Paper sizes are defined in @file{scm/paper.scm} @noindent @strong{The @qq{ISO 216} A Series} @table @code @item "a10" (26 x 37 mm) @item "a9" (37 x 52 mm) @item "a8" (52 x 74 mm) @item "a7" (74 x 105 mm) @item "a6" (105 x 148 mm) @item "a5" (148 x 210 mm) @item "a4" (210 x 297 mm) @item "a3" (297 x 420 mm) @item "a2" (420 x 594 mm) @item "a1" (594 x 841 mm) @item "a0" (841 x 1189 mm) @end table @noindent @strong{The @qq{ISO 216} B Series} @table @code @item "b10" (31 x 44 mm) @item "b9" (44 x 62 mm) @item "b8" (62 x 88 mm) @item "b7" (88 x 125 mm) @item "b6" (125 x 176 mm) @item "b5" (176 x 250 mm) @item "b4" (250 x 353 mm) @item "b3" (353 x 500 mm) @item "b2" (500 x 707 mm) @item "b1" (707 x 1000 mm) @item "b0" (1000 x 1414 mm) @end table @noindent @strong{Two extended sizes as defined in @qq{DIN 476}} @table @code @item "4a0" (1682 x 2378 mm) @item "2a0" (1189 x 1682 mm) @end table @noindent @strong{@qq{ISO 269} standard C series} @table @code @item "c10" (28 x 40 mm) @item "c9" (40 x 57 mm) @item "c8" (57 x 81 mm) @item "c7" (81 x 114 mm) @item "c6" (114 x 162 mm) @item "c5" (162 x 229 mm) @item "c4" (229 x 324 mm) @item "c3" (324 x 458 mm) @item "c2" (458 x 648 mm) @item "c1" (648 x 917 mm) @item "c0" (917 x 1297 mm) @end table @noindent @strong{North American paper sizes} @table @code @item "junior-legal" (8.0 x 5.0 in) @item "legal" (8.5 x 14.0 in) @item "ledger" (17.0 x 11.0 in) @item "letter" (8.5 x 11.0 in) @item "tabloid" (11.0 x 17.0 in) @item "11x17" (11.0 x 17.0 in) @item "17x11" (17.0 x 11.0 in) @end table @noindent @strong{Government-letter by IEEE Printer Working Group, for children's writing} @table @code @item "government-letter" (8 x 10.5 in) @item "government-legal" (8.5 x 13.0 in) @item "philippine-legal" (8.5 x 13.0 in) @end table @noindent @strong{ANSI sizes} @table @code @item "ansi a" (8.5 x 11.0 in) @item "ansi b" (17.0 x 11.0 in) @item "ansi c" (17.0 x 22.0 in) @item "ansi d" (22.0 x 34.0 in) @item "ansi e" (34.0 x 44.0 in) @item "engineering f" (28.0 x 40.0 in) @end table @noindent @strong{North American Architectural sizes} @table @code @item "arch a" (9.0 x 12.0 in) @item "arch b" (12.0 x 18.0 in) @item "arch c" (18.0 x 24.0 in) @item "arch d" (24.0 x 36.0 in) @item "arch e" (36.0 x 48.0 in) @item "arch e1" (30.0 x 42.0 in) @end table @noindent @strong{Antique sizes still used in the United Kingdom} @table @code @item "statement" (5.5 x 8.5 in) @item "half letter" (5.5 x 8.5 in) @item "quarto" (8.0 x 10.0 in) @item "octavo" (6.75 x 10.5 in) @item "executive" (7.25 x 10.5 in) @item "monarch" (7.25 x 10.5 in) @item "foolscap" (8.27 x 13.0 in) @item "folio" (8.27 x 13.0 in) @item "super-b" (13.0 x 19.0 in) @item "post" (15.5 x 19.5 in) @item "crown" (15.0 x 20.0 in) @item "large post" (16.5 x 21.0 in) @item "demy" (17.5 x 22.5 in) @item "medium" (18.0 x 23.0 in) @item "broadsheet" (18.0 x 24.0 in) @item "royal" (20.0 x 25.0 in) @item "elephant" (23.0 x 28.0 in) @item "double demy" (22.5 x 35.0 in) @item "quad demy" (35.0 x 45.0 in) @item "atlas" (26.0 x 34.0 in) @item "imperial" (22.0 x 30.0 in) @item "antiquarian" (31.0 x 53.0 in) @end table @noindent @strong{PA4 based sizes} @table @code @item "pa0" (840 x 1120 mm) @item "pa1" (560 x 840 mm) @item "pa2" (420 x 560 mm) @item "pa3" (280 x 420 mm) @item "pa4" (210 x 280 mm) @item "pa5" (140 x 210 mm) @item "pa6" (105 x 140 mm) @item "pa7" (70 x 105 mm) @item "pa8" (52 x 70 mm) @item "pa9" (35 x 52 mm) @item "pa10" (26 x 35 mm) @end table @noindent @strong{Used in Southeast Asia and Australia} @table @code @item "f4" (210 x 330 mm) @end table @noindent @strong{Used for very small @code{@@lilypond} examples in the documentation based on a8 landscape.} @table @code @item "a8landscape" (74 x 52 mm) @end table @node MIDI instruments @appendixsec MIDI instruments The following is a list of names that can be used for the @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) bright acoustic tremolo strings lead 8 (bass+lead) electric grand pizzicato strings pad 1 (new age) honky-tonk orchestral harp pad 2 (warm) electric piano 1 timpani pad 3 (polysynth) electric piano 2 string ensemble 1 pad 4 (choir) harpsichord string ensemble 2 pad 5 (bowed) clav synthstrings 1 pad 6 (metallic) celesta synthstrings 2 pad 7 (halo) glockenspiel choir aahs pad 8 (sweep) music box voice oohs fx 1 (rain) vibraphone synth voice fx 2 (soundtrack) marimba orchestra hit fx 3 (crystal) xylophone trumpet fx 4 (atmosphere) tubular bells trombone fx 5 (brightness) dulcimer tuba fx 6 (goblins) drawbar organ muted trumpet fx 7 (echoes) percussive organ french horn fx 8 (sci-fi) rock organ brass section sitar church organ synthbrass 1 banjo reed organ synthbrass 2 shamisen accordion soprano sax koto harmonica alto sax kalimba concertina tenor sax bagpipe acoustic guitar (nylon) baritone sax fiddle acoustic guitar (steel) oboe shanai electric guitar (jazz) english horn tinkle bell electric guitar (clean) bassoon agogo electric guitar (muted) clarinet steel drums overdriven guitar piccolo woodblock distorted guitar flute taiko drum guitar harmonics recorder melodic tom acoustic bass pan flute synth drum electric bass (finger) blown bottle reverse cymbal electric bass (pick) shakuhachi guitar fret noise fretless bass whistle breath noise slap bass 1 ocarina seashore slap bass 2 lead 1 (square) bird tweet synth bass 1 lead 2 (sawtooth) telephone ring synth bass 2 lead 3 (calliope) helicopter violin lead 4 (chiff) applause viola lead 5 (charang) gunshot cello lead 6 (voice) @end example @node List of colors @appendixsec List of colors @subsubheading Normal colors Usage syntax is detailed in @ref{Coloring objects}. @cindex List of colors @cindex Colors, list of @verbatim black white red green blue cyan magenta yellow grey darkred darkgreen darkblue darkcyan darkmagenta darkyellow @end verbatim @subsubheading X color names X color names come several variants: Any name that is spelled as a single word with capitalization (e.g. @q{LightSlateBlue}) can also be spelled as space separated words without capitalization (e.g. @q{light slate blue}). The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}). Some names can take a numerical suffix (e.g. @q{LightSalmon4}). @subsubheading Color Names without a numerical suffix: @verbatim snow GhostWhite WhiteSmoke gainsboro FloralWhite OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond bisque PeachPuff NavajoWhite moccasin cornsilk ivory LemonChiffon seashell honeydew MintCream azure AliceBlue lavender LavenderBlush MistyRose white black DarkSlateGrey DimGrey SlateGrey LightSlateGrey grey LightGrey MidnightBlue navy NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise turquoise cyan LightCyan CadetBlue MediumAquamarine aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen green chartreuse MediumSpringGreen GreenYellow LimeGreen YellowGreen ForestGreen OliveDrab DarkKhaki khaki PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed SaddleBrown sienna peru burlywood beige wheat SandyBrown tan chocolate firebrick brown DarkSalmon salmon LightSalmon orange DarkOrange coral LightCoral tomato OrangeRed red HotPink DeepPink pink LightPink PaleVioletRed maroon MediumVioletRed VioletRed magenta violet plum orchid MediumOrchid DarkOrchid DarkViolet BlueViolet purple MediumPurple thistle DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed LightGreen @end verbatim @subsubheading Color names with a numerical suffix In the following names the suffix N can be a number in the range 1-4: @verbatim snowN seashellN AntiqueWhiteN bisqueN PeachPuffN NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN IndianRedN siennaN burlywoodN wheatN tanN chocolateN firebrickN brownN salmonN LightSalmonN orangeN DarkOrangeN coralN tomatoN OrangeRedN redN DeepPinkN HotPinkN pinkN LightPinkN PaleVioletRedN maroonN VioletRedN magentaN orchidN plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN thistleN @end verbatim @subsubheading Grey Scale A grey scale can be obtained using: @example greyN @end example @noindent Where N is in the range 0-100. @node The Feta font @appendixsec The Feta font @cindex Feta font @cindex Font, Feta The following symbols are available in the Emmentaler font and may be accessed directly using text markup with the name of the glyph as shown in the tables below, such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or @code{\markup @{\musicglyph #"five"@}}. For more information, see @ref{Formatting text}. @menu * Clef glyphs:: * Time Signature glyphs:: * Number glyphs:: * Accidental glyphs:: * Default Notehead glyphs:: * Special Notehead glyphs:: * Shape-note Notehead glyphs:: * Rest glyphs:: * Flag glyphs:: * Dot glyphs:: * Dynamic glyphs:: * Script glyphs:: * Arrowhead glyphs:: * Bracket-tip glyphs:: * Pedal glyphs:: * Accordion glyphs:: * Tie glyphs:: * Vaticana glyphs:: * Medicaea glyphs:: * Hufnagel glyphs:: * Mensural glyphs:: * Neomensural glyphs:: * Petrucci glyphs:: * Solesmes glyphs:: * Kievan Notation glyphs:: @end menu @node Clef glyphs @unnumberedsubsec Clef glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #clefs @end lilypond @node Time Signature glyphs @unnumberedsubsec Time Signature glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #timesig @end lilypond @node Number glyphs @unnumberedsubsec Number glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #numbers @end lilypond @node Accidental glyphs @unnumberedsubsec Accidental glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #accidentals @end lilypond @node Default Notehead glyphs @unnumberedsubsec Default Notehead glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #default-noteheads @end lilypond @node Special Notehead glyphs @unnumberedsubsec Special Notehead glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #special-noteheads @end lilypond @node Shape-note Notehead glyphs @unnumberedsubsec Shape-note Notehead glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #shape-note-noteheads @end lilypond @node Rest glyphs @unnumberedsubsec Rest glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #rests @end lilypond @node Flag glyphs @unnumberedsubsec Flag glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #flags @end lilypond @node Dot glyphs @unnumberedsubsec Dot glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #dots @end lilypond @node Dynamic glyphs @unnumberedsubsec Dynamic glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #dynamics @end lilypond @node Script glyphs @unnumberedsubsec Script glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #scripts @end lilypond @node Arrowhead glyphs @unnumberedsubsec Arrowhead glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #arrowheads @end lilypond @node Bracket-tip glyphs @unnumberedsubsec Bracket-tip glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #brackettips @end lilypond @node Pedal glyphs @unnumberedsubsec Pedal glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #pedal @end lilypond @node Accordion glyphs @unnumberedsubsec Accordion glyphs @lilypond[quote] \include "font-table.ly" \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 @node Vaticana glyphs @unnumberedsubsec Vaticana glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #vaticana @end lilypond @node Medicaea glyphs @unnumberedsubsec Medicaea glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #medicaea @end lilypond @node Hufnagel glyphs @unnumberedsubsec Hufnagel glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #hufnagel @end lilypond @node Mensural glyphs @unnumberedsubsec Mensural glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #mensural @end lilypond @node Neomensural glyphs @unnumberedsubsec Neomensural glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #neomensural @end lilypond @node Petrucci glyphs @unnumberedsubsec Petrucci glyphs @lilypond[quote] \include "font-table.ly" \markuplist \override-lines #'(word-space . 4) \doc-chars #petrucci @end lilypond @node Solesmes glyphs @unnumberedsubsec Solesmes glyphs @lilypond[quote] \include "font-table.ly" \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 @cindex note head styles The following styles may be used for note heads. @lilypondfile[noindent]{note-head-style.ly} @node Clef styles @appendixsec Clef styles The following table shows all the different clef styles possible (including where @emph{middle C} sits relative to the clef). @multitable @columnfractions .30 .2 .30 .2 @headitem Example @tab Output @tab Example @tab Output @item @code{\clef G} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef G c1 @end lilypond @tab @code{\clef "G2"} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef "G2" c1 @end lilypond @item @code{\clef treble} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef treble c1 @end lilypond @tab @code{\clef violin} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef violin c1 @end lilypond @item @code{\clef french} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef french c1 @end lilypond @tab @code{\clef GG} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef GG c1 @end lilypond @item @code{\clef tenorG} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef tenorG c1 @end lilypond @tab @code{\clef soprano} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef soprano c1 @end lilypond @item @code{\clef mezzosoprano} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef mezzosoprano c1 @end lilypond @tab @code{\clef C} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef C c1 @end lilypond @item @code{\clef alto} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef alto c1 @end lilypond @tab @code{\clef tenor} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef tenor c1 @end lilypond @item @code{\clef baritone} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef baritone c1 @end lilypond @tab @code{\clef varC} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef varC c1 @end lilypond @item @code{\clef altovarC} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef altovarC c1 @end lilypond @tab @code{\clef tenorvarC} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef tenorvarC c1 @end lilypond @item @code{\clef baritonevarC} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef baritonevarC c1 @end lilypond @tab @code{\clef varbaritone} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef varbaritone c1 @end lilypond @item @code{\clef baritonevarF} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef baritonevarF c1 @end lilypond @tab @code{\clef F} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef F c1 @end lilypond @item @code{\clef bass} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef bass c1 @end lilypond @tab @code{\clef subbass} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef subbass c1 @end lilypond @item @code{\clef percussion} @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \clef percussion c1 @end lilypond @tab @c @example does not work as expected within multitables @code{ \new TabStaff @{ @* @ @ \clef tab @* @} } @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \new TabStaff { \clef tab c1 } @end lilypond @item @c @example does not work as expected within multitables @code{ \new TabStaff @{ @* @ @ \clef moderntab @* @} } @tab @lilypond[line-width=3\cm,notime,ragged-right,relative=1] \new TabStaff { \clef moderntab c1 } @end lilypond @end multitable @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 The following lists show all the scripts in the Feta font that may be attached to notes (eg. @samp{f\accent} or @samp{f->}). Each example shows the script in the @emph{up}, @emph{down} and @emph{neutral} positions respectively. @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 @ignore The @multitable @columnfraction value discrepancy between the first and the remaining columns is deliberate; it seems (at least visually anyway) the gap (after building the documentation) between first and second column examples was always larger than between the remaining columns - JL @end ignore @cindex accent @cindex espressivo @cindex marcato @cindex portato @cindex staccatissimo @cindex staccato @cindex tenuto @cindex thumb @node Articulation scripts @unnumberedsubsec Articulation scripts @multitable @columnfractions .22 .25 .25 .25 @item @code{\accent} or @code{->} @lilypond[notime,relative=2] f^\accent e,_\accent b'\accent @end lilypond @tab @code{\espressivo} @lilypond[notime,relative=2] f^\espressivo e,_\espressivo b'\espressivo @end lilypond @tab @code{\marcato} or @code{-^} @lilypond[notime,relative=2] f^\marcato e,_\marcato b'\marcato @end lilypond @tab @code{\portato} or @code{-_} @lilypond[notime,relative=2] f^\portato e,_\portato b'\portato @end lilypond @item @code{\staccatissimo} @* or @code{-!} @lilypond[notime,relative=2] f^\staccatissimo e,_\staccatissimo b'\staccatissimo @end lilypond @tab @code{\staccato} or @code{-.} @lilypond[notime,relative=2] f^\staccato e,_\staccato b'\staccato @end lilypond @tab @code{\tenuto} or @code{--} @lilypond[notime,relative=2] f^\tenuto e,_\tenuto b'\tenuto @end lilypond @end multitable @cindex prall @cindex prallup @cindex pralldown @cindex upprall @cindex downprall @cindex prallprall @cindex lineprall @cindex prallmordent @cindex mordent @cindex upmordent @cindex downmordent @cindex trill @cindex turn @cindex reverseturn @node Ornament scripts @unnumberedsubsec Ornament scripts @multitable @columnfractions .22 .25 .25 .25 @item @code{\prall} @lilypond[notime,relative=2] f^\prall e,_\prall b'\prall @end lilypond @tab @code{\prallup} @lilypond[notime,relative=2] f^\prallup e,_\prallup b'\prallup @end lilypond @tab @code{\pralldown} @lilypond[notime,relative=2] f^\pralldown e,_\pralldown b'\pralldown @end lilypond @tab @code{\upprall} @lilypond[notime,relative=2] f^\upprall e,_\upprall b'\upprall @end lilypond @item @code{\downprall} @lilypond[notime,relative=2] f^\downprall e,_\downprall b'\downprall @end lilypond @tab @code{\prallprall} @lilypond[notime,relative=2] f^\prallprall e,_\prallprall b'\prallprall @end lilypond @tab @code{\lineprall} @lilypond[notime,relative=2] f^\lineprall e,_\lineprall b'\lineprall @end lilypond @tab @code{\prallmordent} @lilypond[notime,relative=2] f^\prallmordent e,_\prallmordent b'\prallmordent @end lilypond @item @code{\mordent} @lilypond[notime,relative=2] f^\mordent e,_\mordent b'\mordent @end lilypond @tab @code{\upmordent} @lilypond[notime,relative=2] f^\upmordent e,_\upmordent b'\upmordent @end lilypond @tab @code{\downmordent} @lilypond[notime,relative=2] f^\downmordent e,_\downmordent b'\downmordent @end lilypond @tab @code{\trill} @lilypond[notime,relative=2] f^\trill e,_\trill b'\trill @end lilypond @item @code{\turn} @lilypond[notime,relative=2] f^\turn e,_\turn b'\reverseturn @end lilypond @tab @code{\reverseturn} @lilypond[notime,relative=2] f^\reverseturn e,_\reverseturn b'\reverseturn @end lilypond @end multitable @cindex fermata @cindex shortfermata @cindex longfermata @cindex verylongfermata @node Fermata scripts @unnumberedsubsec Fermata scripts @multitable @columnfractions .22 .25 .25 .25 @item @code{\shortfermata} @lilypond[notime,relative=2] f^\shortfermata e,_\shortfermata b'\shortfermata @end lilypond @tab @code{\fermata} @lilypond[notime,relative=2] f^\fermata e,_\fermata b'\fermata @end lilypond @tab @code{\longfermata} @lilypond[notime,relative=2] f^\longfermata e,_\longfermata b'\longfermata @end lilypond @tab @code{\verylongfermata} @lilypond[notime,relative=2] f^\verylongfermata e,_\verylongfermata b'\verylongfermata @end lilypond @end multitable @cindex upbow @cindex downbow @cindex flageolet @cindex open @cindex halfopen @cindex lheel @cindex rheel @cindex ltoe @cindex rtoe @cindex snappizzicato @cindex stopped @node Instrument-specific scripts @unnumberedsubsec Instrument-specific scripts @multitable @columnfractions .22 .25 .25 .25 @item @code{\upbow} @lilypond[notime,relative=2] f^\upbow e,_\upbow b'\upbow @end lilypond @tab @code{\downbow} @lilypond[notime,relative=2] f^\downbow e,_\downbow b'\downbow @end lilypond @tab @code{\flageolet} @lilypond[notime,relative=2] f^\flageolet e,_\flageolet b'\flageolet @end lilypond @tab @code{\open} @lilypond[notime,relative=2] f^\open e,_\open b'\open @end lilypond @item @code{\halfopen} @lilypond[notime,relative=2] f^\halfopen e,_\halfopen b'\halfopen @end lilypond @tab @code{\lheel} @lilypond[notime,relative=2] f^\lheel e,_\lheel b'\lheel @end lilypond @tab @code{\rheel} @lilypond[notime,relative=2] f^\rheel e,_\rheel b'\rheel @end lilypond @tab @code{\ltoe} @lilypond[notime,relative=2] f^\ltoe e,_\ltoe b'\ltoe @end lilypond @item @code{\rtoe} @lilypond[notime,relative=2] f^\rtoe e,_\rtoe b'\rtoe @end lilypond @tab @code{\snappizzicato} @lilypond[notime,relative=2] f^\snappizzicato e,_\snappizzicato b'\snappizzicato @end lilypond @tab @code{\stopped} or @code{-+} @lilypond[notime,relative=2] f^\stopped e,_\stopped b'\stopped @end lilypond @end multitable @cindex segno @cindex coda @cindex varcoda @node Repeat sign scripts @unnumberedsubsec Repeat sign scripts @multitable @columnfractions .22 .25 .25 .25 @item @code{\segno} @lilypond[notime,relative=2] f^\segno e,_\segno b'\segno @end lilypond @tab @code{\coda} @lilypond[notime,relative=2] f^\coda e,_\coda b'\coda @end lilypond @tab @code{\varcoda} @lilypond[notime,relative=2] f^\varcoda e,_\varcoda b'\varcoda @end lilypond @end multitable @cindex accentus @cindex circulus @cindex ictus @cindex semicirculus @cindex signumcongruentiae @node Ancient scripts @unnumberedsubsec Ancient scripts @multitable @columnfractions .22 .25 .25 .25 @item @code{\accentus} @lilypond[notime] \include "gregorian.ly" \new VaticanaStaff { e'^\accentus s4 f_\accentus s4 b\accentus} @end lilypond @tab @code{\circulus} @lilypond[notime] \include "gregorian.ly" \new VaticanaStaff { e'^\circulus s4 f_\circulus s4 b\circulus } @end lilypond @tab @code{\ictus} @lilypond[notime] \include "gregorian.ly" \new VaticanaStaff { e'^\ictus s4 f_\ictus s4 b\ictus} @end lilypond @item @code{\semicirculus} @lilypond[notime] \include "gregorian.ly" \new VaticanaStaff { e'^\semicirculus s4 f_\semicirculus s4 b\semicirculus } @end lilypond @tab @code{\signumcongruentiae} @lilypond[notime] \include "gregorian.ly" \new VaticanaStaff { e'^\signumcongruentiae s4 f_\signumcongruentiae s4 b\signumcongruentiae } @end lilypond @end multitable @node Percussion notes @appendixsec Percussion notes @lilypondfile[quote]{percussion-chart.ly} @node Technical glossary @appendixsec Technical glossary 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:: * smob:: * stencil:: @end menu @node alist @unnumberedsubsec alist @cindex alist @cindex association list An association list or @strong{alist} for short is a Scheme pair which associates a value with a key: @w{@code{(key . value)}}. For example, in @file{scm/lily.scm}, the alist @w{@qq{type-p-name-alist}} associates certain type predicates (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so that type-check failures can be reported with a console message that includes the name of the expected type predicate. @node callback @unnumberedsubsec callback @cindex callback A @strong{callback} is a routine, function or method whose reference is passed as an argument in a call to another routine, so allowing the called routine to invoke it. The technique enables a lower- level software layer to call a function defined in a higher 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 @cindex glyph @cindex font @cindex typeface A @strong{glyph} is a particular graphical representation of a typographic 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{Special characters}. @node grob @unnumberedsubsec grob @cindex grob @cindex layout objects @cindex graphical objects 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. They are represented by instances of the @code{Grob} class. @seealso Learning Manual: @rlearning{Objects and interfaces}, @rlearning{Naming conventions of objects and properties}, @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 @cindex interface @cindex grob-interface @cindex graphical object interfaces 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}, @rlearning{Naming conventions of objects and properties}, @rlearning{Properties found in interfaces}. Notation Reference: @ref{Layout interfaces}. Internals Reference: @rinternals{Graphical Object Interfaces}. @node lexer @unnumberedsubsec lexer @cindex lexer @cindex Flex A @strong{lexer} is a program which converts a sequence of characters into a sequence of tokens, a process called lexical analysis. The LilyPond lexer converts the stream obtained from an input @file{.ly} file into a tokenized stream more suited to the next stage of processing - parsing, for which see @ref{parser}. The LilyPond lexer is built with Flex from the lexer file @file{lily/lexer.ll} which contains the lexical rules. This 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 @cindex output-def 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 @cindex parser @cindex Bison @cindex LilyPond grammar @cindex grammar for LilyPond @cindex BNF A @strong{parser} analyzes the sequence of tokens produced by a lexer to determine its grammatical structure, grouping the tokens progressively into larger groupings according to the rules of the grammar. If the sequence of tokens is valid the end product is a tree of tokens whose root is the grammar's start symbol. If this cannot be achieved the file is invalid and an appropriate error message is produced. The syntactic groupings and the rules for constructing the groupings from their parts for the LilyPond syntax are defined in @file{lily/parser.yy} and shown in Backus Normal Form (BNF) in @rcontrib{LilyPond grammar}. This file is used to build the 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 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 @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 @code{\include} command. This can lead to unintended consequences and in complex typesetting projects the consequent errors can be difficult to track down. LilyPond uses the following parser variables: @itemize @item afterGraceFraction @item musicQuotes @item mode @item output-count @item output-suffix @item partCombineListener @item pitchnames @item toplevel-bookparts @item toplevel-scores @item showLastLength @item showFirstLength @end itemize @node prob @unnumberedsubsec prob @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 @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 @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 @appendixsec All context properties @include context-properties.tely @node Layout properties @appendixsec Layout properties @include layout-properties.tely @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 @include scheme-functions.tely