]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/notation-appendices.itely
bf8ac4efd7500c1f306a743859f21fa76ee86b9b
[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 @item
1250 @b{Example}
1251 @tab
1252 @b{Output}
1253 @tab
1254 @b{Example}
1255 @tab
1256 @b{Output}
1257
1258
1259 @item
1260 @code{\clef G}
1261 @tab
1262 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1263 {
1264   \clef G
1265   { c1 }
1266 }
1267 @end lilypond
1268 @tab
1269 @code{\clef treble}
1270 @tab
1271 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1272 {
1273   \clef treble
1274   { c1 }
1275 }
1276 @end lilypond
1277
1278 @item
1279 @code{\clef violin}
1280 @tab
1281 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1282 {
1283   \clef violin
1284   { c1 }
1285 }
1286 @end lilypond
1287 @tab
1288 @code{\clef french}
1289 @tab
1290 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1291 {
1292   \clef french
1293   { c1 }
1294 }
1295 @end lilypond
1296
1297 @item
1298 @code{\clef GG}
1299 @tab
1300 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1301 {
1302   \clef GG
1303   { c1 }
1304 }
1305 @end lilypond
1306
1307 @tab
1308 @code{\clef tenorG}
1309 @tab
1310 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1311 {
1312   \clef tenorG
1313   { c1 }
1314 }
1315 @end lilypond
1316
1317 @item
1318 @code{\clef soprano}
1319 @tab
1320 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1321 {
1322   \clef soprano
1323   { c1 }
1324 }
1325 @end lilypond
1326
1327 @tab
1328 @code{\clef mezzosoprano}
1329 @tab
1330 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1331 {
1332   \clef mezzosoprano
1333   { c1 }
1334 }
1335 @end lilypond
1336
1337 @item
1338 @code{\clef C}
1339 @tab
1340 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1341 {
1342   \clef C
1343   { c1 }
1344 }
1345 @end lilypond
1346
1347 @tab
1348 @code{\clef alto}
1349 @tab
1350 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1351 {
1352   \clef alto
1353   { c1 }
1354 }
1355 @end lilypond
1356
1357 @item
1358 @code{\clef tenor}
1359 @tab
1360 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1361 {
1362   \clef tenor
1363   { c1 }
1364 }
1365 @end lilypond
1366
1367 @tab
1368 @code{\clef baritone}
1369 @tab
1370 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1371 {
1372   \clef baritone
1373   { c1 }
1374 }
1375 @end lilypond
1376
1377 @item
1378 @code{\clef varC}
1379 @tab
1380 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1381 {
1382   \clef varC
1383   { c1 }
1384 }
1385 @end lilypond
1386
1387 @tab
1388 @code{\clef altovarC}
1389 @tab
1390 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1391 {
1392   \clef altovarC
1393   { c1 }
1394 }
1395 @end lilypond
1396
1397 @item
1398 @code{\clef tenorvarC}
1399 @tab
1400 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1401 {
1402   \clef tenorvarC
1403   { c1 }
1404 }
1405 @end lilypond
1406
1407 @tab
1408 @code{\clef baritonevarC}
1409 @tab
1410 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1411 {
1412   \clef baritonevarC
1413   { c1 }
1414 }
1415 @end lilypond
1416
1417 @item
1418 @code{\clef varbaritone}
1419 @tab
1420 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1421 {
1422   \clef varbaritone
1423   { c1 }
1424 }
1425 @end lilypond
1426
1427 @tab
1428 @code{\clef baritonevarF}
1429 @tab
1430 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1431 {
1432   \clef baritonevarF
1433   { c1 }
1434 }
1435 @end lilypond
1436
1437 @item
1438 @code{\clef F}
1439 @tab
1440 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1441 {
1442   \clef F
1443   { c1 }
1444 }
1445 @end lilypond
1446
1447 @tab
1448 @code{\clef bass}
1449 @tab
1450 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1451 {
1452   \clef bass
1453   { c1 }
1454 }
1455 @end lilypond
1456
1457 @item
1458 @code{\clef subbass}
1459 @tab
1460 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1461 {
1462   \clef subbass
1463   { c1 }
1464 }
1465 @end lilypond
1466
1467 @tab
1468 @code{\clef percussion}
1469 @tab
1470 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1471 {
1472   \clef percussion
1473   { c1 }
1474 }
1475 @end lilypond
1476
1477 @item
1478 @code{\clef tab}
1479 @tab
1480 @lilypond[line-width=3\cm,notime,ragged-right,relative=1]
1481 {
1482   \clef tab
1483   { c1 }
1484 }
1485 @end lilypond
1486
1487
1488 @end multitable
1489
1490
1491 @node Text markup commands
1492 @appendixsec Text markup commands
1493
1494 @include markup-commands.tely
1495
1496
1497 @node Text markup list commands
1498 @appendixsec Text markup list commands
1499
1500 The following commands can all be used with @code{\markuplist}:
1501
1502 @include markup-list-commands.tely
1503
1504
1505 @node List of special characters
1506 @appendixsec List of special characters
1507
1508 The following special characters references can be used;
1509 for more details, see @ref{ASCII aliases}.
1510
1511 The HTML syntax is used and most of these references are the same as HTML.
1512 The rest of them are inspired by @LaTeX{}.
1513
1514 The characters are boxed so that you can see their size.
1515 A small padding has been added between the character and the box
1516 for more readability.
1517
1518 @lilypond[quote]
1519 \include "special-characters.ly"
1520 @end lilypond
1521
1522
1523 @node List of articulations
1524 @appendixsec List of articulations
1525
1526
1527 @cindex accent
1528 @cindex accentus
1529 @cindex circulus
1530 @cindex coda
1531 @cindex downbow
1532 @cindex downmordent
1533 @cindex downprall
1534 @cindex espressivo
1535 @cindex fermata
1536 @cindex flageolet
1537 @cindex halfopen
1538 @cindex ictus
1539 @cindex lheel
1540 @cindex lineprall
1541 @cindex longfermata
1542 @cindex ltoe
1543 @cindex marcato
1544 @cindex mordent
1545 @cindex open
1546 @cindex portato
1547 @cindex prall
1548 @cindex pralldown
1549 @cindex prallmordent
1550 @cindex prallprall
1551 @cindex prallup
1552 @cindex reverseturn
1553 @cindex rheel
1554 @cindex rtoe
1555 @cindex segno
1556 @cindex semicirculus
1557 @cindex shortfermata
1558 @cindex signumcongruentiae
1559 @cindex snappizzicato
1560 @cindex staccatissimo
1561 @cindex staccato
1562 @cindex stopped
1563 @cindex tenuto
1564 @cindex thumb
1565 @cindex trill
1566 @cindex turn
1567 @cindex upbow
1568 @cindex upmordent
1569 @cindex upprall
1570 @cindex varcoda
1571 @cindex verylongfermata
1572
1573 The following scripts are available in the Feta font and may be
1574 attached to notes (eg. @samp{c\accent}).
1575
1576 @c Articulations and ornamentations
1577 @c Fingering instructions (for "thumb")
1578 @c Common notation for unfretted strings
1579 @c   Bowing indications
1580 @c   Harmonics
1581 @c   Snap (Bartók) pizzicato
1582 @c Custom percussion staves (for "halfopen" -- not yet funindexed)
1583 @c References for wind instruments (for "open"/"stopped" -- not yet funindexed)
1584
1585
1586 @menu
1587 * Articulation scripts::
1588 * Ornament scripts::
1589 * Fermata scripts::
1590 * Instrument-specific scripts::
1591 * Repeat sign scripts::
1592 * Ancient scripts::
1593 @end menu
1594
1595
1596 @node Articulation scripts
1597 @unnumberedsubsec Articulation scripts
1598
1599 @lilypond[quote]
1600 \include "script-chart.ly"
1601 \new RhythmicStaff { \scriptStaff #articulations }
1602 @end lilypond
1603
1604 @node Ornament scripts
1605 @unnumberedsubsec Ornament scripts
1606
1607 @lilypond[quote]
1608 \include "script-chart.ly"
1609 \new RhythmicStaff { \scriptStaff #ornaments }
1610 @end lilypond
1611
1612 @node Fermata scripts
1613 @unnumberedsubsec Fermata scripts
1614
1615 @lilypond[quote]
1616 \include "script-chart.ly"
1617 \new RhythmicStaff { \scriptStaff #fermatas }
1618 @end lilypond
1619
1620 @node Instrument-specific scripts
1621 @unnumberedsubsec Instrument-specific scripts
1622
1623 @lilypond[quote]
1624 \include "script-chart.ly"
1625 \new RhythmicStaff { \scriptStaff #instrument-specific }
1626 @end lilypond
1627
1628 @node Repeat sign scripts
1629 @unnumberedsubsec Repeat sign scripts
1630
1631 @lilypond[quote]
1632 \include "script-chart.ly"
1633 \new RhythmicStaff { \scriptStaff #repeats }
1634 @end lilypond
1635
1636 @node Ancient scripts
1637 @unnumberedsubsec Ancient scripts
1638
1639 @lilypond[quote]
1640 \include "script-chart.ly"
1641 \include "gregorian.ly"
1642 \new VaticanaStaff { \scriptStaffAncient #ancient }
1643 @end lilypond
1644
1645
1646 @node Percussion notes
1647 @appendixsec Percussion notes
1648
1649 @lilypondfile[quote]{percussion-chart.ly}
1650
1651
1652 @node Technical glossary
1653 @appendixsec Technical glossary
1654
1655 A glossary of the technical terms and concepts used internally in
1656 LilyPond.  These terms may appear in the manuals, on mailing lists
1657 or in the source code.
1658
1659 @menu
1660 * alist::
1661 * callback::
1662 * closure::
1663 * glyph::
1664 * grob::
1665 * immutable::
1666 * interface::
1667 * lexer::
1668 * mutable::
1669 * output-def::
1670 * parser::
1671 * parser variable::
1672 * prob::
1673 * simple closure::
1674 * smob::
1675 * stencil::
1676 @end menu
1677
1678 @node alist
1679 @unnumberedsubsec alist
1680
1681 @cindex alist
1682 @cindex association list
1683
1684 An association list or @strong{alist} for short is a Scheme pair
1685 which associates a value with a key: @w{@code{(key . value)}}.  For
1686 example, in @file{scm/lily.scm}, the alist
1687 @w{@qq{type-p-name-alist}} associates certain type predicates
1688 (e.g.@tie{}@code{ly:music?}) with names (e.g.@tie{}@qq{music}) so
1689 that type-check failures can be reported with a console message that
1690 includes the name of the expected type predicate.
1691
1692 @node callback
1693 @unnumberedsubsec callback
1694
1695 @cindex callback
1696
1697 A @strong{callback} is a routine, function or method whose reference is
1698 passed as an argument in a call to another routine, so allowing
1699 the called routine to invoke it.  The technique enables a lower-
1700 level software layer to call a function defined in a higher
1701 layer.  Callbacks are used extensively in LilyPond to permit
1702 user-level Scheme code to define how many low-level actions are
1703 performed.
1704
1705
1706 @node closure
1707 @unnumberedsubsec closure
1708
1709 @cindex closure
1710 @cindex simple closure
1711
1712 In Scheme, a @strong{closure} is created when a function, usually
1713 a lambda expression, is passed as a variable.  The closure contains
1714 the function's code plus references to the lexical bindings of the
1715 function's free variables (i.e. those variables used in the
1716 expression but defined outside it).  When this function is applied
1717 to different arguments later, the free variable bindings that were
1718 captured in the closure are used to obtain the values of the free
1719 variables to be used in the calculation.  One useful property of
1720 closures is the retention of internal variable values between
1721 invocations, so permitting state to be maintained.
1722
1723 A @strong{simple closure} is a closure whose expression has no free
1724 variables and hence no free variable bindings.
1725
1726 A simple closure is represented in LilyPond by a smob containing
1727 the expression and a method to apply the expression to a passed
1728 list of arguments.
1729
1730
1731 @node glyph
1732 @unnumberedsubsec glyph
1733
1734 @cindex glyph
1735 @cindex font
1736 @cindex typeface
1737
1738 A @strong{glyph} is a particular graphical representation of a typographic
1739 character, or a combination of two characters formating a ligature.
1740 A set of glyphs with a single style and shape comprise a font, and
1741 a set of fonts covering several styles and sizes comprise a typeface.
1742
1743 @seealso
1744 Notation Reference:
1745 @ref{Fonts},
1746 @ref{Special characters}.
1747
1748
1749 @node grob
1750 @unnumberedsubsec grob
1751
1752 @cindex grob
1753 @cindex layout objects
1754 @cindex graphical objects
1755
1756 LilyPond objects which represent items of notation in the printed
1757 output such as note heads, stems, slurs, ties, fingering, clefs,
1758 etc are called @q{Layout objects}, often known as @q{GRaphical
1759 OBjects}, or @strong{grobs} for short.  They are represented by
1760 instances of the @code{Grob} class.
1761
1762 @seealso
1763 Learning Manual:
1764 @rlearning{Objects and interfaces},
1765 @rlearning{Naming conventions of objects and properties},
1766 @rlearning{Properties of layout objects}.
1767
1768 Internals Reference:
1769 @rinternals{grob-interface},
1770 @rinternals{All layout objects}.
1771
1772
1773 @node immutable
1774 @unnumberedsubsec immutable
1775
1776 @cindex immutable objects
1777 @cindex immutable properties
1778 @cindex shared properties
1779
1780 An @strong{immutable} object is one whose state cannot be modified
1781 after creation, in contrast to a mutable object, which can be
1782 modified after creation.
1783
1784 In LilyPond, immutable or shared properties define the default
1785 style and behavior of grobs.  They are shared between many objects.
1786 In apparent contradiction to the name, they can be changed using
1787 @code{\override} and @code{\revert}.
1788
1789 @seealso
1790 Notation Reference:
1791 @ref{mutable}.
1792
1793
1794 @node interface
1795 @unnumberedsubsec interface
1796
1797 @cindex interface
1798 @cindex grob-interface
1799 @cindex graphical object interfaces
1800
1801 Actions and properties which are common to a number of grobs are
1802 grouped together in an object called a @code{grob-interface}, or
1803 just @q{interface} for short.
1804
1805 @seealso
1806 Learning Manual:
1807 @rlearning{Objects and interfaces},
1808 @rlearning{Naming conventions of objects and properties},
1809 @rlearning{Properties found in interfaces}.
1810
1811 Notation Reference:
1812 @ref{Layout interfaces}.
1813
1814 Internals Reference:
1815 @rinternals{Graphical Object Interfaces}.
1816
1817
1818 @node lexer
1819 @unnumberedsubsec lexer
1820
1821 @cindex lexer
1822 @cindex Flex
1823
1824 A @strong{lexer} is a program which converts a sequence of
1825 characters into a sequence of tokens, a process called lexical
1826 analysis.  The LilyPond lexer converts the stream obtained from an
1827 input @file{.ly} file into a tokenized stream more suited to the
1828 next stage of processing - parsing, for which see @ref{parser}.
1829 The LilyPond lexer is built with Flex from the lexer file
1830 @file{lily/lexer.ll} which contains the lexical rules.  This file
1831 is part of the source code and is not included in the LilyPond
1832 binary installation.
1833
1834
1835 @node mutable
1836 @unnumberedsubsec mutable
1837
1838 @cindex mutable objects
1839 @cindex mutable properties
1840
1841 A @strong{mutable} object is one whose state can be modified after
1842 creation, in contrast to an immutable object, whose state is fixed
1843 at the time of creation.
1844
1845 In LilyPond, mutable properties contain values that are specific to
1846 one grob.  Typically, lists of other objects or results from
1847 computations are stored in mutable properties.
1848
1849 @seealso
1850 Notation Reference:
1851 @ref{immutable}.
1852
1853
1854 @node output-def
1855 @unnumberedsubsec output-def
1856
1857 @cindex output-def
1858
1859 An instance of the @code{Output-def} class contains the methods and
1860 data structures associated with an output block.  Instances are
1861 created for midi, layout and paper blocks.
1862
1863
1864 @node parser
1865 @unnumberedsubsec parser
1866
1867 @cindex parser
1868 @cindex Bison
1869 @cindex LilyPond grammar
1870 @cindex grammar for LilyPond
1871 @cindex BNF
1872
1873 A @strong{parser} analyzes the sequence of tokens produced by a
1874 lexer to determine its grammatical structure, grouping the tokens
1875 progressively into larger groupings according to the rules of the
1876 grammar.  If the sequence of tokens is valid the end product is a
1877 tree of tokens whose root is the grammar's start symbol.  If this
1878 cannot be achieved the file is invalid and an appropriate error
1879 message is produced.  The syntactic groupings and the rules for
1880 constructing the groupings from their parts for the LilyPond syntax
1881 are defined in @file{lily/parser.yy} and shown in Backus Normal Form
1882 (BNF) in @rcontrib{LilyPond grammar}.  This file is used to build the
1883 parser during the program build by the parser generator, Bison.  It is
1884 part of the source code and is not included in the LilyPond binary
1885 installation.
1886
1887
1888 @node parser variable
1889 @unnumberedsubsec parser variable
1890
1891 @cindex parser variable
1892 @cindex Scheme variable
1893 @cindex global variable
1894 @cindex afterGraceFraction
1895 @cindex musicQuotes
1896 @cindex mode
1897 @cindex output-count
1898 @cindex output-suffix
1899 @cindex partCombineListener
1900 @cindex pitchnames
1901 @cindex toplevel-bookparts
1902 @cindex toplevel-scores
1903 @cindex showLastLength
1904 @cindex showFirstLength
1905
1906 These are variables defined directly in Scheme.  Their direct
1907 use by users is strongly discouraged, because their scoping
1908 semantics can be confusing.
1909
1910 When the value of such a variable is changed in a @file{.ly} file,
1911 the change is global, and unless explicitly reverted, the new value
1912 will persist to the end of the file, affecting subsequent
1913 @code{\score} blocks as well as external files added with the
1914 @code{\include} command.  This can lead to unintended consequences
1915 and in complex typesetting projects the consequent errors can be
1916 difficult to track down.
1917
1918 LilyPond uses the following parser variables:
1919
1920 @itemize
1921 @item afterGraceFraction
1922 @item musicQuotes
1923 @item mode
1924 @item output-count
1925 @item output-suffix
1926 @item partCombineListener
1927 @item pitchnames
1928 @item toplevel-bookparts
1929 @item toplevel-scores
1930 @item showLastLength
1931 @item showFirstLength
1932 @end itemize
1933
1934
1935 @node prob
1936 @unnumberedsubsec prob
1937
1938 @cindex prob
1939 @cindex property object
1940
1941 PRoperty OBjects, or @strong{probs} for short, are instances of
1942 the @code{Prob} class, a simple base class for objects which have
1943 mutable and immutable property alists and the methods to manipulate
1944 them.  The @code{Music} and @code{Stream_event} classes derive from
1945 @code{Prob}.  Instances of the @code{Prob} class are also created
1946 to hold the formatted content of system grobs and titling blocks
1947 during page layout.
1948
1949
1950 @node simple closure
1951 @unnumberedsubsec simple closure
1952
1953 See @ref{closure}.
1954
1955
1956 @node smob
1957 @unnumberedsubsec smob
1958
1959 @cindex smob
1960 @cindex Scheme object
1961
1962 @strong{Smobs}, or ScheMe OBjects, are part of the mechanism used
1963 by Guile to export C and C++ objects to Scheme code.  In LilyPond,
1964 smobs are created from C++ objects through macros.  There are two
1965 types of smob objects: simple smobs, intended for simple immutable
1966 objects like numbers, and complex smobs, used for objects with
1967 identities.  If you have access to the LilyPond sources, more
1968 information can be found in @file{lily/includes/smob.hh}.
1969
1970 @node stencil
1971 @unnumberedsubsec stencil
1972
1973 @cindex stencil
1974
1975 An instance of the @strong{stencil} class holds the information
1976 required to print a typographical object.  It is a simple smob
1977 containing a confining box, which defines the vertical and
1978 horizontal extents of the object, and a Scheme expression which
1979 will print the object when evaluated.  Stencils may be combined
1980 to form more complex stencils defined by a tree of Scheme
1981 expressions formed from the Scheme expressions of the component
1982 stencils.
1983
1984 The @code{stencil} property, which connects a grob to its stencil,
1985 is defined in the @code{grob-interface} interface.
1986
1987 @seealso
1988 Internals Reference:
1989 @rinternals{grob-interface}.
1990
1991
1992 @node All context properties
1993 @appendixsec All context properties
1994
1995 @include context-properties.tely
1996
1997
1998 @node Layout properties
1999 @appendixsec Layout properties
2000
2001 @include layout-properties.tely
2002
2003
2004 @node Available music functions
2005 @appendixsec Available music functions
2006
2007 @include identifiers.tely
2008
2009 @node Context modification identifiers
2010 @appendixsec Context modification identifiers
2011
2012 The following commands are defined for use as context modifications
2013 within a @code{\layout} or @code{\with} block.
2014
2015 @include context-mod-identifiers.tely
2016
2017 @node Predefined type predicates
2018 @appendixsec Predefined type predicates
2019
2020 @include type-predicates.tely
2021
2022
2023 @node Scheme functions
2024 @appendixsec Scheme functions
2025
2026 @include scheme-functions.tely
2027