]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/notation-appendices.itely
23aef2f86519726312397db7420dcec1229d0800
[lilypond.git] / Documentation / notation / notation-appendices.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2
3 @ignore
4     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.16.0"
12
13 @node Notation manual tables
14 @appendix Notation manual tables
15
16 @menu
17 * Chord name chart::
18 * Common chord modifiers::
19 * Predefined string tunings::
20 * Predefined fretboard diagrams::
21 * Predefined paper sizes::
22 * MIDI instruments::
23 * List of colors::
24 * The Feta font::
25 * Note head styles::
26 * Clef styles::
27 * Text markup commands::
28 * Text markup list commands::
29 * List of special characters::
30 * List of articulations::
31 * Percussion notes::
32 * Technical glossary::
33 * All context properties::
34 * Layout properties::
35 * Available music functions::
36 * Context modification identifiers::
37 * Predefined type predicates::
38 * Scheme functions::
39 @end menu
40
41
42
43 @node Chord name chart
44 @appendixsec Chord name chart
45
46 The following chart shows two standard systems for printing chord
47 names, along with the pitches they represent.
48
49 @c The line width is a hack to allow space for instrument names
50 @lilypondfile[quote,line-width=15\cm]{chord-names-jazz.ly}
51
52 @node Common chord modifiers
53 @appendixsec Common chord modifiers
54
55 The following table shows chord modifiers that can be used to generate
56 standard chord structures.
57
58 @multitable @columnfractions .2 .25 .2 .15 .2
59
60 @item
61 @b{Type}
62 @tab
63 @b{Interval}
64 @tab
65 @b{Modifier}
66 @tab
67 @b{Example}
68 @tab
69 @b{Output}
70
71
72 @item
73 Major
74 @tab
75 Major third, @*perfect fifth
76 @tab
77 @code{5} or nothing
78 @tab
79 @code{c1:5}
80 @tab
81 @lilypond[line-width=2.1\cm,notime]
82 <<
83   \chords { c1:5 }
84   \chordmode { c1:5 }
85 >>
86 @end lilypond
87
88 @item
89 Minor
90 @tab
91 Minor third, @*perfect fifth
92 @tab
93 @code{m} or @code{m5}
94 @tab
95 @code{c1:m}
96 @tab
97 @lilypond[line-width=2.1\cm,noragged-right,notime]
98 <<
99   \chords { c1:m }
100   \chordmode { c1:m }
101 >>
102 @end lilypond
103
104 @item
105 Augmented
106 @tab
107 Major third, @*augmented fifth
108 @tab
109 @code{aug}
110 @tab
111 @code{c1:aug}
112 @tab
113 @lilypond[line-width=2.1\cm,noragged-right,notime]
114 <<
115   \chords { c1:aug }
116   \chordmode { c1:aug }
117 >>
118 @end lilypond
119
120 @item
121 Diminished
122 @tab
123 Minor third, @*diminished fifth
124 @tab
125 @code{dim}
126 @tab
127 @code{c1:dim}
128 @tab
129 @lilypond[line-width=2.1\cm,noragged-right,notime]
130 <<
131   \chords { c1:dim }
132   \chordmode { c1:dim }
133 >>
134 @end lilypond
135
136 @item
137 Dominant seventh
138 @tab
139 Major triad, @*minor seventh
140 @tab
141 @code{7}
142 @tab
143 @code{c1:7}
144 @tab
145 @lilypond[line-width=2.1\cm,noragged-right,notime]
146 <<
147   \chords { c1:7 }
148   \chordmode { c1:7 }
149 >>
150 @end lilypond
151
152 @item
153 Major seventh
154 @tab
155 Major triad, @*major seventh
156 @tab
157 @code{maj7} or @code{maj}
158 @tab
159 @code{c1:maj7}
160 @tab
161 @lilypond[line-width=2.1\cm,noragged-right,notime]
162 <<
163   \chords { c1:maj7 }
164   \chordmode { c1:maj7 }
165 >>
166 @end lilypond
167
168 @item
169 Minor seventh
170 @tab
171 Minor triad, @*minor seventh
172 @tab
173 @code{m7}
174 @tab
175 @code{c1:m7}
176 @tab
177 @lilypond[line-width=2.1\cm,noragged-right,notime]
178 <<
179   \chords { c1:m7 }
180   \chordmode { c1:m7 }
181 >>
182 @end lilypond
183
184 @item
185 Diminished seventh
186 @tab
187 Diminished triad, @*diminished seventh
188 @tab
189 @code{dim7}
190 @tab
191 @code{c1:dim7}
192 @tab
193 @lilypond[line-width=2.1\cm,noragged-right,notime]
194 <<
195   \chords { c1:dim7}
196   \chordmode { c1:dim7 }
197 >>
198 @end lilypond
199
200 @item
201 Augmented seventh
202 @tab
203 Augmented triad, @*minor seventh
204 @tab
205 @code{aug7}
206 @tab
207 @code{c1:aug}
208 @tab
209 @lilypond[line-width=2.1\cm,noragged-right,notime]
210 <<
211   \chords { c1:aug7 }
212   \chordmode { c1:aug7 }
213 >>
214 @end lilypond
215
216 @item
217 Half-diminished seventh
218 @tab
219 Diminished triad, @*minor seventh
220 @tab
221 @code{m7.5-}
222 @tab
223 @code{c1:m7.5-}
224 @tab
225 @lilypond[line-width=2.1\cm,noragged-right,notime]
226 <<
227   \chords { c1:m7.5- }
228   \chordmode { c1:m7.5- }
229 >>
230 @end lilypond
231
232 @item
233 Minor-major seventh
234 @tab
235 Minor triad, @*major seventh
236 @tab
237 @code{m7+}
238 @tab
239 @code{m7+}
240 @tab
241 @lilypond[line-width=2.1\cm,noragged-right,notime]
242 <<
243   \chords { c1:m7+ }
244   \chordmode { c1:m7+ }
245 >>
246 @end lilypond
247
248 @item
249 Major sixth
250 @tab
251 Major triad, @*sixth
252 @tab
253 @code{6}
254 @tab
255 @code{c1:6}
256 @tab
257 @lilypond[line-width=2.1\cm,noragged-right,notime]
258 <<
259   \chords { c1:6 }
260   \chordmode { c1:6 }
261 >>
262 @end lilypond
263
264 @item
265 Minor sixth
266 @tab
267 Minor triad, @*sixth
268 @tab
269 @code{m6}
270 @tab
271 @code{c1:m6}
272 @tab
273 @lilypond[line-width=2.1\cm,noragged-right,notime]
274 <<
275   \chords { c1:m6 }
276   \chordmode { c1:m6 }
277 >>
278 @end lilypond
279
280 @item
281 Dominant ninth
282 @tab
283 Dominant seventh, @*major ninth
284 @tab
285 @code{9}
286 @tab
287 @code{c1:9}
288 @tab
289 @lilypond[line-width=2.1\cm,noragged-right,notime]
290 <<
291   \chords { c1:9 }
292   \chordmode { c1:9 }
293 >>
294 @end lilypond
295
296 @item
297 Major ninth
298 @tab
299 Major seventh, @*major ninth
300 @tab
301 @code{maj9}
302 @tab
303 @code{c1:maj9}
304 @tab
305 @lilypond[line-width=2.1\cm,noragged-right,notime]
306 <<
307   \chords { c1:maj9 }
308   \chordmode { c1:maj9 }
309 >>
310 @end lilypond
311
312 @item
313 Minor ninth
314 @tab
315 Minor seventh, @*major ninth
316 @tab
317 @code{m9}
318 @tab
319 @code{c1:m9}
320 @tab
321 @lilypond[line-width=2.1\cm,noragged-right,notime]
322 <<
323   \chords { c1:m9 }
324   \chordmode { c1:m9 }
325 >>
326 @end lilypond
327
328 @item
329 Dominant eleventh
330 @tab
331 Dominant ninth, @*perfect eleventh
332 @tab
333 @code{11}
334 @tab
335 @code{c1:11}
336 @tab
337 @lilypond[line-width=2.1\cm,noragged-right,notime]
338 <<
339   \chords { c1:11 }
340   \chordmode { c1:11 }
341 >>
342 @end lilypond
343
344 @item
345 Major eleventh
346 @tab
347 Major ninth, @*perfect eleventh
348 @tab
349 @code{maj11}
350 @tab
351 @code{c1:maj11}
352 @tab
353 @lilypond[line-width=2.1\cm,noragged-right,notime]
354 <<
355   \chords { c1:maj11 }
356   \chordmode { c1:maj11 }
357 >>
358 @end lilypond
359
360 @item
361 Minor eleventh
362 @tab
363 Minor ninth, @*perfect eleventh
364 @tab
365 @code{m11}
366 @tab
367 @code{c1:m11}
368 @tab
369 @lilypond[line-width=2.1\cm,noragged-right,notime]
370 <<
371   \chords { c1:m11 }
372   \chordmode { c1:m11 }
373 >>
374 @end lilypond
375
376 @item
377 Dominant thirteenth
378 @tab
379 Dominant ninth, @*major thirteenth
380 @tab
381 @code{13}
382 @tab
383 @code{c1:13}
384 @tab
385 @lilypond[line-width=2.1\cm,noragged-right,notime]
386 <<
387   \chords { c1:13 }
388   \chordmode { c1:13 }
389 >>
390 @end lilypond
391
392 @item
393 Dominant thirteenth
394 @tab
395 Dominant eleventh, @*major thirteenth
396 @tab
397 @code{13.11}
398 @tab
399 @code{c1:13.11}
400 @tab
401 @lilypond[line-width=2.1\cm,noragged-right,notime]
402 <<
403   \chords{ c1:13.11 }
404   \chordmode { c1:13.11 }
405 >>
406 @end lilypond
407
408 @item
409 Major thirteenth
410 @tab
411 Major eleventh, @*major thirteenth
412 @tab
413 @code{maj13.11}
414 @tab
415 @code{c1:maj13.11}
416 @tab
417 @lilypond[line-width=2.1\cm,noragged-right,notime]
418 <<
419   \chords { c1:maj13.11 }
420   \chordmode { c1:maj13.11 }
421 >>
422 @end lilypond
423
424 @item
425 Minor thirteenth
426 @tab
427 Minor eleventh, @*major thirteenth
428 @tab
429 @code{m13.11}
430 @tab
431 @code{c1:m13.11}
432 @tab
433 @lilypond[line-width=2.1\cm,noragged-right,notime]
434 <<
435   \chords { c1:m13.11 }
436   \chordmode { c1:m13.11 }
437 >>
438 @end lilypond
439
440 @item
441 Suspended second
442 @tab
443 Major second, @*perfect fifth
444 @tab
445 @code{sus2}
446 @tab
447 @code{c1:sus2}
448 @tab
449 @lilypond[line-width=2.1\cm,noragged-right,notime]
450 <<
451   \chords { c1:sus2 }
452   \chordmode { c1:sus2 }
453 >>
454 @end lilypond
455
456 @item
457 Suspended fourth
458 @tab
459 Perfect fourth, @*perfect fifth
460 @tab
461 @code{sus4}
462 @tab
463 @code{c1:sus4}
464 @tab
465 @lilypond[line-width=2.1\cm,noragged-right,notime]
466 <<
467   \chords { c1:sus4 }
468   \chordmode { c1:sus4 }
469 >>
470 @end lilypond
471
472 @item
473 Power chord @*(two-voiced)
474 @tab
475 Perfect fifth
476 @tab
477 @code{1.5}
478 @tab
479 @code{\powerChords c1:1.5}
480 @tab
481 @lilypond[line-width=2.1\cm,noragged-right,notime]
482 \chordmode { \powerChords c1:1.5 }
483 @end lilypond
484
485 @item
486 Power chord @*@w{(three-voiced)}
487 @tab
488 Perfect fifth, @*octave
489 @tab
490 @code{1.5.8}
491 @tab
492 @code{\powerChords c1:1.5.8}
493 @tab
494 @lilypond[line-width=2.1\cm,noragged-right,notime]
495   \chordmode { \powerChords c1:1.5.8 }
496 @end lilypond
497
498 @end multitable
499
500 @node Predefined string tunings
501 @appendixsec Predefined string tunings
502
503 The chart below shows the predefined string tunings.
504
505 @lilypondfile{display-predefined-string-tunings.ly}
506
507 @node Predefined fretboard diagrams
508 @appendixsec Predefined fretboard diagrams
509
510 @menu
511 * Diagrams for Guitar::
512 * Diagrams for Ukulele::
513 * Diagrams for Mandolin::
514 @end menu
515
516 @node Diagrams for Guitar
517 @unnumberedsubsec Diagrams for Guitar
518
519 @lilypondfile[line-width=15.5\cm]{display-predefined-fretboards.ly}
520
521 @node Diagrams for Ukulele
522 @unnumberedsubsec Diagrams for Ukulele
523
524 @lilypondfile[line-width=15.5\cm]{display-predefined-ukulele-fretboards.ly}
525
526 @node Diagrams for Mandolin
527 @unnumberedsubsec Diagrams for Mandolin
528
529 @lilypondfile[line-width=15.5\cm]{display-predefined-mandolin-fretboards.ly}
530
531
532 @node Predefined paper sizes
533 @appendixsec Predefined paper sizes
534
535 Paper sizes are defined in @file{scm/paper.scm}
536
537 @noindent
538 @strong{The @qq{ISO 216} A Series}
539 @table @code
540 @item "a10"
541 (26 x 37 mm)
542 @item "a9"
543 (37 x 52 mm)
544 @item "a8"
545 (52 x 74 mm)
546 @item "a7"
547 (74 x 105 mm)
548 @item "a6"
549 (105 x 148 mm)
550 @item "a5"
551 (148 x 210 mm)
552 @item "a4"
553 (210 x 297 mm)
554 @item "a3"
555 (297 x 420 mm)
556 @item "a2"
557 (420 x 594 mm)
558 @item "a1"
559 (594 x 841 mm)
560 @item "a0"
561 (841 x 1189 mm)
562 @end table
563
564 @noindent
565 @strong{The @qq{ISO 216} B Series}
566 @table @code
567 @item "b10"
568 (31 x 44 mm)
569 @item "b9"
570 (44 x 62 mm)
571 @item "b8"
572 (62 x 88 mm)
573 @item "b7"
574 (88 x 125 mm)
575 @item "b6"
576 (125 x 176 mm)
577 @item "b5"
578 (176 x 250 mm)
579 @item "b4"
580 (250 x 353 mm)
581 @item "b3"
582 (353 x 500 mm)
583 @item "b2"
584 (500 x 707 mm)
585 @item "b1"
586 (707 x 1000 mm)
587 @item "b0"
588 (1000 x 1414 mm)
589 @end table
590
591 @noindent
592 @strong{Two extended sizes as defined in @qq{DIN 476}}
593 @table @code
594 @item "4a0"
595 (1682 x 2378 mm)
596 @item "2a0"
597 (1189 x 1682 mm)
598 @end table
599
600 @noindent
601 @strong{@qq{ISO 269} standard C series}
602 @table @code
603 @item "c10"
604 (28 x 40 mm)
605 @item "c9"
606 (40 x 57 mm)
607 @item "c8"
608 (57 x 81 mm)
609 @item "c7"
610 (81 x 114 mm)
611 @item "c6"
612 (114 x 162 mm)
613 @item "c5"
614 (162 x 229 mm)
615 @item "c4"
616 (229 x 324 mm)
617 @item "c3"
618 (324 x 458 mm)
619 @item "c2"
620 (458 x 648 mm)
621 @item "c1"
622 (648 x 917 mm)
623 @item "c0"
624 (917 x 1297 mm)
625 @end table
626
627 @noindent
628 @strong{North American paper sizes}
629 @table @code
630 @item "junior-legal"
631 (8.0 x 5.0 in)
632 @item "legal"
633 (8.5 x 14.0 in)
634 @item "ledger"
635 (17.0 x 11.0 in)
636 @item "letter"
637 (8.5 x 11.0 in)
638 @item "tabloid"
639 (11.0 x 17.0 in)
640 @item "11x17"
641 (11.0 x 17.0 in)
642 @item "17x11"
643 (17.0 x 11.0 in)
644 @end table
645
646 @noindent
647 @strong{Government-letter by IEEE Printer Working Group, for children's
648 writing}
649 @table @code
650 @item "government-letter"
651 (8 x 10.5 in)
652 @item "government-legal"
653 (8.5 x 13.0 in)
654 @item "philippine-legal"
655 (8.5 x 13.0 in)
656 @end table
657
658 @noindent
659 @strong{ANSI sizes}
660 @table @code
661 @item "ansi a"
662 (8.5 x 11.0 in)
663 @item "ansi b"
664 (17.0 x 11.0 in)
665 @item "ansi c"
666 (17.0 x 22.0 in)
667 @item "ansi d"
668 (22.0 x 34.0 in)
669 @item "ansi e"
670 (34.0 x 44.0 in)
671 @item "engineering f"
672 (28.0 x 40.0 in)
673 @end table
674
675 @noindent
676 @strong{North American Architectural sizes}
677 @table @code
678 @item "arch a"
679 (9.0 x 12.0 in)
680 @item "arch b"
681 (12.0 x 18.0 in)
682 @item "arch c"
683 (18.0 x 24.0 in)
684 @item "arch d"
685 (24.0 x 36.0 in)
686 @item "arch e"
687 (36.0 x 48.0 in)
688 @item "arch e1"
689 (30.0 x 42.0 in)
690 @end table
691
692 @noindent
693 @strong{Antique sizes still used in the United Kingdom}
694 @table @code
695 @item "statement"
696 (5.5 x 8.5 in)
697 @item "half letter"
698 (5.5 x 8.5 in)
699 @item "quarto"
700 (8.0 x 10.0 in)
701 @item "octavo"
702 (6.75 x 10.5 in)
703 @item "executive"
704 (7.25 x 10.5 in)
705 @item "monarch"
706 (7.25 x 10.5 in)
707 @item "foolscap"
708 (8.27 x 13.0 in)
709 @item "folio"
710 (8.27 x 13.0 in)
711 @item "super-b"
712 (13.0 x 19.0 in)
713 @item "post"
714 (15.5 x 19.5 in)
715 @item "crown"
716 (15.0 x 20.0 in)
717 @item "large post"
718 (16.5 x 21.0 in)
719 @item "demy"
720 (17.5 x 22.5 in)
721 @item "medium"
722 (18.0 x 23.0 in)
723 @item "broadsheet"
724 (18.0 x 24.0 in)
725 @item "royal"
726 (20.0 x 25.0 in)
727 @item "elephant"
728 (23.0 x 28.0 in)
729 @item "double demy"
730 (22.5 x 35.0 in)
731 @item "quad demy"
732 (35.0 x 45.0 in)
733 @item "atlas"
734 (26.0 x 34.0 in)
735 @item "imperial"
736 (22.0 x 30.0 in)
737 @item "antiquarian"
738 (31.0 x 53.0 in)
739 @end table
740
741 @noindent
742 @strong{PA4 based sizes}
743 @table @code
744 @item "pa0"
745 (840 x 1120 mm)
746 @item "pa1"
747 (560 x 840 mm)
748 @item "pa2"
749 (420 x 560 mm)
750 @item "pa3"
751 (280 x 420 mm)
752 @item "pa4"
753 (210 x 280 mm)
754 @item "pa5"
755 (140 x 210 mm)
756 @item "pa6"
757 (105 x 140 mm)
758 @item "pa7"
759 (70 x 105 mm)
760 @item "pa8"
761 (52 x 70 mm)
762 @item "pa9"
763 (35 x 52 mm)
764 @item "pa10"
765 (26 x 35 mm)
766 @end table
767
768 @noindent
769 @strong{Used in Southeast Asia and Australia}
770 @table @code
771 @item "f4"
772 (210 x 330 mm)
773 @end table
774
775 @noindent
776 @strong{Used for very small @code{@@lilypond} examples in the
777 documentation based on a8 landscape.}
778 @table @code
779 @item "a8landscape"
780 (74 x 52 mm)
781 @end table
782
783
784 @node MIDI instruments
785 @appendixsec MIDI instruments
786
787 The following is a list of names that can be used for the
788 @code{midiInstrument} property.  The order of the instruments
789 below, starting in the left-hand column moving down, corresponds
790 to the General MIDI Standard's 128 Program Numbers.
791
792 @example
793 acoustic grand            contrabass           lead 7 (fifths)
794 bright acoustic           tremolo strings      lead 8 (bass+lead)
795 electric grand            pizzicato strings    pad 1 (new age)
796 honky-tonk                orchestral harp      pad 2 (warm)
797 electric piano 1          timpani              pad 3 (polysynth)
798 electric piano 2          string ensemble 1    pad 4 (choir)
799 harpsichord               string ensemble 2    pad 5 (bowed)
800 clav                      synthstrings 1       pad 6 (metallic)
801 celesta                   synthstrings 2       pad 7 (halo)
802 glockenspiel              choir aahs           pad 8 (sweep)
803 music box                 voice oohs           fx 1 (rain)
804 vibraphone                synth voice          fx 2 (soundtrack)
805 marimba                   orchestra hit        fx 3 (crystal)
806 xylophone                 trumpet              fx 4 (atmosphere)
807 tubular bells             trombone             fx 5 (brightness)
808 dulcimer                  tuba                 fx 6 (goblins)
809 drawbar organ             muted trumpet        fx 7 (echoes)
810 percussive organ          french horn          fx 8 (sci-fi)
811 rock organ                brass section        sitar
812 church organ              synthbrass 1         banjo
813 reed organ                synthbrass 2         shamisen
814 accordion                 soprano sax          koto
815 harmonica                 alto sax             kalimba
816 concertina                tenor sax            bagpipe
817 acoustic guitar (nylon)   baritone sax         fiddle
818 acoustic guitar (steel)   oboe                 shanai
819 electric guitar (jazz)    english horn         tinkle bell
820 electric guitar (clean)   bassoon              agogo
821 electric guitar (muted)   clarinet             steel drums
822 overdriven guitar         piccolo              woodblock
823 distorted guitar          flute                taiko drum
824 guitar harmonics          recorder             melodic tom
825 acoustic bass             pan flute            synth drum
826 electric bass (finger)    blown bottle         reverse cymbal
827 electric bass (pick)      shakuhachi           guitar fret noise
828 fretless bass             whistle              breath noise
829 slap bass 1               ocarina              seashore
830 slap bass 2               lead 1 (square)      bird tweet
831 synth bass 1              lead 2 (sawtooth)    telephone ring
832 synth bass 2              lead 3 (calliope)    helicopter
833 violin                    lead 4 (chiff)       applause
834 viola                     lead 5 (charang)     gunshot
835 cello                     lead 6 (voice)
836 @end example
837
838
839 @node List of colors
840 @appendixsec List of colors
841
842 @subsubheading Normal colors
843
844 Usage syntax is detailed in @ref{Coloring objects}.
845
846 @cindex List of colors
847 @cindex Colors, list of
848
849 @verbatim
850 black       white          red         green
851 blue        cyan           magenta     yellow
852 grey        darkred        darkgreen   darkblue
853 darkcyan    darkmagenta    darkyellow
854 @end verbatim
855
856
857 @subsubheading X color names
858
859 X color names come several variants:
860
861 Any name that is spelled as a single word with capitalization
862 (e.g. @q{LightSlateBlue}) can also be spelled as space separated
863 words without capitalization (e.g. @q{light slate blue}).
864
865 The word @q{grey} can always be spelled @q{gray} (e.g. @q{DarkSlateGray}).
866
867 Some names can take a numerical suffix (e.g. @q{LightSalmon4}).
868
869
870 @subsubheading Color Names without a numerical suffix:
871
872 @verbatim
873 snow            GhostWhite      WhiteSmoke      gainsboro       FloralWhite
874 OldLace         linen           AntiqueWhite    PapayaWhip      BlanchedAlmond
875 bisque          PeachPuff       NavajoWhite     moccasin        cornsilk
876 ivory           LemonChiffon    seashell        honeydew        MintCream
877 azure           AliceBlue       lavender        LavenderBlush   MistyRose
878 white           black           DarkSlateGrey   DimGrey         SlateGrey
879 LightSlateGrey  grey            LightGrey       MidnightBlue    navy
880 NavyBlue        CornflowerBlue  DarkSlateBlue   SlateBlue       MediumSlateBlue
881 LightSlateBlue  MediumBlue      RoyalBlue       blue            DodgerBlue
882 DeepSkyBlue     SkyBlue         LightSkyBlue    SteelBlue       LightSteelBlue
883 LightBlue       PowderBlue      PaleTurquoise   DarkTurquoise   MediumTurquoise
884 turquoise       cyan            LightCyan       CadetBlue       MediumAquamarine
885 aquamarine      DarkGreen       DarkOliveGreen  DarkSeaGreen    SeaGreen
886 MediumSeaGreen  LightSeaGreen   PaleGreen       SpringGreen     LawnGreen
887 green           chartreuse      MediumSpringGreen       GreenYellow     LimeGreen
888 YellowGreen     ForestGreen     OliveDrab       DarkKhaki       khaki
889 PaleGoldenrod   LightGoldenrodYellow    LightYellow     yellow  gold
890 LightGoldenrod  goldenrod       DarkGoldenrod   RosyBrown       IndianRed
891 SaddleBrown     sienna          peru            burlywood       beige
892 wheat           SandyBrown      tan             chocolate       firebrick
893 brown           DarkSalmon      salmon          LightSalmon     orange
894 DarkOrange      coral           LightCoral      tomato          OrangeRed
895 red             HotPink         DeepPink        pink            LightPink
896 PaleVioletRed   maroon          MediumVioletRed VioletRed       magenta
897 violet          plum            orchid          MediumOrchid    DarkOrchid
898 DarkViolet      BlueViolet      purple          MediumPurple    thistle
899 DarkGrey        DarkBlue        DarkCyan        DarkMagenta     DarkRed
900 LightGreen
901 @end verbatim
902
903
904 @subsubheading Color names with a numerical suffix
905
906 In the following names the suffix N can be a number in the range 1-4:
907
908 @verbatim
909 snowN           seashellN       AntiqueWhiteN   bisqueN         PeachPuffN
910 NavajoWhiteN    LemonChiffonN   cornsilkN       ivoryN          honeydewN
911 LavenderBlushN  MistyRoseN      azureN          SlateBlueN      RoyalBlueN
912 blueN           DodgerBlueN     SteelBlueN      DeepSkyBlueN    SkyBlueN
913 LightSkyBlueN   LightSteelBlueN LightBlueN      LightCyanN      PaleTurquoiseN
914 CadetBlueN      turquoiseN      cyanN           aquamarineN     DarkSeaGreenN
915 SeaGreenN       PaleGreenN      SpringGreenN    greenN          chartreuseN
916 OliveDrabN      DarkOliveGreenN khakiN          LightGoldenrodN LightYellowN
917 yellowN         goldN           goldenrodN      DarkGoldenrodN  RosyBrownN
918 IndianRedN      siennaN         burlywoodN      wheatN          tanN
919 chocolateN      firebrickN      brownN          salmonN         LightSalmonN
920 orangeN         DarkOrangeN     coralN          tomatoN         OrangeRedN
921 redN            DeepPinkN       HotPinkN        pinkN           LightPinkN
922 PaleVioletRedN  maroonN         VioletRedN      magentaN        orchidN
923 plumN           MediumOrchidN   DarkOrchidN     purpleN         MediumPurpleN
924 thistleN
925 @end verbatim
926
927
928 @subsubheading Grey Scale
929
930 A grey scale can be obtained using:
931
932 @example
933 greyN
934 @end example
935
936 @noindent
937 Where N is in the range 0-100.
938
939
940 @node The Feta font
941 @appendixsec The Feta font
942
943 @cindex Feta font
944 @cindex Font, Feta
945
946 The following symbols are available in the Emmentaler font and may be
947 accessed directly using text markup with the name of the glyph
948 as shown in the tables below,
949 such as @code{g^\markup @{\musicglyph #"scripts.segno" @}} or
950 @code{\markup @{\musicglyph #"five"@}}.  For more information,
951 see @ref{Formatting text}.
952
953
954 @menu
955 * Clef glyphs::
956 * Time Signature glyphs::
957 * Number glyphs::
958 * Accidental glyphs::
959 * Default Notehead glyphs::
960 * Special Notehead glyphs::
961 * Shape-note Notehead glyphs::
962 * Rest glyphs::
963 * Flag glyphs::
964 * Dot glyphs::
965 * Dynamic glyphs::
966 * Script glyphs::
967 * Arrowhead glyphs::
968 * Bracket-tip glyphs::
969 * Pedal glyphs::
970 * Accordion glyphs::
971 * Tie glyphs::
972 * Vaticana glyphs::
973 * Medicaea glyphs::
974 * Hufnagel glyphs::
975 * Mensural glyphs::
976 * Neomensural glyphs::
977 * Petrucci glyphs::
978 * Solesmes glyphs::
979 * Kievan Notation glyphs::
980 @end menu
981
982
983 @node Clef glyphs
984 @unnumberedsubsec Clef glyphs
985
986 @lilypond[quote]
987 \include "font-table.ly"
988 \markuplist \override-lines #'(word-space . 4)
989             \doc-chars #clefs
990 @end lilypond
991
992
993 @node Time Signature glyphs
994 @unnumberedsubsec Time Signature glyphs
995
996 @lilypond[quote]
997 \include "font-table.ly"
998 \markuplist \override-lines #'(word-space . 4)
999             \doc-chars #timesig
1000 @end lilypond
1001
1002
1003 @node Number glyphs
1004 @unnumberedsubsec Number glyphs
1005
1006 @lilypond[quote]
1007 \include "font-table.ly"
1008 \markuplist \override-lines #'(word-space . 4)
1009             \doc-chars #numbers
1010 @end lilypond
1011
1012
1013 @node Accidental glyphs
1014 @unnumberedsubsec Accidental glyphs
1015
1016 @lilypond[quote]
1017 \include "font-table.ly"
1018 \markuplist \override-lines #'(word-space . 4)
1019             \doc-chars #accidentals
1020 @end lilypond
1021
1022
1023 @node Default Notehead glyphs
1024 @unnumberedsubsec Default Notehead glyphs
1025
1026 @lilypond[quote]
1027 \include "font-table.ly"
1028 \markuplist \override-lines #'(word-space . 4)
1029             \doc-chars #default-noteheads
1030 @end lilypond
1031
1032
1033 @node Special Notehead glyphs
1034 @unnumberedsubsec Special Notehead glyphs
1035
1036 @lilypond[quote]
1037 \include "font-table.ly"
1038 \markuplist \override-lines #'(word-space . 4)
1039             \doc-chars #special-noteheads
1040 @end lilypond
1041
1042
1043 @node Shape-note Notehead glyphs
1044 @unnumberedsubsec Shape-note Notehead glyphs
1045
1046 @lilypond[quote]
1047 \include "font-table.ly"
1048 \markuplist \override-lines #'(word-space . 4)
1049             \doc-chars #shape-note-noteheads
1050 @end lilypond
1051
1052
1053 @node Rest glyphs
1054 @unnumberedsubsec Rest glyphs
1055
1056 @lilypond[quote]
1057 \include "font-table.ly"
1058 \markuplist \override-lines #'(word-space . 4)
1059             \doc-chars #rests
1060 @end lilypond
1061
1062
1063 @node Flag glyphs
1064 @unnumberedsubsec Flag glyphs
1065
1066 @lilypond[quote]
1067 \include "font-table.ly"
1068 \markuplist \override-lines #'(word-space . 4)
1069             \doc-chars #flags
1070 @end lilypond
1071
1072
1073 @node Dot glyphs
1074 @unnumberedsubsec Dot glyphs
1075
1076 @lilypond[quote]
1077 \include "font-table.ly"
1078 \markuplist \override-lines #'(word-space . 4)
1079             \doc-chars #dots
1080 @end lilypond
1081
1082
1083 @node Dynamic glyphs
1084 @unnumberedsubsec Dynamic glyphs
1085
1086 @lilypond[quote]
1087 \include "font-table.ly"
1088 \markuplist \override-lines #'(word-space . 4)
1089             \doc-chars #dynamics
1090 @end lilypond
1091
1092
1093 @node Script glyphs
1094 @unnumberedsubsec Script glyphs
1095
1096 @lilypond[quote]
1097 \include "font-table.ly"
1098 \markuplist \override-lines #'(word-space . 4)
1099             \doc-chars #scripts
1100 @end lilypond
1101
1102
1103 @node Arrowhead glyphs
1104 @unnumberedsubsec Arrowhead glyphs
1105
1106 @lilypond[quote]
1107 \include "font-table.ly"
1108 \markuplist \override-lines #'(word-space . 4)
1109             \doc-chars #arrowheads
1110 @end lilypond
1111
1112
1113 @node Bracket-tip glyphs
1114 @unnumberedsubsec Bracket-tip glyphs
1115
1116 @lilypond[quote]
1117 \include "font-table.ly"
1118 \markuplist \override-lines #'(word-space . 4)
1119             \doc-chars #brackettips
1120 @end lilypond
1121
1122
1123 @node Pedal glyphs
1124 @unnumberedsubsec Pedal glyphs
1125
1126 @lilypond[quote]
1127 \include "font-table.ly"
1128 \markuplist \override-lines #'(word-space . 4)
1129             \doc-chars #pedal
1130 @end lilypond
1131
1132
1133 @node Accordion glyphs
1134 @unnumberedsubsec Accordion glyphs
1135
1136 @lilypond[quote]
1137 \include "font-table.ly"
1138 \markuplist \override-lines #'(word-space . 4)
1139             \doc-chars #accordion
1140 @end lilypond
1141
1142
1143 @node Tie glyphs
1144 @unnumberedsubsec Tie glyphs
1145
1146 @lilypond[quote]
1147 \include "font-table.ly"
1148 \markuplist \override-lines #'(word-space . 4)
1149             \doc-chars #ties
1150 @end lilypond
1151
1152
1153 @node Vaticana glyphs
1154 @unnumberedsubsec Vaticana glyphs
1155
1156 @lilypond[quote]
1157 \include "font-table.ly"
1158 \markuplist \override-lines #'(word-space . 4)
1159             \doc-chars #vaticana
1160 @end lilypond
1161
1162
1163 @node Medicaea glyphs
1164 @unnumberedsubsec Medicaea glyphs
1165
1166 @lilypond[quote]
1167 \include "font-table.ly"
1168 \markuplist \override-lines #'(word-space . 4)
1169             \doc-chars #medicaea
1170 @end lilypond
1171
1172
1173 @node Hufnagel glyphs
1174 @unnumberedsubsec Hufnagel glyphs
1175
1176 @lilypond[quote]
1177 \include "font-table.ly"
1178 \markuplist \override-lines #'(word-space . 4)
1179             \doc-chars #hufnagel
1180 @end lilypond
1181
1182
1183 @node Mensural glyphs
1184 @unnumberedsubsec Mensural glyphs
1185
1186 @lilypond[quote]
1187 \include "font-table.ly"
1188 \markuplist \override-lines #'(word-space . 4)
1189             \doc-chars #mensural
1190 @end lilypond
1191
1192
1193 @node Neomensural glyphs
1194 @unnumberedsubsec Neomensural glyphs
1195
1196 @lilypond[quote]
1197 \include "font-table.ly"
1198 \markuplist \override-lines #'(word-space . 4)
1199             \doc-chars #neomensural
1200 @end lilypond
1201
1202
1203 @node Petrucci glyphs
1204 @unnumberedsubsec Petrucci glyphs
1205
1206 @lilypond[quote]
1207 \include "font-table.ly"
1208 \markuplist \override-lines #'(word-space . 4)
1209             \doc-chars #petrucci
1210 @end lilypond
1211
1212
1213 @node Solesmes glyphs
1214 @unnumberedsubsec Solesmes glyphs
1215
1216 @lilypond[quote]
1217 \include "font-table.ly"
1218 \markuplist \override-lines #'(word-space . 4)
1219             \doc-chars #solesmes
1220 @end lilypond
1221
1222 @node Kievan Notation glyphs
1223 @unnumberedsubsec Kievan Notation glyphs
1224
1225 @lilypond[quote]
1226 \include "font-table.ly"
1227 \markuplist \override-lines #'(word-space . 4)
1228              \doc-chars #kievan
1229 @end lilypond
1230
1231
1232 @node Note head styles
1233 @appendixsec Note head styles
1234
1235 @cindex note head styles
1236 The following styles may be used for note heads.
1237
1238 @lilypondfile[noindent]{note-head-style.ly}
1239
1240
1241 @node Clef styles
1242 @appendixsec Clef styles
1243
1244 The following table shows all the different clef styles possible
1245 (including where @emph{middle C} sits relative to the clef).
1246
1247 @multitable @columnfractions .30 .2 .30 .2
1248
1249 @headitem
1250 Example
1251 @tab
1252 Output
1253 @tab
1254 Example
1255 @tab
1256 Output
1257
1258
1259 @item
1260 @code{\clef G}
1261 @tab
1262 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1263 \clef G c1
1264 @end lilypond
1265
1266 @tab
1267 @code{\clef "G2"}
1268 @tab
1269 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1270 \clef "G2"
1271 c1
1272 @end lilypond
1273
1274 @item
1275 @code{\clef treble}
1276 @tab
1277 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1278 \clef treble
1279 c1
1280 @end lilypond
1281
1282 @tab
1283 @code{\clef violin}
1284 @tab
1285 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1286 \clef violin
1287 c1
1288 @end lilypond
1289
1290 @item
1291 @code{\clef french}
1292 @tab
1293 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1294 \clef french
1295 c1
1296 @end lilypond
1297
1298 @tab
1299 @code{\clef GG}
1300 @tab
1301 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1302 \clef GG
1303 c1
1304 @end lilypond
1305
1306 @item
1307 @code{\clef tenorG}
1308 @tab
1309 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1310 \clef tenorG
1311 c1
1312 @end lilypond
1313
1314 @tab
1315 @code{\clef soprano}
1316 @tab
1317 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1318 \clef soprano
1319 c1
1320 @end lilypond
1321
1322 @item
1323 @code{\clef mezzosoprano}
1324 @tab
1325 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1326 \clef mezzosoprano
1327 c1
1328 @end lilypond
1329
1330 @tab
1331 @code{\clef C}
1332 @tab
1333 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1334 \clef C
1335 c1
1336 @end lilypond
1337
1338 @item
1339 @code{\clef alto}
1340 @tab
1341 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1342 \clef alto
1343 c1
1344 @end lilypond
1345
1346 @tab
1347 @code{\clef tenor}
1348 @tab
1349 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1350 \clef tenor
1351 c1
1352 @end lilypond
1353
1354 @item
1355 @code{\clef baritone}
1356 @tab
1357 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1358 \clef baritone
1359 c1
1360 @end lilypond
1361
1362 @tab
1363 @code{\clef varC}
1364 @tab
1365 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1366 \clef varC
1367 c1
1368 @end lilypond
1369
1370 @item
1371 @code{\clef altovarC}
1372 @tab
1373 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1374 \clef altovarC
1375 c1
1376 @end lilypond
1377
1378 @tab
1379 @code{\clef tenorvarC}
1380 @tab
1381 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1382 \clef tenorvarC
1383 c1
1384 @end lilypond
1385
1386 @item
1387 @code{\clef baritonevarC}
1388 @tab
1389 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1390 \clef baritonevarC
1391 c1
1392 @end lilypond
1393
1394 @tab
1395 @code{\clef varbaritone}
1396 @tab
1397 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1398 \clef varbaritone
1399 c1
1400 @end lilypond
1401
1402 @item
1403 @code{\clef baritonevarF}
1404 @tab
1405 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1406 \clef baritonevarF
1407 c1
1408 @end lilypond
1409
1410 @tab
1411 @code{\clef F}
1412 @tab
1413 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1414 \clef F
1415 c1
1416 @end lilypond
1417
1418 @item
1419 @code{\clef bass}
1420 @tab
1421 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1422 \clef bass
1423 c1
1424 @end lilypond
1425
1426 @tab
1427 @code{\clef subbass}
1428 @tab
1429 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1430 \clef subbass
1431 c1
1432 @end lilypond
1433
1434 @item
1435 @code{\clef percussion}
1436 @tab
1437 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1438 \clef percussion
1439 c1
1440 @end lilypond
1441
1442 @tab
1443 @c @example does not work as expected within multitables
1444 @code{
1445 \new TabStaff @{ @*
1446 @ @ \clef tab @*
1447 @}
1448 }
1449 @tab
1450 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1451 \new TabStaff {
1452   \clef tab
1453   c1
1454 }
1455 @end lilypond
1456
1457 @item
1458 @c @example does not work as expected within multitables
1459 @code{
1460 \new TabStaff @{ @*
1461 @ @ \clef moderntab @*
1462 @}
1463 }
1464 @tab
1465 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1466 \new TabStaff {
1467   \clef moderntab
1468   c1
1469 }
1470 @end lilypond
1471
1472
1473 @end multitable
1474
1475
1476 @node Text markup commands
1477 @appendixsec Text markup commands
1478
1479 @include markup-commands.tely
1480
1481
1482 @node Text markup list commands
1483 @appendixsec Text markup list commands
1484
1485 The following commands can all be used with @code{\markuplist}:
1486
1487 @include markup-list-commands.tely
1488
1489
1490 @node List of special characters
1491 @appendixsec List of special characters
1492
1493 The following special characters references can be used;
1494 for more details, see @ref{ASCII aliases}.
1495
1496 The HTML syntax is used and most of these references are the same as HTML.
1497 The rest of them are inspired by @LaTeX{}.
1498
1499 The characters are boxed so that you can see their size.
1500 A small padding has been added between the character and the box
1501 for more readability.
1502
1503 @lilypond[quote]
1504 \include "special-characters.ly"
1505 @end lilypond
1506
1507
1508 @node List of articulations
1509 @appendixsec List of articulations
1510
1511
1512 @cindex accent
1513 @cindex accentus
1514 @cindex circulus
1515 @cindex coda
1516 @cindex downbow
1517 @cindex downmordent
1518 @cindex downprall
1519 @cindex espressivo
1520 @cindex fermata
1521 @cindex flageolet
1522 @cindex halfopen
1523 @cindex ictus
1524 @cindex lheel
1525 @cindex lineprall
1526 @cindex longfermata
1527 @cindex ltoe
1528 @cindex marcato
1529 @cindex mordent
1530 @cindex open
1531 @cindex portato
1532 @cindex prall
1533 @cindex pralldown
1534 @cindex prallmordent
1535 @cindex prallprall
1536 @cindex prallup
1537 @cindex reverseturn
1538 @cindex rheel
1539 @cindex rtoe
1540 @cindex segno
1541 @cindex semicirculus
1542 @cindex shortfermata
1543 @cindex signumcongruentiae
1544 @cindex snappizzicato
1545 @cindex staccatissimo
1546 @cindex staccato
1547 @cindex stopped
1548 @cindex tenuto
1549 @cindex thumb
1550 @cindex trill
1551 @cindex turn
1552 @cindex upbow
1553 @cindex upmordent
1554 @cindex upprall
1555 @cindex varcoda
1556 @cindex verylongfermata
1557
1558 The following scripts are available in the Feta font and may be
1559 attached to notes (eg. @samp{c\accent}).
1560
1561 @c Articulations and ornamentations
1562 @c Fingering instructions (for "thumb")
1563 @c Common notation for unfretted strings
1564 @c   Bowing indications
1565 @c   Harmonics
1566 @c   Snap (Bartók) pizzicato
1567 @c Custom percussion staves (for "halfopen" -- not yet funindexed)
1568 @c References for wind instruments (for "open"/"stopped" -- not yet funindexed)
1569
1570
1571 @menu
1572 * Articulation scripts::
1573 * Ornament scripts::
1574 * Fermata scripts::
1575 * Instrument-specific scripts::
1576 * Repeat sign scripts::
1577 * Ancient scripts::
1578 @end menu
1579
1580
1581 @node Articulation scripts
1582 @unnumberedsubsec Articulation scripts
1583
1584 @lilypond[quote]
1585 \include "script-chart.ly"
1586 \new RhythmicStaff { \scriptStaff #articulations }
1587 @end lilypond
1588
1589 @node Ornament scripts
1590 @unnumberedsubsec Ornament scripts
1591
1592 @lilypond[quote]
1593 \include "script-chart.ly"
1594 \new RhythmicStaff { \scriptStaff #ornaments }
1595 @end lilypond
1596
1597 @node Fermata scripts
1598 @unnumberedsubsec Fermata scripts
1599
1600 @lilypond[quote]
1601 \include "script-chart.ly"
1602 \new RhythmicStaff { \scriptStaff #fermatas }
1603 @end lilypond
1604
1605 @node Instrument-specific scripts
1606 @unnumberedsubsec Instrument-specific scripts
1607
1608 @lilypond[quote]
1609 \include "script-chart.ly"
1610 \new RhythmicStaff { \scriptStaff #instrument-specific }
1611 @end lilypond
1612
1613 @node Repeat sign scripts
1614 @unnumberedsubsec Repeat sign scripts
1615
1616 @lilypond[quote]
1617 \include "script-chart.ly"
1618 \new RhythmicStaff { \scriptStaff #repeats }
1619 @end lilypond
1620
1621 @node Ancient scripts
1622 @unnumberedsubsec Ancient scripts
1623
1624 @lilypond[quote]
1625 \include "script-chart.ly"
1626 \include "gregorian.ly"
1627 \new VaticanaStaff { \scriptStaffAncient #ancient }
1628 @end lilypond
1629
1630
1631 @node Percussion notes
1632 @appendixsec Percussion notes
1633
1634 @lilypondfile[quote]{percussion-chart.ly}
1635
1636
1637 @node Technical glossary
1638 @appendixsec Technical glossary
1639
1640 A glossary of the technical terms and concepts used internally in
1641 LilyPond.  These terms may appear in the manuals, on mailing lists
1642 or in the source code.
1643
1644 @menu
1645 * alist::
1646 * callback::
1647 * closure::
1648 * glyph::
1649 * grob::
1650 * immutable::
1651 * interface::
1652 * lexer::
1653 * mutable::
1654 * output-def::
1655 * parser::
1656 * parser variable::
1657 * prob::
1658 * simple closure::
1659 * smob::
1660 * stencil::
1661 @end menu
1662
1663 @node alist
1664 @unnumberedsubsec alist
1665
1666 @cindex alist
1667 @cindex association list
1668
1669 An association list or @strong{alist} for short is a Scheme pair
1670 which associates a value with a key: @w{@code{(key . value)}}.  For
1671 example, in @file{scm/lily.scm}, the alist
1672 @w{@qq{type-p-name-alist}} associates certain type predicates
1673 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
1674 that type-check failures can be reported with a console message that
1675 includes the name of the expected type predicate.
1676
1677 @node callback
1678 @unnumberedsubsec callback
1679
1680 @cindex callback
1681
1682 A @strong{callback} is a routine, function or method whose reference is
1683 passed as an argument in a call to another routine, so allowing
1684 the called routine to invoke it.  The technique enables a lower-
1685 level software layer to call a function defined in a higher
1686 layer.  Callbacks are used extensively in LilyPond to permit
1687 user-level Scheme code to define how many low-level actions are
1688 performed.
1689
1690
1691 @node closure
1692 @unnumberedsubsec closure
1693
1694 @cindex closure
1695 @cindex simple closure
1696
1697 In Scheme, a @strong{closure} is created when a function, usually
1698 a lambda expression, is passed as a variable.  The closure contains
1699 the function's code plus references to the lexical bindings of the
1700 function's free variables (i.e. those variables used in the
1701 expression but defined outside it).  When this function is applied
1702 to different arguments later, the free variable bindings that were
1703 captured in the closure are used to obtain the values of the free
1704 variables to be used in the calculation.  One useful property of
1705 closures is the retention of internal variable values between
1706 invocations, so permitting state to be maintained.
1707
1708 A @strong{simple closure} is a closure whose expression has no free
1709 variables and hence no free variable bindings.
1710
1711 A simple closure is represented in LilyPond by a smob containing
1712 the expression and a method to apply the expression to a passed
1713 list of arguments.
1714
1715
1716 @node glyph
1717 @unnumberedsubsec glyph
1718
1719 @cindex glyph
1720 @cindex font
1721 @cindex typeface
1722
1723 A @strong{glyph} is a particular graphical representation of a typographic
1724 character, or a combination of two characters formating a ligature.
1725 A set of glyphs with a single style and shape comprise a font, and
1726 a set of fonts covering several styles and sizes comprise a typeface.
1727
1728 @seealso
1729 Notation Reference:
1730 @ref{Fonts},
1731 @ref{Special characters}.
1732
1733
1734 @node grob
1735 @unnumberedsubsec grob
1736
1737 @cindex grob
1738 @cindex layout objects
1739 @cindex graphical objects
1740
1741 LilyPond objects which represent items of notation in the printed
1742 output such as note heads, stems, slurs, ties, fingering, clefs,
1743 etc are called @q{Layout objects}, often known as @q{GRaphical
1744 OBjects}, or @strong{grobs} for short.  They are represented by
1745 instances of the @code{Grob} class.
1746
1747 @seealso
1748 Learning Manual:
1749 @rlearning{Objects and interfaces},
1750 @rlearning{Naming conventions of objects and properties},
1751 @rlearning{Properties of layout objects}.
1752
1753 Internals Reference:
1754 @rinternals{grob-interface},
1755 @rinternals{All layout objects}.
1756
1757
1758 @node immutable
1759 @unnumberedsubsec immutable
1760
1761 @cindex immutable objects
1762 @cindex immutable properties
1763 @cindex shared properties
1764
1765 An @strong{immutable} object is one whose state cannot be modified
1766 after creation, in contrast to a mutable object, which can be
1767 modified after creation.
1768
1769 In LilyPond, immutable or shared properties define the default
1770 style and behavior of grobs.  They are shared between many objects.
1771 In apparent contradiction to the name, they can be changed using
1772 @code{\override} and @code{\revert}.
1773
1774 @seealso
1775 Notation Reference:
1776 @ref{mutable}.
1777
1778
1779 @node interface
1780 @unnumberedsubsec interface
1781
1782 @cindex interface
1783 @cindex grob-interface
1784 @cindex graphical object interfaces
1785
1786 Actions and properties which are common to a number of grobs are
1787 grouped together in an object called a @code{grob-interface}, or
1788 just @q{interface} for short.
1789
1790 @seealso
1791 Learning Manual:
1792 @rlearning{Objects and interfaces},
1793 @rlearning{Naming conventions of objects and properties},
1794 @rlearning{Properties found in interfaces}.
1795
1796 Notation Reference:
1797 @ref{Layout interfaces}.
1798
1799 Internals Reference:
1800 @rinternals{Graphical Object Interfaces}.
1801
1802
1803 @node lexer
1804 @unnumberedsubsec lexer
1805
1806 @cindex lexer
1807 @cindex Flex
1808
1809 A @strong{lexer} is a program which converts a sequence of
1810 characters into a sequence of tokens, a process called lexical
1811 analysis.  The LilyPond lexer converts the stream obtained from an
1812 input @file{.ly} file into a tokenized stream more suited to the
1813 next stage of processing - parsing, for which see @ref{parser}.
1814 The LilyPond lexer is built with Flex from the lexer file
1815 @file{lily/lexer.ll} which contains the lexical rules.  This file
1816 is part of the source code and is not included in the LilyPond
1817 binary installation.
1818
1819
1820 @node mutable
1821 @unnumberedsubsec mutable
1822
1823 @cindex mutable objects
1824 @cindex mutable properties
1825
1826 A @strong{mutable} object is one whose state can be modified after
1827 creation, in contrast to an immutable object, whose state is fixed
1828 at the time of creation.
1829
1830 In LilyPond, mutable properties contain values that are specific to
1831 one grob.  Typically, lists of other objects or results from
1832 computations are stored in mutable properties.
1833
1834 @seealso
1835 Notation Reference:
1836 @ref{immutable}.
1837
1838
1839 @node output-def
1840 @unnumberedsubsec output-def
1841
1842 @cindex output-def
1843
1844 An instance of the @code{Output-def} class contains the methods and
1845 data structures associated with an output block.  Instances are
1846 created for midi, layout and paper blocks.
1847
1848
1849 @node parser
1850 @unnumberedsubsec parser
1851
1852 @cindex parser
1853 @cindex Bison
1854 @cindex LilyPond grammar
1855 @cindex grammar for LilyPond
1856 @cindex BNF
1857
1858 A @strong{parser} analyzes the sequence of tokens produced by a
1859 lexer to determine its grammatical structure, grouping the tokens
1860 progressively into larger groupings according to the rules of the
1861 grammar.  If the sequence of tokens is valid the end product is a
1862 tree of tokens whose root is the grammar's start symbol.  If this
1863 cannot be achieved the file is invalid and an appropriate error
1864 message is produced.  The syntactic groupings and the rules for
1865 constructing the groupings from their parts for the LilyPond syntax
1866 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1867 (BNF) in @rcontrib{LilyPond grammar}.  This file is used to build the
1868 parser during the program build by the parser generator, Bison.  It is
1869 part of the source code and is not included in the LilyPond binary
1870 installation.
1871
1872
1873 @node parser variable
1874 @unnumberedsubsec parser variable
1875
1876 @cindex parser variable
1877 @cindex Scheme variable
1878 @cindex global variable
1879 @cindex afterGraceFraction
1880 @cindex musicQuotes
1881 @cindex mode
1882 @cindex output-count
1883 @cindex output-suffix
1884 @cindex partCombineListener
1885 @cindex pitchnames
1886 @cindex toplevel-bookparts
1887 @cindex toplevel-scores
1888 @cindex showLastLength
1889 @cindex showFirstLength
1890
1891 These are variables defined directly in Scheme.  Their direct
1892 use by users is strongly discouraged, because their scoping
1893 semantics can be confusing.
1894
1895 When the value of such a variable is changed in a @file{.ly} file,
1896 the change is global, and unless explicitly reverted, the new value
1897 will persist to the end of the file, affecting subsequent
1898 @code{\score} blocks as well as external files added with the
1899 @code{\include} command.  This can lead to unintended consequences
1900 and in complex typesetting projects the consequent errors can be
1901 difficult to track down.
1902
1903 LilyPond uses the following parser variables:
1904
1905 @itemize
1906 @item afterGraceFraction
1907 @item musicQuotes
1908 @item mode
1909 @item output-count
1910 @item output-suffix
1911 @item partCombineListener
1912 @item pitchnames
1913 @item toplevel-bookparts
1914 @item toplevel-scores
1915 @item showLastLength
1916 @item showFirstLength
1917 @end itemize
1918
1919
1920 @node prob
1921 @unnumberedsubsec prob
1922
1923 @cindex prob
1924 @cindex property object
1925
1926 PRoperty OBjects, or @strong{probs} for short, are instances of
1927 the @code{Prob} class, a simple base class for objects which have
1928 mutable and immutable property alists and the methods to manipulate
1929 them.  The @code{Music} and @code{Stream_event} classes derive from
1930 @code{Prob}.  Instances of the @code{Prob} class are also created
1931 to hold the formatted content of system grobs and titling blocks
1932 during page layout.
1933
1934
1935 @node simple closure
1936 @unnumberedsubsec simple closure
1937
1938 See @ref{closure}.
1939
1940
1941 @node smob
1942 @unnumberedsubsec smob
1943
1944 @cindex smob
1945 @cindex Scheme object
1946
1947 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1948 by Guile to export C and C++ objects to Scheme code.  In LilyPond,
1949 smobs are created from C++ objects through macros.  There are two
1950 types of smob objects: simple smobs, intended for simple immutable
1951 objects like numbers, and complex smobs, used for objects with
1952 identities.  If you have access to the LilyPond sources, more
1953 information can be found in @file{lily/includes/smob.hh}.
1954
1955 @node stencil
1956 @unnumberedsubsec stencil
1957
1958 @cindex stencil
1959
1960 An instance of the @strong{stencil} class holds the information
1961 required to print a typographical object.  It is a simple smob
1962 containing a confining box, which defines the vertical and
1963 horizontal extents of the object, and a Scheme expression which
1964 will print the object when evaluated.  Stencils may be combined
1965 to form more complex stencils defined by a tree of Scheme
1966 expressions formed from the Scheme expressions of the component
1967 stencils.
1968
1969 The @code{stencil} property, which connects a grob to its stencil,
1970 is defined in the @code{grob-interface} interface.
1971
1972 @seealso
1973 Internals Reference:
1974 @rinternals{grob-interface}.
1975
1976
1977 @node All context properties
1978 @appendixsec All context properties
1979
1980 @include context-properties.tely
1981
1982
1983 @node Layout properties
1984 @appendixsec Layout properties
1985
1986 @include layout-properties.tely
1987
1988
1989 @node Available music functions
1990 @appendixsec Available music functions
1991
1992 @include identifiers.tely
1993
1994 @node Context modification identifiers
1995 @appendixsec Context modification identifiers
1996
1997 The following commands are defined for use as context modifications
1998 within a @code{\layout} or @code{\with} block.
1999
2000 @include context-mod-identifiers.tely
2001
2002 @node Predefined type predicates
2003 @appendixsec Predefined type predicates
2004
2005 @include type-predicates.tely
2006
2007
2008 @node Scheme functions
2009 @appendixsec Scheme functions
2010
2011 @include scheme-functions.tely
2012