license import * as monacoEditor from "monaco-editor" ; const REGEX_COMMAND_SLASH = /^\\/ ; interface ItemSubset { label : string ; detail : string ; documentation : string ; } function cleanUp ( items ) { return items . map ( ( { label , detail , documentation } ) => { return { label , detail , documentation , kind : 0 , insertText : label . replace ( REGEX_COMMAND_SLASH , "" ) , range : null as any , } ; } ) ; } const NOTATION_SYMBOLS = cleanUp ( [ { label : "!" , detail : "Accidentals" , documentation : "Normally accidentals are printed automatically, but you may also print them manually. A reminder accidental can be forced by adding an exclamation mark ! after the pitch. A cautionary accidental (i.e., an accidental within parentheses) can be obtained by adding the question mark ? after the pitch. These extra accidentals can also be used to produce natural signs.\n\n    cis cis cis! cis? c c c! c?" , } , { label : '"|"' , detail : "Bar and bar number checks" , documentation : "It is also possible to redefine the action taken when a bar check or pipe symbol, |, is encountered in the input, so that it does something other than a bar check. This is done by assigning a music expression to \"|\". In the following example | is set to insert a double bar line wherever it appears in the input, rather than checking for end of bar.\n\n    \"|\" = \\bar \"||\"\n    {\n      c'2 c' |\n      c'2 c'\n      c'2 | c'\n      c'2 c'\n    }" , } , { label : "'" , detail : "Absolute octave entry" , documentation : "Other octaves may be specified with a single quote (') or comma (,) character. Each ' raises the pitch by one octave; each , lowers the pitch by an octave.\n\n    {\n      \\clef treble\n      c'4 c'' e' g\n      d''4 d' d c\n      \\clef bass\n      c,4 c,, e, g\n      d,,4 d, d c\n    }" , } , { label : "," , detail : "Absolute octave entry" , documentation : "Other octaves may be specified with a single quote (') or comma (,) character. Each ' raises the pitch by one octave; each , lowers the pitch by an octave.\n\n    {\n      \\clef treble\n      c'4 c'' e' g\n      d''4 d' d c\n      \\clef bass\n      c,4 c,, e, g\n      d,,4 d, d c\n    }" , } , { label : "-" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "." , detail : "Durations" , documentation : "To obtain dotted note lengths, place a dot (.) after the duration. Double-dotted notes are specified by appending two dots, and so on.\n\n    a4 b c4. b8 a4. b4.. c8.\n\nSome durations cannot be represented with just binary durations and dots; they can be represented only by tying two or more notes together. For details, see Ties.\n\nFor ways of specifying durations for the syllables of lyrics and ways of aligning lyrics to notes, see Vocal music.\n\nOptionally, notes can be spaced strictly proportionately to their duration. For details of this and other settings which control proportional notation, see Proportional notation." , } , { label : "/" , detail : "Extended and altered chords" , documentation : "Inversions (putting a pitch other than the root on the bottom of the chord) and added bass notes can be specified by appending /pitch to the chord.\n\n    \\chordmode {\n      c1 c/g c/f\n    }" , } , { label : "/+" , detail : "Extended and altered chords" , documentation : "A bass note that is part of the chord can be added, instead of moved as part of an inversion, by using /+pitch.\n\n    \\chordmode {\n      c1 c/g c/+g\n    }\n\nChord modifiers that can be used to produce a variety of standard chords are shown in Common chord modifiers." , } , { label : ":" , detail : "Tremolo repeats" , documentation : "The same output can be obtained by adding :N after the note, where N indicates the duration of the subdivision (it must be at least 8). If N is 8, one beam is added to the note’s stem. If N is omitted, the last value (stored in tremoloFlags) is used:\n\n    c2:8 c:32\n    c: c:" , } , { label : "<" , detail : "Chorded notes" , documentation : "A chord is formed by enclosing a set of pitches between < and >. A chord may be followed by a duration just like simple notes.\n\n    <a c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16\n\nChords may also be followed by articulations, again just like simple notes.\n\n    <a c e>1\\fermata <a c e>2-> <f a c e>4\\prall <a c>8.^! <g c e>16-.\n\nThe notes within the chord themselves can also be followed by articulation and ornamentation.\n\n    <a c\\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4\n    <a-+ c-->8. <g\\fermata c e\\turn>16\n\nHowever some notation, such as dynamics, hairpins and slurs must be attached to the chord, rather than notes within the chord, otherwise they will not print.\n\n    <a\\f c( e>1 <a c) e>\\f <a\\< c e>( <a\\! c e>)\n    <a c e>\\< <a c e> <a c e>\\!" , } , { label : "<...>" , detail : "Chorded notes" , documentation : "A chord is formed by enclosing a set of pitches between < and >. A chord may be followed by a duration just like simple notes.\n\n    <a c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16\n\nChords may also be followed by articulations, again just like simple notes.\n\n    <a c e>1\\fermata <a c e>2-> <f a c e>4\\prall <a c>8.^! <g c e>16-.\n\nThe notes within the chord themselves can also be followed by articulation and ornamentation.\n\n    <a c\\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4\n    <a-+ c-->8. <g\\fermata c e\\turn>16\n\nHowever some notation, such as dynamics, hairpins and slurs must be attached to the chord, rather than notes within the chord, otherwise they will not print.\n\n    <a\\f c( e>1 <a c) e>\\f <a\\< c e>( <a\\! c e>)\n    <a c e>\\< <a c e> <a c e>\\!" , } , { label : "=" , detail : "Octave checks" , documentation : "In relative mode, it is easy to forget an octave changing mark. Octave checks make such errors easier to find by displaying a warning and correcting the octave if a note is found in an unexpected octave.\n\nTo check the octave of a note, specify the absolute octave after the = symbol. This example will generate a warning (and change the pitch) because the second note is the absolute octave d'' instead of d' as indicated by the octave correction.\n\n    \\relative c'' {\n      c2 d='4 d\n      e2 f\n    }\n\nThe octave of notes may also be checked with the \\octaveCheck controlpitch command. controlpitch is specified in absolute mode. This checks that the interval between the previous note and the controlpitch is within a fourth (i.e., the normal calculation of relative mode). If this check fails, a warning is printed, but the previous note is not changed. Future notes are relative to the controlpitch.\n\n    \\relative c'' {\n      c2 d\n      \\octaveCheck c'\n      e2 f\n    }\n\nCompare the two bars below. The first and third \\octaveCheck checks fail, but the second one does not fail.\n\n    \\relative c'' {\n      c4 f g f\n      c4\n      \\octaveCheck c'\n      f\n      \\octaveCheck c'\n      g\n      \\octaveCheck c'\n      f\n    }" , } , { label : ">" , detail : "Chorded notes" , documentation : "A chord is formed by enclosing a set of pitches between < and >. A chord may be followed by a duration just like simple notes.\n\n    <a c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16\n\nChords may also be followed by articulations, again just like simple notes.\n\n    <a c e>1\\fermata <a c e>2-> <f a c e>4\\prall <a c>8.^! <g c e>16-.\n\nThe notes within the chord themselves can also be followed by articulation and ornamentation.\n\n    <a c\\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4\n    <a-+ c-->8. <g\\fermata c e\\turn>16\n\nHowever some notation, such as dynamics, hairpins and slurs must be attached to the chord, rather than notes within the chord, otherwise they will not print.\n\n    <a\\f c( e>1 <a c) e>\\f <a\\< c e>( <a\\! c e>)\n    <a c e>\\< <a c e> <a c e>\\!" , } , { label : "?" , detail : "Accidentals" , documentation : "Normally accidentals are printed automatically, but you may also print them manually. A reminder accidental can be forced by adding an exclamation mark ! after the pitch. A cautionary accidental (i.e., an accidental within parentheses) can be obtained by adding the question mark ? after the pitch. These extra accidentals can also be used to produce natural signs.\n\n    cis cis cis! cis? c c c! c?" , } , { label : "[" , detail : "Manual beams" , documentation : "In some cases it may be necessary to override the automatic beaming algorithm. For example, the autobeamer will not put beams over rests or bar lines, and in choral scores the beaming is often set to follow the meter of the lyrics rather than the notes. Such beams can be specified manually by marking the begin and end point with [ and ].\n\n    r4 r8[ g' a r] r g[ | a] r" , } , { label : "\\!" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\(" , detail : "Phrasing slurs" , documentation : "Phrasing slurs (or phrasing marks) that indicate a musical sentence are written using the commands \\( and \\) respectively:\n\n    c4\\( d( e) f(\n    e2) d\\)" , } , { label : "\\)" , detail : "Phrasing slurs" , documentation : "Phrasing slurs (or phrasing marks) that indicate a musical sentence are written using the commands \\( and \\) respectively:\n\n    c4\\( d( e) f(\n    e2) d\\)" , } , { label : "\\<" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\>" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\abs-fontsize" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\abs-fontsize" , detail : "A.10.1 Font" , documentation : "Use size as the absolute font size to display arg. Adjusts baseline-skip and word-space accordingly.\n\n    \\markup {\n      default text font size\n      \\hspace #2\n      \\abs-fontsize #16 { text font size 16 }\n      \\hspace #2\n      \\abs-fontsize #12 { text font size 12 }\n    }" , } , { label : "\\absolute" , detail : "Absolute octave entry" , documentation : "Music can be marked explicitly as being in absolute octave notation by preceding it with \\absolute:\n\n    \\absolute musicexpr\n\nwill be interpreted in absolute octave entry mode regardless of the context it appears in." , } , { label : "\\accent" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\accepts" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\accepts" , detail : "5.1.6 Defining new contexts" , documentation : "Contexts form hierarchies. We want to place the ImproVoice context within the Staff context, just like normal Voice contexts. Therefore, we modify the Staff definition with the \\accepts command,\n\n    \\context {\n      \\Staff\n      \\accepts ImproVoice\n    }" , } , { label : "\\accepts" , detail : "5.1.7 Context layout order" , documentation : "Contexts are normally positioned in a system from top to bottom in the order in which they are encountered in the input file. When contexts are nested, the outer context will include inner nested contexts as specified in the input file, provided the inner contexts are included in the outer context’s “accepts” list. Nested contexts which are not included in the outer context’s “accepts” list will be repositioned below the outer context rather than nested within it.\n\nThe “accepts” list of a context can be changed with the \\accepts or \\denies commands. \\accepts adds a context to the “accepts” list and \\denies removes a context from the list.\n\nFor example, a square-braced staff group is not usually found within a curved-braced staff with connecting staff bars, and a GrandStaff does not accept a StaffGroup inside it by default.\n\n    \\score {\n      \\new GrandStaff <<\n        \\new StaffGroup <<\n          \\new Staff { c'1 }\n          \\new Staff { d'1 }\n        >>\n        \\new Staff { \\set Staff.instrumentName = bottom f'1 }\n      >>\n    }\n\nHowever, by using the \\accepts command, StaffGroup can be added to the GrandStaff context:\n\n    \\score {\n      \\new GrandStaff <<\n        \\new StaffGroup <<\n          \\new Staff { c'1 }\n          \\new Staff { d'1 }\n        >>\n        \\new Staff { \\set Staff.instrumentName = bottom f'1 }\n      >>\n      \\layout {\n        \\context {\n          \\GrandStaff\n          \\accepts \"StaffGroup\"\n        }\n      }\n    }\n\n\\denies is mainly used when a new context is being based on another, but the required nesting differs. For example, the VaticanaStaff context is based on the Staff context, but with the VaticanaVoice context substituted for the Voice context in the “accepts” list." , } , { label : "\\acciaccatura" , detail : "Grace notes" , documentation : "Grace notes are musical ornaments, printed in a smaller font, that take up no additional logical time in a measure.\n\n    c4 \\grace b16 a4(\n    \\grace { b16 c16 } a2)\n\nThere are three other types of grace notes possible; the acciaccatura – an unmeasured grace note indicated by a slurred note with a slashed stem – and the appoggiatura, which takes a fixed fraction of the main note it is attached to and prints without the slash. It is also possible to write a grace note with a slashed stem, like the acciaccatura but without the slur, so as to place it between notes that are slurred themselves, using the \\slashedGrace function.\n\n    \\acciaccatura d8 c4\n    \\appoggiatura e8 d4\n    \\acciaccatura { g16 f } e2\n    \\slashedGrace a,8 g4\n    \\slashedGrace b16 a4(\n    \\slashedGrace b8 a2)\n\nThe placement of grace notes is synchronized between different staves. In the following example, there are two sixteenth grace notes for every eighth grace note\n\n    <<\n      \\new Staff { e2 \\grace { c16 d e f } e2 }\n      \\new Staff { c2 \\grace { g8 b } c2 }\n    >>" , } , { label : "\\accidentalStyle" , detail : "Automatic accidentals" , documentation : "There are many different conventions on how to typeset accidentals. LilyPond provides a function to specify which accidental style to use. This function is called as follows:\n\n    \\new Staff <<\n      \\accidentalStyle voice\n      { … }\n    >>\n\nThe accidental style applies to the current Staff by default (with the exception of the styles piano and piano-cautionary, which are explained below). Optionally, the function can take a second argument that determines in which scope the style should be changed. For example, to use the same style in all staves of the current StaffGroup, use:\n\n    \\accidentalStyle StaffGroup.voice\n\nThe following accidental styles are supported. To demonstrate each style, we use the following example:\n\n    musicA = {\n      <<\n        \\relative c' {\n          cis'8 fis, bes4 <a cis>8 f bis4 |\n          cis2. <c, g'>4 |\n        }\n        \\\\\n        \\relative c' {\n          ais'2 cis, |\n          fis8 b a4 cis2 |\n        }\n      >>\n    }\n    musicB = {\n      \\clef bass\n      \\new Voice {\n        \\voiceTwo \\relative c' {\n          <fis, a cis>8[ <fis a cis>\n          \\change Staff = up\n          cis' cis\n          \\change Staff = down\n          <fis, a> <fis a>]\n          \\showStaffSwitch\n          \\change Staff = up\n          dis'4 |\n          \\change Staff = down\n          <fis, a cis>4 gis <f a d>2 |\n        }\n      }\n    }\n    \\new PianoStaff {\n      <<\n        \\context Staff = \"up\" {\n          \\accidentalStyle default\n          \\musicA\n        }\n        \\context Staff = \"down\" {\n          \\accidentalStyle default\n          \\musicB\n        }\n      >>\n    }\n\nNote that the last lines of this example can be replaced by the following, as long as the same accidental style should be used in both staves.\n\n    \\new PianoStaff {\n      <<\n        \\context Staff = \"up\" {\n          %%% change the next line as desired:\n          \\accidentalStyle Score.default\n          \\musicA\n        }\n        \\context Staff = \"down\" {\n          \\musicB\n        }\n      >>\n    }\n\ndefault\nThis is the default typesetting behavior. It corresponds to eighteenth-century common practice: accidentals are remembered to the end of the measure in which they occur and only in their own octave. Thus, in the example below, no natural signs are printed before the b in the second measure or the last c:\n\n \n\nvoice\nThe normal behavior is to remember the accidentals at Staff-level. In this style, however, accidentals are typeset individually for each voice. Apart from that, the rule is similar to default.\n\nAs a result, accidentals from one voice do not get canceled in other voices, which is often an unwanted result: in the following example, it is hard to determine whether the second a should be played natural or sharp. The voice option should therefore be used only if the voices are to be read solely by individual musicians. If the staff is to be used by one musician (e.g., a conductor or in a piano score) then modern or modern-cautionary should be used instead.\n\n \n\nmodern\nThis rule corresponds to the common practice in the twentieth century. It omits some extra natural signs, which were traditionally prefixed to a sharp following a double sharp, or a flat following a double flat. The modern rule prints the same accidentals as default, with two additions that serve to avoid ambiguity: after temporary accidentals, cancellation marks are printed also in the following measure (for notes in the same octave) and, in the same measure, for notes in other octaves. Hence the naturals before the b and the c in the second measure of the upper staff:\n\n \n\nmodern-cautionary\nThis rule is similar to modern, but the ‘extra’ accidentals (the ones not typeset by default) are typeset as cautionary accidentals. They are by default printed with parentheses, but they can also be printed in reduced size by defining the cautionary-style property of AccidentalSuggestion.\n\n \n\nmodern-voice\nThis rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice, but they are canceled across voices in the same Staff. Hence, the a in the last measure is canceled because the previous cancellation was in a different voice, and the d in the lower staff is canceled because of the accidental in a different voice in the previous measure:\n\n \n\nmodern-voice-cautionary\nThis rule is the same as modern-voice, but with the extra accidentals (the ones not typeset by voice) typeset as cautionaries. Even though all accidentals typeset by default are typeset with this rule, some of them are typeset as cautionaries.\n\n \n\npiano\nThis rule reflects twentieth-century practice for piano notation. Its behavior is very similar to modern style, but here accidentals also get canceled across the staves in the same GrandStaff or PianoStaff, hence all the cancellations of the final notes.\n\nThis accidental style applies to the current GrandStaff or PianoStaff by default.\n\n \n\npiano-cautionary\nThis is the same as piano but with the extra accidentals typeset as cautionaries.\n\n \n\nneo-modern\nThis rule reproduces a common practice in contemporary music: accidentals are printed like with modern, but they are printed again if the same note appears later in the same measure – except if the note is immediately repeated.\n\n \n\nneo-modern-cautionary\nThis rule is similar to neo-modern, but the extra accidentals are printed as cautionary accidentals.\n\n \n\nneo-modern-voice\nThis rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice as with neo-modern, but they are canceled across voices in the same Staff.\n\n \n\nneo-modern-voice-cautionary\nThis rule is similar to neo-modern-voice, but the extra accidentals are printed as cautionary accidentals.\n\n \n\ndodecaphonic\nThis rule reflects a practice introduced by composers at the beginning of the 20th century, in an attempt to abolish the hierarchy between natural and non-natural notes. With this style, every note gets an accidental sign, including natural signs.\n\n \n\nteaching\nThis rule is intended for students, and makes it easy to create scale sheets with automatically created cautionary accidentals. Accidentals are printed like with modern, but cautionary accidentals are added for all sharp or flat tones specified by the key signature, except if the note is immediately repeated.\n\n \n\nno-reset\nThis is the same as default but with accidentals lasting ‘forever’ and not only within the same measure:\n\n \n\nforget\nThis is the opposite of no-reset: Accidentals are not remembered at all – and hence all accidentals are typeset relative to the key signature, regardless of what came before in the music.\n\n \n\n" , } , { label : "\\addChordShape" , detail : "Predefined fret diagrams" , documentation : "In addition to fret diagrams, LilyPond stores an internal list of chord shapes. The chord shapes are fret diagrams that can be shifted along the neck to different positions to provide different chords. Chord shapes can be added to the internal list and then used to define predefined fret diagrams. Because they can be moved to various positions on the neck, chord shapes will normally not contain any open strings. Like fret diagrams, chord shapes can be entered as either fret-diagram-terse strings or fret-diagram-verbose marking lists.\n\n    \\include \"predefined-guitar-fretboards.ly\"\n    % Add a new chord shape\n    \\addChordShape #'powerf #guitar-tuning #\"1-1;3-3;3-4;x;x;x;\"\n    % add some new chords based on the power chord shape\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { f'' }\n                            #guitar-tuning\n                            #(chord-shape 'powerf guitar-tuning)\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { g'' }\n                            #guitar-tuning\n                            #(offset-fret 2 (chord-shape 'powerf guitar-tuning))\n    mychords = \\chordmode{\n      f1 f'' g g''\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>\n\nThe graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a predefined fret diagram, the interface properties belong to FretBoards.FretBoard." , } , { label : "\\addInstrumentDefinition" , detail : "Instrument names" , documentation : 'If an instrument switch is needed, \\addInstrumentDefinition may be used in combination with \\instrumentSwitch to create a detailed list of the necessary changes for the switch. The \\addInstrumentDefinition command has two arguments: an identifying string, and an association list of context properties and values to be used for the instrument. It must be placed in the toplevel scope. \\instrumentSwitch is used in the music expression to declare the instrument switch:\n\n    \\addInstrumentDefinition #"contrabassoon"\n      #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))\n         (shortInstrumentName . "Cbsn.")\n         (clefGlyph . "clefs.F")\n         (middleCPosition . 6)\n         (clefPosition . 2)\n         (instrumentCueName . ,(make-bold-markup "cbsn."))\n         (midiInstrument . "bassoon"))\n    \\new Staff \\with {\n      instrumentName = #"Bassoon"\n    }\n    \\relative c\' {\n      \\clef tenor\n      \\compressFullBarRests\n      c2 g\'\n      R1*16\n      \\instrumentSwitch "contrabassoon"\n      c,,2 g \\break\n      c,1 ~ | c1\n    }' , } , { label : "\\addInstrumentDefinition" , detail : "Formatting cue notes" , documentation : 'The \\killCues command removes cue notes from a music expression, so the same music expression can be used to produce the instrument part with cues and the score. The \\killCues command removes only the notes and events that were quoted by \\cueDuring. Other markup associated with cues, such as clef changes and a label identifying the source instrument, can be tagged for selective inclusion in the score; see Using tags.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\tag #\'part {\n        \\clef treble\n        \\new CueVoice { \\set instrumentCueName = "flute" }\n      }\n      \\cueDuring #"flute" #UP { R1 }\n      \\tag #\'part \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n    \\new StaffGroup <<\n      \\new Staff {\n        \\fluteNotes\n      }\n      \\new Staff {\n        \\removeWithTag #\'part { \\killCues { \\bassoonNotes } }\n      }\n    >>\n\nAlternatively, Clef changes and instrument labels can be collected into an instrument definition for repeated use, using \\addInstrumentDefinition described in Instrument names.' , } , { label : "\\addlyrics" , detail : "Aligning lyrics to a melody" , documentation : 'Lyrics are printed by interpreting them in the context called Lyrics, see Contexts explained.\n\n    \\new Lyrics \\lyricmode { … }\n\nLyrics can be aligned with melodies in two main ways:\n\n - Lyrics can be aligned automatically, with the durations of the syllables being taken from another voice of music or (in special circumstances) an associated melody, using \\addlyrics, \\lyricsto, or by setting the associatedVoice property. For more details, see Automatic syllable durations.\n<<\n  \\new Staff <<\n    \\time 2/4\n    \\new Voice = "one" \\relative c\'\' {\n      \\voiceOne\n      c4 b8. a16 g4. r8 a4 ( b ) c2\n    }\n    \\new Voice = "two" \\relative c\' {\n      \\voiceTwo\n       s2 s4. f8 e4 d c2\n    }\n  >>\n\n% takes durations and alignment from notes in "one"\n  \\new Lyrics \\lyricsto "one" {\n    Life is __ _ love, live __ life.\n  }\n\n% takes durations and alignment from notes in "one" initially\n% then switches to "two"\n  \\new Lyrics \\lyricsto "one" {\n    No more let\n    \\set associatedVoice = "two"  % must be set one syllable early\n    sins and sor -- rows grow.\n  }\n>>\n \n\nThe first stanza shows the normal way of entering lyrics.\n\nThe second stanza shows how the voice from which the lyric durations are taken can be changed. This is useful if the words to different stanzas fit the notes in different ways and all the durations are available in Voice contexts. For more details, see Stanzas.\n\n\n - Lyrics can be aligned independently of the duration of any notes if the durations of the syllables are specified explicitly, and entered with \\lyricmode.\n<<\n  \\new Voice = "one" \\relative c\'\' {\n    \\time 2/4\n    c4 b8. a16 g4. f8 e4 d c2\n  }\n\n% uses previous explicit duration of 2;\n  \\new Lyrics \\lyricmode {\n    Joy to the earth!\n  }\n\n% explicit durations, set to a different rhythm\n  \\new Lyrics \\lyricmode {\n    Life4 is love,2. live4 life.2\n  }\n>>\n \n\nThe first stanza is not aligned with the notes because the durations were not specified, and the previous value of 2 is used for each word.\n\nThe second stanza shows how the words can be aligned quite independently from the notes. This is useful if the words to different stanzas fit the notes in different ways and the required durations are not available in a music context. For more details see Manual syllable durations. This technique is also useful when setting dialogue over music; for examples showing this, see Dialogue over music.\n\nWhen entered in this way the words are left-aligned to the notes by default, but may be center-aligned to the notes of a melody by specifying an associated voice, if one exists. For details, see Manual syllable durations.\n\n' , } , { label : "\\addlyrics" , detail : "Automatic syllable durations" , documentation : "Lyrics can be automatically aligned to the notes of a melody in three ways:\n\n - by specifying the named Voice context containing the melody with \\lyricsto,\n - by introducing the lyrics with \\addlyrics and placing them immediately after the Voice context containing the melody,\n - by setting the associatedVoice property, the alignment of the lyrics may be switched to a different named Voice context at any musical moment.\n\nIn all three methods hyphens can be drawn between the syllables of a word and extender lines can be drawn beyond the end of a word. For details, see Extenders and hyphens.\n\nThe Voice context containing the melody to which the lyrics are being aligned must not have “died”, or the lyrics after that point will be lost. This can happen if there are periods when that voice has nothing to do. For methods of keeping contexts alive, see Keeping contexts alive." , } , { label : "\\addlyrics" , detail : "Using \\addlyrics" , documentation : 'The \\addlyrics command is just a convenient shortcut that can sometimes be used instead of having to set up the lyrics through a more complicated LilyPond structure.\n\n    { MUSIC }\n    \\addlyrics { LYRICS }\n\nis the same as\n\n    \\new Voice = "blah" { MUSIC }\n    \\new Lyrics \\lyricsto "blah" { LYRICS }\n\nHere is an example,\n\n    {\n      \\time 3/4\n      \\relative c\' { c2 e4 g2. }\n      \\addlyrics { play the game }\n    }\n\nMore stanzas can be added by adding more \\addlyrics sections:\n\n    {\n      \\time 3/4\n      \\relative c\' { c2 e4 g2. }\n      \\addlyrics { play the game }\n      \\addlyrics { speel het spel }\n      \\addlyrics { joue le jeu }\n    }\n\nThe command \\addlyrics cannot handle polyphonic settings. Also, it cannot be used to associate lyrics to a TabVoice. For these cases one should use \\lyricsto.' , } , { label : "\\addQuote" , detail : "Quoting other voices" , documentation : 'It is very common for one voice to use the same notes as those from another voice. For example, first and second violins playing the same phrase during a particular passage of the music. This is done by letting one voice quote the other, without having to re-enter the music all over again for the second voice.\n\nThe \\addQuote command, used in the top level scope, defines a stream of music from which fragments can be quoted.\n\nThe \\quoteDuring command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with \\addQuote, and a music expression for the duration of the quote.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nIf the music expression used in \\quoteDuring contains notes instead of spacer or multimeasure rests then the quote will appear as polyphony and may produce unexpected results.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { e4 r8 ais b4 a }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nThe \\quoteDuring command uses the \\transposition settings of both quoted and quoting parts to produce notes for the quoting part that have the same sounding pitch as those in the quoted part.\n\n    clarinetNotes = \\relative c\'\' {\n      \\transposition bes\n      \\key d \\major\n      b4 ais a ais | cis4^"quoted" r8 bis\\p b4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"clarinet" { s1 }\n    }\n    \\addQuote "clarinet" { \\clarinetNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Clarinet" } \\clarinetNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }' , } , { label : "\\aeolian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\afterGrace" , detail : "Grace notes" , documentation : "If you want to end a note with a grace, use the \\afterGrace command. It takes two arguments: the main note, and the grace notes following the main note.\n\n    c1 \\afterGrace d1 { c16[ d] } c1\n\nThis will put the grace notes after a space lasting 3/4 of the length of the main note. The default fraction 3/4 can be changed by setting afterGraceFraction. The following example shows the results from setting the space at the default, at 15/16, and finally at 1/2 of the main note.\n\n    <<\n      \\new Staff {\n        c1 \\afterGrace d1 { c16[ d] } c1\n      }\n      \\new Staff {\n        #(define afterGraceFraction (cons 15 16))\n        c1 \\afterGrace d1 { c16[ d] } c1\n      }\n      \\new Staff {\n        #(define afterGraceFraction (cons 1 2))\n        c1 \\afterGrace d1 { c16[ d] } c1\n      }\n    >>\n\nThe space between the main note and the grace note may also be specified using spacers. The following example places the grace note after a space lasting 7/8 of the main note.\n\n    \\new Voice {\n      <<\n        { d1^\\trill_( }\n        { s2 s4. \\grace { c16 d } }\n      >>\n      c1)\n    }" , } , { label : "\\aikenHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\aikenHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\alias" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\allowPageTurn" , detail : "Predefined commands" , documentation : "" , } , { label : "\\alterBroken" , detail : "Using \\alterBroken" , documentation : "When a spanner crosses a line break or breaks, each piece inherits the attributes of the original spanner. Thus, ordinary tweaking of a broken spanner applies the same modifications to each of its segments. In the example below, overriding thickness affects the slur on either side of the line break.\n\n    r2\n    \\once\\override Slur.thickness = 10\n    c8( d e f\n    \\break\n    g8 f e d) r2\n\nIndependently modifying the appearance of individual pieces of a broken spanner is possible with the \\alterBroken command. This command can produce either an \\override or a \\tweak of a spanner property.\n\nThe syntax for \\alterBroken is\n\n    [-]\\alterBroken property values item\n\nThe argument values is a list of values, one for each broken piece. If item is a grob name like Slur or Staff.PianoPedalBracket, the result is an \\override of the specified grob type. If item is a music expression such as “(” or “[” the result is the same music expression with an appropriate tweak applied.\n\nThe leading hyphen must be used with the \\tweak form. Do not add it when \\alterBroken is used as an \\override.\n\nIn its \\override usage, \\alterBroken may be prefaced by \\once or \\temporary and reverted by using \\revert with property.\n\nThe following code applies an independent \\override to each of the slur segments in the previous example:\n\n    r2\n    \\alterBroken thickness #'(10 1) Slur\n    c8( d e f\n    \\break\n    g8 f e d) r2\n\nThe \\alterBroken command may be used with any spanner object, including Tie, PhrasingSlur, Beam and TextSpanner. For example, an editor preparing a scholarly edition may wish to indicate the absence of part of a phrasing slur in a source by dashing only the segment which has been added. The following example illustrates how this can be done, in this case using the \\tweak form of the command:\n\n    % The empty list is conveniently used below, because it is the\n    % default setting of dash-definition, resulting in a solid curve.\n    c2-\\alterBroken dash-definition #'(() ((0 1.0 0.4 0.75))) \\(e\n    \\break\n    g2 e\\)\n\nIt is important to understand that \\alterBroken will set each piece of a broken spanner to the corresponding value in values. When there are fewer values than pieces, any additional piece will be assigned the empty list. This may lead to undesired results if the layout property is not set to the empty list by default. In such cases, each segment should be assigned an appropriate value." , } , { label : "\\alternative" , detail : "1.4.1 Long repeats" , documentation : "The syntax for a normal repeat is\n\n    \\repeat volta repeatcount musicexpr\n\nwhere musicexpr is a music expression.\n\nA single repeat without an alternate ending:\n\n    \\repeat volta 2 { c4 d e f }\n    c2 d\n    \\repeat volta 2 { d4 e f g }\n\nAlternative endings can be produced using \\alternative. Each group of alternatives must be themselves, enclosed in a set of braces.\n\n    \\repeat volta repeatcount musicexpr\n    \\alternative {\n      { musicexpr }\n    }\n\nwhere musicexpr is a music expression.\n\nIf there are more repeats than there are alternate endings, the earliest repeats are given the first alternative.\n\nA single repeat with one alternate ending:\n\n    \\repeat volta 2 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n    }\n    c1\n\nMultiple repeats with one alternate ending:\n\n    \\repeat volta 4 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n    }\n    c1\n\nMultiple repeats with more than one alternate ending:\n\n    \\repeat volta 3 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n      { a2 g | }\n    }\n    c1\n\nNote: If there are two or more alternatives, nothing should appear between the closing brace of one and the opening brace of the next in an \\alternative block, otherwise you will not get the expected number of endings.\n\n\n\nNote: If you include \\relative inside a \\repeat without explicitly instantiating the Voice context, extra (unwanted) staves will appear. See An extra staff appears.\n\n" , } , { label : "\\appendToTag" , detail : "Using tags" , documentation : "The \\tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \\keepWithTag #'name or \\removeWithTag #'name. The result of applying these filters to tagged music is as follows:\n\nFilter\tResult\nTagged music preceded by \\keepWithTag #'name or \\keepWithTag #'(name1 name2…)\tUntagged music and music tagged with any of the given tag names is included; music tagged with any other tag name is excluded.\nTagged music preceded by \\removeWithTag #'name or \\removeWithTag #'(name1 name2…)\tUntagged music and music not tagged with any of the given tag names is included; music tagged with any of the given tag names is excluded.\nTagged music not preceded by either \\keepWithTag or \\removeWithTag\tAll tagged and untagged music is included.\n\n\nThe arguments of the \\tag, \\keepWithTag and \\removeWithTag commands should be a symbol (such as #'score or #'part), followed by a music expression.\n\nIn the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand { \\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\keepWithTag #'trills \\music\n    }\n    \\score {\n      \\keepWithTag #'expand \\music\n    }\n\nAlternatively, it is sometimes easier to exclude sections of music:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand {\\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\removeWithTag #'expand\n      \\music\n    }\n    \\score {\n      \\removeWithTag #'trills\n      \\music\n    }\n\nTagged filtering can be applied to articulations, texts, etc. by prepending\n\n    -\\tag #'your-tag\n\nto an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:\n\n    c1-\\tag #'finger ^4\n    c1-\\tag #'warn ^\"Watch!\"\n\nMultiple tags may be placed on expressions with multiple \\tag entries, or by combining multiple tags into one symbol list:\n\n    music = \\relative c'' {\n      \\tag #'a \\tag #'both { a4 a a a }\n      \\tag #'(b both) { b4 b b b }\n    }\n    <<\n    \\keepWithTag #'a \\music\n    \\keepWithTag #'b \\music\n    \\keepWithTag #'both \\music\n    >>\n\nMultiple \\removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections. Alternatively, you can use a single \\removeWithTag with a list of tags.\n\n    music = \\relative c'' {\n      \\tag #'A { a4 a a a }\n      \\tag #'B { b4 b b b }\n      \\tag #'C { c4 c c c }\n      \\tag #'D { d4 d d d }\n    }\n    \\new Voice {\n      \\removeWithTag #'B\n      \\removeWithTag #'C\n      \\music\n      \\removeWithTag #'(B C)\n      \\music\n    }\n\nTwo or more \\keepWithTag filters applied to a single music expression will cause all tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section. Usually you would rather want to use a single \\keepWithTag command with a list of multiple tags: this will only remove tagged sections not given in any of the tags.\n\nSometimes you want to splice some music at a particular place in an existing music expression. You can use \\pushToTag and \\appendToTag for adding material at the front or end of the elements of an existing music construct. Not every music construct has elements, but sequential and simultaneous music are safe bets:\n\n    test = { \\tag #'here { \\tag #'here <<c''>> } }\n    {\n      \\pushToTag #'here c'\n      \\pushToTag #'here e'\n      \\pushToTag #'here g' \\test\n      \\appendToTag #'here c'\n      \\appendToTag #'here e'\n      \\appendToTag #'here g' \\test\n    }\n\nBoth commands get a tag, the material to splice in at every occurence of the tag, and the tagged expression. The commands make sure to copy everything that they change so that the original \\test retains its meaning." , } , { label : "\\appoggiatura" , detail : "Grace notes" , documentation : "Grace notes are musical ornaments, printed in a smaller font, that take up no additional logical time in a measure.\n\n    c4 \\grace b16 a4(\n    \\grace { b16 c16 } a2)\n\nThere are three other types of grace notes possible; the acciaccatura – an unmeasured grace note indicated by a slurred note with a slashed stem – and the appoggiatura, which takes a fixed fraction of the main note it is attached to and prints without the slash. It is also possible to write a grace note with a slashed stem, like the acciaccatura but without the slur, so as to place it between notes that are slurred themselves, using the \\slashedGrace function.\n\n    \\acciaccatura d8 c4\n    \\appoggiatura e8 d4\n    \\acciaccatura { g16 f } e2\n    \\slashedGrace a,8 g4\n    \\slashedGrace b16 a4(\n    \\slashedGrace b8 a2)\n\nThe placement of grace notes is synchronized between different staves. In the following example, there are two sixteenth grace notes for every eighth grace note\n\n    <<\n      \\new Staff { e2 \\grace { c16 d e f } e2 }\n      \\new Staff { c2 \\grace { g8 b } c2 }\n    >>" , } , { label : "\\arpeggio" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioArrowDown" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioArrowUp" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioBracket" , detail : "Arpeggio" , documentation : "Special bracketed arpeggio symbols can be created:\n\n    <c e g c>2\n    \\arpeggioBracket\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesis\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesisDashed\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio\n\nThe dash properties of the parenthesis arpeggio are controlled with the 'dash-details property, which is described at Slurs.\n\nArpeggios can be explicitly written out with ties. For more information, see Ties." , } , { label : "\\arpeggioNormal" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioParenthesis" , detail : "Arpeggio" , documentation : "Special bracketed arpeggio symbols can be created:\n\n    <c e g c>2\n    \\arpeggioBracket\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesis\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesisDashed\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio\n\nThe dash properties of the parenthesis arpeggio are controlled with the 'dash-details property, which is described at Slurs.\n\nArpeggios can be explicitly written out with ties. For more information, see Ties." , } , { label : "\\arpeggioParenthesisDashed" , detail : "Arpeggio" , documentation : "Special bracketed arpeggio symbols can be created:\n\n    <c e g c>2\n    \\arpeggioBracket\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesis\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesisDashed\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio\n\nThe dash properties of the parenthesis arpeggio are controlled with the 'dash-details property, which is described at Slurs.\n\nArpeggios can be explicitly written out with ties. For more information, see Ties." , } , { label : "\\arrow-head" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\arrow-head" , detail : "A.10.3 Graphic" , documentation : "Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.\n\n    \\markup {\n      \\fontsize #5 {\n        \\general-align #Y #DOWN {\n          \\arrow-head #Y #UP ##t\n          \\arrow-head #Y #DOWN ##f\n          \\hspace #2\n          \\arrow-head #X #RIGHT ##f\n          \\arrow-head #X #LEFT ##f\n        }\n      }\n    }" , } , { label : "\\ascendens" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\ascendens" , detail : "Predefined commands" , documentation : "" , } , { label : "\\auctum" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\auctum" , detail : "Predefined commands" , documentation : "" , } , { label : "\\augmentum" , detail : "Predefined commands" , documentation : "Use the unary music function \\augmentum to add augmentum dots." , } , { label : "\\auto-footnote" , detail : "A.10.7 Other" , documentation : "Have footnote note act as an annotation to the markup mkup.\n\n    \\markup {\n      \\auto-footnote a b\n      \\override #'(padding . 0.2)\n      \\auto-footnote c d\n    }\n\nThe footnote will be annotated automatically.\n\nUsed properties:\n\n - padding (0.0)\n - raise (0.5)" , } , { label : "\\autoBeamOff" , detail : "Automatic beams" , documentation : "If these automatic decisions are not satisfactory, beaming can be entered explicitly; see Manual beams. Beams must be entered manually if beams are to be extended over rests.\n\nIf automatic beaming is not required, it may be turned off with \\autoBeamOff and on with \\autoBeamOn:\n\n    c4 c8 c8. c16 c8. c16 c8\n    \\autoBeamOff\n    c4 c8 c8. c16 c8.\n    \\autoBeamOn\n    c16 c8" , } , { label : "\\autoBeamOff" , detail : "Cross-staff stems" , documentation : "Chords that cross staves may be produced using the Span_stem_engraver. Care must be taken to ensure that automatic beams do not beam the notes on one staff when it’s not required on the other.\n\n    \\layout {\n      \\context {\n        \\PianoStaff\n        \\consists #Span_stem_engraver\n      }\n    }\n    {\n      \\new PianoStaff <<\n        \\new Staff {\n          <b d'>4 r d'16\\> e'8. g8 r\\!\n          e'8 f' g'4 e'2\n        }\n        \\new Staff {\n          \\clef bass\n          \\voiceOne\n          \\autoBeamOff\n          \\crossStaff { <e g>4 e, g16 a8. c8} d\n          \\autoBeamOn\n          g8 f g4 c2\n        }\n      >>\n    }\n\nFor the time being, this engraver can not be specified by its name in double quotes, but rather prefixing its name with a hash symbol #, due to the way it is implemented." , } , { label : "\\autoBeamOn" , detail : "Automatic beams" , documentation : "If these automatic decisions are not satisfactory, beaming can be entered explicitly; see Manual beams. Beams must be entered manually if beams are to be extended over rests.\n\nIf automatic beaming is not required, it may be turned off with \\autoBeamOff and on with \\autoBeamOn:\n\n    c4 c8 c8. c16 c8. c16 c8\n    \\autoBeamOff\n    c4 c8 c8. c16 c8.\n    \\autoBeamOn\n    c16 c8" , } , { label : "\\autochange" , detail : "Changing staff automatically" , documentation : 'Voices can be made to switch automatically between the top and the bottom staff. The syntax for this is\n\n    \\autochange …music…\n\nThis will create two staves inside the current staff group (usually a PianoStaff), called "up" and "down". The lower staff will be in the bass clef by default. The autochanger switches on the basis of the pitch (middle C is the turning point), and it looks ahead skipping over rests to switch in advance.\n\n    \\new PianoStaff {\n      \\autochange {\n        g4 a b c\'\n        d\'4 r a g\n      }\n    }' , } , { label : "\\backslashed-digit" , detail : "A.10.7 Other" , documentation : "A feta number, with backslash. This is for use in the context of figured bass notation.\n\n    \\markup {\n      \\backslashed-digit #5\n      \\hspace #2\n      \\override #'(thickness . 3)\n      \\backslashed-digit #7\n    }\n\nUsed properties:\n\n - thickness (1.6)\n - font-size (0)" , } , { label : "\\balloonGrobText" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonLengthOff" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonLengthOn" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonText" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\bar" , detail : "Bar lines" , documentation : 'Bar lines delimit measures, and are also used to indicate repeats. Normally, simple bar lines are automatically inserted into the printed output at places based on the current time signature.\n\nThe simple bar lines inserted automatically can be changed to other types with the \\bar command. For example, a closing double bar line is usually placed at the end of a piece:\n\n    e4 d c2 \\bar "|."\n\nIt is not invalid if the final note in a measure does not end on the automatically entered bar line: the note is assumed to carry over into the next measure. But if a long sequence of such carry-over measures appears the music can appear compressed or even flowing off the page. This is because automatic line breaks happen only at the end of complete measures, i.e., where all notes end before the end of a measure.\n\nNote: An incorrect duration can cause line breaks to be inhibited, leading to a line of highly compressed music or music which flows off the page.\n\n' , } , { label : "\\bar" , detail : "Bar lines" , documentation : 'The command ‘\\bar bartype’ is a shortcut for ‘\\set Timing.whichBar = bartype’. A bar line is created whenever the whichBar property is set.\n\nThe default bar type used for automatically inserted bar lines is "|". This may be changed at any time with ‘\\set Timing.defaultBarType = bartype’.' , } , { label : "\\barNumberCheck" , detail : "Bar and bar number checks" , documentation : "When copying large pieces of music, it can be helpful to check that the LilyPond bar number corresponds to the original that you are entering from. This can be checked with \\barNumberCheck, for example,\n\n\\barNumberCheck #123\n\n\nwill print a warning if the currentBarNumber is not 123 when it is processed." , } , { label : "\\beam" , detail : "A.10.3 Graphic" , documentation : "Create a beam with the specified parameters.\n\n    \\markup {\n      \\beam #5 #1 #2\n    }" , } , { label : "\\bendAfter" , detail : "Falls and doits" , documentation : "Falls and doits can be added to notes using the \\bendAfter command. The direction of the fall or doit is indicated with a plus or minus (up or down). The number indicates the pitch interval that the fall or doit will extend beyond the main note.\n\n    c2\\bendAfter #+4\n    c2\\bendAfter #-4\n    c2\\bendAfter #+6.5\n    c2\\bendAfter #-6.5\n    c2\\bendAfter #+8\n    c2\\bendAfter #-8" , } , { label : "\\bold" , detail : "Selecting font and font size" , documentation : "Basic font switching is supported in markup mode:\n\n    d1^\\markup {\n      \\bold { Più mosso }\n      \\italic { non troppo \\underline Vivo }\n    }\n    r2 r4 r8\n    d,_\\markup { \\italic quasi \\smallCaps Tromba }\n    f1 d2 r" , } , { label : "\\bold" , detail : "A.10.1 Font" , documentation : "Switch to bold font-series.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\bold\n      bold\n    }" , } , { label : "\\book" , detail : "3.1.2 Multiple scores in a book" , documentation : "A document may contain multiple pieces of music and text. Examples of these are an etude book, or an orchestral part with multiple movements. Each movement is entered with a \\score block,\n\n    \\score {\n      …music…\n    }\n\nand texts are entered with a \\markup block,\n\n    \\markup {\n      …text…\n    }" , } , { label : "\\book" , detail : "3.1.2 Multiple scores in a book" , documentation : 'All the movements and texts which appear in the same ‘.ly’ file will normally be typeset in the form of a single output file.\n\n    \\score {\n      …\n    }\n    \\markup {\n      …\n    }\n    \\score {\n      …\n    }\n\nOne important exception is within lilypond-book documents, where you explicitly have to add a \\book block, otherwise only the first \\score or \\markup will appear in the output.\n\nThe header for each piece of music can be put inside the \\score block. The piece name from the header will be printed before each movement. The title for the entire book can be put inside the \\book, but if it is not present, the \\header which is at the top of the file is inserted.\n\n    \\header {\n      title = "Eight miniatures"\n      composer = "Igor Stravinsky"\n    }\n    \\score {\n      …\n      \\header { piece = "Romanze" }\n    }\n    \\markup {\n       …text of second verse…\n    }\n    \\markup {\n       …text of third verse…\n    }\n    \\score {\n      …\n      \\header { piece = "Menuetto" }\n    }' , } , { label : "\\book" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\bookOutputName" , detail : "3.1.4 Output file names" , documentation : 'Lilypond provides facilities to allow you to control what file names are used by the various back-ends when producing output files.\n\nIn the previous section, we saw how Lilypond prevents name-clashes when producing several ouputs from a single source file. You also have the ability to specify your own suffixes for each \\book block, so for example you can produce files called ‘eightminiatures-Romanze.pdf’, ‘eightminiatures-Menuetto.pdf’ and ‘eightminiatures-Nocturne.pdf’ by adding a \\bookOutputSuffix declaration inside each \\book block.\n\n    \\book {\n      \\bookOutputSuffix "Romanze"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputSuffix "Menuetto"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputSuffix "Nocturne"\n      \\score { … }\n      \\paper { … }\n    }\n\nYou can also specify a different output filename for book block, by using \\bookOutputName declarations\n\n    \\book {\n      \\bookOutputName "Romanze"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputName "Menuetto"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputName "Nocturne"\n      \\score { … }\n      \\paper { … }\n    }\n\nThe file above will produce these output files:\n\n - ‘Romanze.pdf’,\n - ‘Menuetto.pdf’ and\n - ‘Nocturne.pdf’.' , } , { label : "\\bookOutputSuffix" , detail : "3.1.4 Output file names" , documentation : 'Lilypond provides facilities to allow you to control what file names are used by the various back-ends when producing output files.\n\nIn the previous section, we saw how Lilypond prevents name-clashes when producing several ouputs from a single source file. You also have the ability to specify your own suffixes for each \\book block, so for example you can produce files called ‘eightminiatures-Romanze.pdf’, ‘eightminiatures-Menuetto.pdf’ and ‘eightminiatures-Nocturne.pdf’ by adding a \\bookOutputSuffix declaration inside each \\book block.\n\n    \\book {\n      \\bookOutputSuffix "Romanze"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputSuffix "Menuetto"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputSuffix "Nocturne"\n      \\score { … }\n      \\paper { … }\n    }\n\nYou can also specify a different output filename for book block, by using \\bookOutputName declarations\n\n    \\book {\n      \\bookOutputName "Romanze"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputName "Menuetto"\n      \\score { … }\n      \\paper { … }\n    }\n    \\book {\n      \\bookOutputName "Nocturne"\n      \\score { … }\n      \\paper { … }\n    }\n\nThe file above will produce these output files:\n\n - ‘Romanze.pdf’,\n - ‘Menuetto.pdf’ and\n - ‘Nocturne.pdf’.' , } , { label : "\\bookpart" , detail : "3.1.2 Multiple scores in a book" , documentation : 'Pieces of music may be grouped into book parts using \\bookpart blocks. Book parts are separated by a page break, and can start with a title, like the book itself, by specifying a \\header block.\n\n    \\bookpart {\n      \\header {\n        title = "Book title"\n        subtitle = "First part"\n      }\n      \\score { … }\n      …\n    }\n    \\bookpart {\n      \\header {\n        subtitle = "Second part"\n      }\n      \\score { … }\n      …\n    }' , } , { label : "\\bookpart" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\bookpart" , detail : "4.3.2 Page breaking" , documentation : 'When a book has many scores and pages, the page breaking problem may be difficult to solve, requiring large processing time and memory. To ease the page breaking process, \\bookpart blocks are used to divide the book into several parts: the page breaking occurs separately on each part. Different page breaking functions may also be used in different book parts.\n\n    \\bookpart {\n      \\header {\n        subtitle = "Preface"\n      }\n      \\paper {\n         %% In a part consisting mostly of text,\n         %% ly:minimal-breaking may be preferred\n         page-breaking = #ly:minimal-breaking\n      }\n      \\markup { … }\n      …\n    }\n    \\bookpart {\n      %% In this part, consisting of music, the default optimal\n      %% page breaking function is used.\n      \\header {\n        subtitle = "First movement"\n      }\n      \\score { … }\n      …\n    }' , } , { label : "\\box" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\box" , detail : "A.10.1 Font" , documentation : "Draw a box round arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup.\n\n    \\markup {\n      \\override #'(box-padding . 0.5)\n      \\box\n      \\line { V. S. }\n    }\n\nUsed properties:\n\n - box-padding (0.2)\n - font-size (0)\n - thickness (1)" , } , { label : "\\bracket" , detail : "New dynamic marks" , documentation : "In markup mode, editorial dynamics (within parentheses or square brackets) can be created. The syntax for markup mode is described in Formatting text.\n\n    roundF = \\markup {\n        \\center-align \\concat { \\bold { \\italic ( }\n               \\dynamic f \\bold { \\italic ) } } }\n    boxF = \\markup { \\bracket { \\dynamic f } }\n    \\relative c' {\n      c1_\\roundF\n      c1_\\boxF\n    }" , } , { label : "\\bracket" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\bracket" , detail : "A.10.3 Graphic" , documentation : 'Draw vertical brackets around arg.\n\n    \\markup {\n      \\bracket {\n        \\note #"2." #UP\n      }\n    }' , } , { label : "\\break" , detail : "Predefined commands" , documentation : "\\break, \\noBreak." , } , { label : "\\breathe" , detail : "Breath marks" , documentation : "Breath marks are entered using \\breathe:\n\n    c2. \\breathe d4\n\nA breath mark will end an automatic beam; to override this behavior, see Manual beams.\n\n    c8 \\breathe d e f g2\n\nMusical indicators for breath marks in ancient notation, divisiones, are supported. For details, see Divisiones." , } , { label : "\\breve" , detail : "Durations" , documentation : "Durations are designated by numbers and dots. Durations are entered as their reciprocal values. For example, a quarter note is entered using a 4 (since it is a 1/4 note), and a half note is entered using a 2 (since it is a 1/2 note). For notes longer than a whole you must use the \\longa (a double breve) and \\breve commands. Durations as short as 128th notes may be specified. Shorter values are possible, but only as beamed notes.\n\n    \\time 8/1\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nHere are the same durations with automatic beaming turned off.\n\n    \\time 8/1\n    \\autoBeamOff\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nA note with the duration of a quadruple breve may be entered with \\maxima, but this is supported only within ancient music notation. For details, see Ancient notation." , } , { label : "\\breve" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\cadenzaOff" , detail : "Unmetered music" , documentation : 'In metered music bar lines are inserted and bar numbers are calculated automatically. In unmetered music (i.e. cadenzas), this is not desirable and can be ‘switched off’ using the command \\cadenzaOn, then ‘switched back on’ at the appropriate place using \\cadenzaOff.\n\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nBar numbering is resumed at the end of the cadenza.\n\n    % Show all bar numbers\n    \\override Score.BarNumber.break-visibility = #all-visible\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nInserting a \\bar command within a cadenza does not start a new measure, even if a bar line is printed. So any accidentals – which are usually assumed to remain in force until the end of the measure – will still be valid after the bar line printed by \\bar. If subsequent accidentals should be printed, forced accidentals or reminder accidentals need to be inserted manually, see Accidentals.\n\n    c4 d e d\n    \\cadenzaOn\n    cis4 d cis d\n    \\bar "|"\n    % First cis is printed without alteration even if it\'s after a \\bar\n    cis4 d cis! d\n    \\cadenzaOff\n    \\bar "|"\n\nAutomatic beaming is disabled by \\cadenzaOn. Therefore, all beaming in cadenzas must be entered manually. See Manual beams.\n\n    \\repeat unfold 8 { c8 }\n    \\cadenzaOn\n    cis8 c c c c\n    \\bar"|"\n    c8 c c\n    \\cadenzaOff\n    \\repeat unfold 8 { c8 }\n\nThese predefined commands affect all staves in the score, even when placed in just one Voice context. To change this, move the Timing_translator from the Score context to the Staff context. See Polymetric notation.' , } , { label : "\\cadenzaOn" , detail : "Unmetered music" , documentation : 'In metered music bar lines are inserted and bar numbers are calculated automatically. In unmetered music (i.e. cadenzas), this is not desirable and can be ‘switched off’ using the command \\cadenzaOn, then ‘switched back on’ at the appropriate place using \\cadenzaOff.\n\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nBar numbering is resumed at the end of the cadenza.\n\n    % Show all bar numbers\n    \\override Score.BarNumber.break-visibility = #all-visible\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nInserting a \\bar command within a cadenza does not start a new measure, even if a bar line is printed. So any accidentals – which are usually assumed to remain in force until the end of the measure – will still be valid after the bar line printed by \\bar. If subsequent accidentals should be printed, forced accidentals or reminder accidentals need to be inserted manually, see Accidentals.\n\n    c4 d e d\n    \\cadenzaOn\n    cis4 d cis d\n    \\bar "|"\n    % First cis is printed without alteration even if it\'s after a \\bar\n    cis4 d cis! d\n    \\cadenzaOff\n    \\bar "|"\n\nAutomatic beaming is disabled by \\cadenzaOn. Therefore, all beaming in cadenzas must be entered manually. See Manual beams.\n\n    \\repeat unfold 8 { c8 }\n    \\cadenzaOn\n    cis8 c c c c\n    \\bar"|"\n    c8 c c\n    \\cadenzaOff\n    \\repeat unfold 8 { c8 }\n\nThese predefined commands affect all staves in the score, even when placed in just one Voice context. To change this, move the Timing_translator from the Score context to the Staff context. See Polymetric notation.' , } , { label : "\\caesura" , detail : "Predefined commands" , documentation : "" , } , { label : "\\caps" , detail : "A.10.1 Font" , documentation : "Copy of the \\smallCaps command.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\caps {\n        Text in small caps\n      }\n    }" , } , { label : "\\cavum" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\cavum" , detail : "Predefined commands" , documentation : "" , } , { label : "\\center-align" , detail : "Text alignment" , documentation : "Markup objects may be aligned in different ways. By default, a text indication is aligned on its left edge: in the following example, there is no difference between the first and the second markup.\n\n    d1-\\markup { poco }\n    f\n    d-\\markup { \\left-align poco }\n    f\n    d-\\markup { \\center-align { poco } }\n    f\n    d-\\markup { \\right-align poco }" , } , { label : "\\center-align" , detail : "A.10.2 Align" , documentation : "Align arg to its X center.\n\n    \\markup {\n      \\column {\n        one\n        \\center-align\n        two\n        three\n      }\n    }" , } , { label : "\\center-column" , detail : "Text alignment" , documentation : 'A markup object may include several lines of text. In the following example, each element or expression is placed on its own line, either left-aligned or centered:\n\n    \\markup {\n      \\column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n      \\hspace #10\n      \\center-column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n    }' , } , { label : "\\center-column" , detail : "A.10.2 Align" , documentation : "Put args in a centered column.\n\n    \\markup {\n      \\center-column {\n        one\n        two\n        three\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\change" , detail : "Changing staff manually" , documentation : 'Voices can be switched between staves manually, using the command\n\n    \\change Staff = staffname\n\nThe string staffname is the name of the staff. It switches the current voice from its current staff to the staff called staffname. Typical values for staffname are "up" and "down", or "RH" and "LH".\n\nThe staff to which the voice is being switched must exist at the time of the switch. If necessary, staves should be “kept alive”, see Keeping contexts alive.\n\nCross-staff notes are beamed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "up" {\n        <e\' c\'>8\n        \\change Staff = "down"\n        g8 fis g\n        \\change Staff = "up"\n        <g\'\' c\'\'>8\n        \\change Staff = "down"\n        e8 dis e\n        \\change Staff = "up"\n      }\n      \\new Staff = "down" {\n        \\clef bass\n        % keep staff alive\n        s1\n      }\n    >>\n\nIf the beaming needs to be tweaked, make any changes to the stem directions first. The beam positions are then measured from the center of the staff that is closest to the beam. For a simple example of beam tweaking, see notation Fixing overlapping notation.' , } , { label : "\\char" , detail : "A.10.7 Other" , documentation : "Produce a single character. Characters encoded in hexadecimal format require the prefix #x.\n\n    \\markup {\n      \\char #65 \\char ##x00a9\n    }" , } , { label : "\\chordmode" , detail : "Predefined fret diagrams" , documentation : 'It is common that both chord names and fret diagrams are displayed together. This is achieved by putting a ChordNames context in parallel with a FretBoards context and giving both contexts the same music.\n\n    \\include "predefined-guitar-fretboards.ly"\n    mychords = \\chordmode{\n      c1 f g\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>' , } , { label : "\\chordRepeats" , detail : "Default tablatures" , documentation : 'Chord constructs can be repeated by the chord repetition symbol q. In combination with tabulatures, its behavior of removing string and finger numbers alongside with other events is cumbersome, so you’ll want to run\n\n    \\chordRepeats #\'(string-number-event fingering-event)\n\nexplicitly on music expressions in tabulature using Chord repetition. This particular command is so common that it is available as \\tabChordRepeats.\n\n    guitar = \\relative c\' {\n      r8 <gis-2 cis-3 b-0>~ q4 q8~ q q4\n    }\n    \\new StaffGroup <<\n      \\new Staff {\n        \\clef "treble_8"\n        \\guitar\n      }\n      \\new TabStaff {\n        \\tabChordRepeats \\guitar\n      }\n    >>\n\nTies over a line break are parenthesized by default. The same holds for the second alternative of a repeat.\n\n    ties = \\relative c\' {\n      \\repeat volta 2 {\n        e2. f4~\n        f2 g2~\n      }\n      \\alternative {\n         { g4 f2. }\n         { g4\\repeatTie c,2. }\n      }\n      b1~\n      \\break\n      b1\n      \\bar "|."\n    }\n    \\score {\n      <<\n        \\new StaffGroup  <<\n          \\new Staff {\n            \\clef "treble_8"\n            \\ties\n          }\n          \\new TabStaff {\n            \\ties\n          }\n        >>\n      >>\n      \\layout {\n      indent = #0\n      ragged-right = ##t\n      }\n    }' , } , { label : "\\circle" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\circle" , detail : "A.10.3 Graphic" , documentation : "Draw a circle around arg. Use thickness, circle-padding and font-size properties to determine line thickness and padding around the markup.\n\n    \\markup {\n      \\circle {\n        Hi\n      }\n    }\n\nUsed properties:\n\n - circle-padding (0.2)\n - font-size (0)\n - thickness (1)" , } , { label : "\\clef" , detail : "Clef" , documentation : "The clef may be altered. Middle C is shown in every example. The following clef names can (but do not need to) be enclosed in quotes.\n\n    \\clef treble\n    c2 c\n    \\clef alto\n    c2 c\n    \\clef tenor\n    c2 c\n    \\clef bass\n    c2 c\n\nOther clefs include:\n\n    \\clef french\n    c2 c\n    \\clef soprano\n    c2 c\n    \\clef mezzosoprano\n    c2 c\n    \\clef baritone\n    c2 c\n    \\break\n    \\clef varbaritone\n    c2 c\n    \\clef subbass\n    c2 c\n    \\clef percussion\n    c2 c\n    \\break\n    \\clef G   % synonym for treble\n    c2 c\n    \\clef F   % synonym for bass\n    c2 c\n    \\clef C   % synonym for alto\n    c2 c" , } , { label : "\\cm" , detail : "5.4.3 Distances and measurements" , documentation : "Distances in LilyPond are of two types: absolute and scaled.\n\nAbsolute distances are used for specifying margins, indents, and other page layout details, and are by default specified in millimeters. Distances may be specified in other units by following the quantity by \\mm, \\cm, \\in (inches), or \\pt (points, 1/72.27 of an inch). Page layout distances can also be specified in scalable units (see the following paragraph) by appending \\staff-space to the quantity. Page layout is described in detail in Page layout.\n\nScaled distances are always specified in units of the staff-space or, rarely, the half staff-space. The staff-space is the distance between two adjacent staff lines. The default value can be changed globally by setting the global staff size, or it can be overridden locally by changing the staff-space property of StaffSymbol. Scaled distances automatically scale with any change to the either the global staff size or the staff-space property of StaffSymbol, but fonts scale automatically only with changes to the global staff size. The global staff size thus enables the overall size of a rendered score to be easily varied. For the methods of setting the global staff size see Setting the staff size." , } , { label : "\\coda" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\column" , detail : "Text alignment" , documentation : 'A markup object may include several lines of text. In the following example, each element or expression is placed on its own line, either left-aligned or centered:\n\n    \\markup {\n      \\column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n      \\hspace #10\n      \\center-column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n    }' , } , { label : "\\column" , detail : "A.10.2 Align" , documentation : "Stack the markups in args vertically. The property baseline-skip determines the space between markups in args.\n\n    \\markup {\n      \\column {\n        one\n        two\n        three\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\column-lines" , detail : "A.11 Text markup list commands" , documentation : "Like \\column, but return a list of lines instead of a single markup. baseline-skip determines the space between each markup in args.\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\combine" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\combine" , detail : "A.10.2 Align" , documentation : "Print two markups on top of each other.\n\nNote: \\combine cannot take a list of markups enclosed in curly braces as an argument; the follow example will not compile:\n\n    \\combine { a list }\n\n    \\markup {\n      \\fontsize #5\n      \\override #'(thickness . 2)\n      \\combine\n        \\draw-line #'(0 . 4)\n        \\arrow-head #Y #DOWN ##f\n    }" , } , { label : "\\compoundMeter" , detail : "Different time signatures with unequal-length measures" , documentation : "These are created using the \\compoundMeter function. The syntax for this is:\n\n    \\compoundMeter #'(list of lists)\n\nThe simplest construction is a single list, where the last number indicates the bottom number of the time signature and those that come before it, the top numbers.\n\n    \\relative c' {\n      \\compoundMeter #'((2 2 2 8))\n      \\repeat unfold 6 c8 \\repeat unfold 12 c16\n    }\n\nMore complex meters can be constructed using additional lists. Also, automatic beaming settings will be adjusted depending on the values.\n\n    \\relative c' {\n      \\compoundMeter #'((1 4) (3 8))\n      \\repeat unfold 5 c8 \\repeat unfold 10 c16\n    }\n    \\relative c' {\n      \\compoundMeter #'((1 2 3 8) (3 4))\n      \\repeat unfold 12 c8\n    }" , } , { label : "\\compressFullBarRests" , detail : "Full measure rests" , documentation : "By default a multi-measure rest is expanded in the printed score to show all the rest measures explicitly. Alternatively, a multi-measure rest can be shown as a single measure containing a multi-measure rest symbol, with the number of measures of rest printed above the measure:\n\n    % Default behavior\n    \\time 3/4 r2. | R2.*2 |\n    \\time 2/4 R2 |\n    \\time 4/4\n    % Rest measures contracted to single measure\n    \\compressFullBarRests\n    r1 | R1*17 | R1*4 |\n    % Rest measures expanded\n    \\expandFullBarRests\n    \\time 3/4\n    R2.*2 |" , } , { label : "\\compressFullBarRests" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\concat" , detail : "A.10.2 Align" , documentation : 'Concatenate args in a horizontal line, without spaces in between. Strings and simple markups are concatenated on the input level, allowing ligatures. For example, \\concat { "f" \\simple #"i" } is equivalent to "fi".\n\n    \\markup {\n      \\concat {\n        one\n        two\n        three\n      }\n    }' , } , { label : "\\consists" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\context" , detail : "5.1.2 Creating and referencing contexts" , documentation : 'LilyPond will create lower-level contexts automatically if a music expression is encountered before a suitable context exists, but this is usually successful only for simple scores or music fragments like the ones in the documentation. For more complex scores it is advisable to specify all contexts explicitly with either the \\new or \\context command. The syntax of these two commands is very similar:\n\n    [\\new | \\context] Context [ = name] [music-expression]\n\nwhere either \\new or \\context may be specified. Context is the type of context which is to be created, name is an optional name to be given to the particular context being created and music-expression is a single music expression that is to be interpreted by the engravers and performers in this context.\n\nThe \\new prefix without a name is commonly used to create scores with many staves:\n\n    <<\n      \\new Staff {\n        % leave the Voice context to be created implicitly\n        c4 c\n      }\n      \\new Staff {\n        d4 d\n      }\n    >>\n\nand to place several voices into one staff:\n\n    <<\n      \\new Staff <<\n        \\new Voice {\n          \\voiceOne\n          c8 c c4 c c\n        }\n        \\new Voice {\n          \\voiceTwo\n          g4 g g g\n        }\n      >>\n    >>\n\n\\new should always be used to specify unnamed contexts.\n\nThe difference between \\new and \\context is in the action taken:\n\n - \\new with or without a name will always create a fresh, distinct, context, even if one with the same name already exists:\n<<\n  \\new Staff <<\n    \\new Voice = "A" {\n      \\voiceOne\n      c8 c c4 c c\n    }\n    \\new Voice = "A" {\n      \\voiceTwo\n      g4 g g g\n    }\n  >>\n>>\n \n\n\n - \\context with a name specified will create a distinct context only if a context of the same type with the same name in the same context hierarchy does not already exist. Otherwise it will be taken as a reference to that previously created context, and its music expression will be passed to that context for interpretation.\nOne application of named contexts is in separating the score layout from the musical content. Either of these two forms is valid:\n\n\\score {\n  <<\n    % score layout\n    \\new Staff <<\n      \\new Voice = "one" {\n        \\voiceOne\n      }\n      \\new Voice = "two" {\n        \\voiceTwo\n      }\n    >>\n\n    % musical content\n    \\context Voice = "one" {\n      \\relative c\'\' {\n        c4 c c c\n      }\n    }\n    \\context Voice = "two" {\n      \\relative c\'\' {\n        g8 g g4 g g\n      }\n    }\n  >>\n}\n \n\n\\score {\n  <<\n    % score layout\n    \\new Staff <<\n      \\context Voice = "one" {\n        \\voiceOne\n      }\n      \\context Voice = "two" {\n        \\voiceTwo\n      }\n    >>\n\n    % musical content\n    \\context Voice = "one" {\n      \\relative c\'\' {\n        c4 c c c\n      }\n    }\n    \\context Voice = "two" {\n      \\relative c\'\' {\n        g8 g g4 g g\n      }\n    }\n  >>\n}\n \n\nAlternatively, variables may be employed to similar effect. See Organizing pieces with variables.\n\n\n - \\context with no name will match the first of any previously created contexts of the same type in the same context heirarchy, even one that has been given a name, and its music expression will be passed to that context for interpretation. This form is rarely useful. However, \\context with no name and no music expression is used to set the context in which a Scheme procedure specified with \\applyContext is executed:\n\\new Staff \\relative c\' {\n  c1\n  \\context Timing\n  \\applyContext #(lambda (ctx)\n                   (newline)\n                   (display (ly:context-current-moment ctx)))\n  c1\n}\n\n\nA context must be named if it is to be referenced later, for example when lyrics are associated with music:\n\n    \\new Voice = "tenor" music\n    …\n    \\new Lyrics \\lyricsto "tenor" lyrics\n\nFor details of associating lyrics with music see Automatic syllable durations.\n\nThe properties of all contexts of a particular type can be modified in a \\layout block (with a different syntax), see Changing all contexts of the same type. This construct also provides a means of keeping layout instructions separate from the musical content. If a single context is to be modified, a \\with block must be used, see Changing just one specific context.' , } , { label : "\\context" , detail : "Changing all contexts of the same type" , documentation : "The default context settings which are to be used for typesetting in Score, Staff, Voice and other contexts may be specified in a \\context block within any \\layout block.\n\nSettings for Midi output as opposed to typesetting will have to be separately specified in \\midi blocks (see Output definitions - blueprints for contexts).\n\nThe \\layout block should be placed within the \\score block to which it is to apply, after the music.\n\n    \\layout {\n      \\context {\n        \\Voice\n        [context settings for all Voice contexts]\n      }\n      \\context {\n        \\Staff\n        [context settings for all Staff contexts]\n      }\n    }\n\nThe following types of settings may be specified:\n\n - An \\override command, but with the context name omitted\n\\score {\n  \\relative c'' {\n    a4^\"Thicker stems\" a a a\n    a4 a a\\ff a\n  }\n  \\layout {\n    \\context {\n      \\Staff\n      \\override Stem.thickness = #4.0\n    }\n  }\n}\n \n\n\n - Directly setting a context property\n\\score {\n  \\relative c'' {\n    a4^\"Smaller font\" a a a\n    a4 a a\\ff a\n  }\n  \\layout {\n    \\context {\n      \\Staff\n      fontSize = #-4\n    }\n  }\n}\n \n\n\n - A predefined command such as \\dynamicUp or a music expression like \\accidentalStyle dodecaphonic\n\\score {\n  \\relative c'' {\n    a4^\"Dynamics above\" a a a\n    a4 a a\\ff a\n  }\n  \\layout {\n    \\context {\n      \\Voice\n      \\dynamicUp\n    }\n    \\context {\n      \\Staff\n      \\accidentalStyle dodecaphonic\n    }\n  }\n}\n \n\n\n - A user-defined variable containing a \\with block; for details of the \\with block see Changing just one specific context.\nStaffDefaults = \\with {\n  fontSize = #-4\n}\n\n\\score {\n  \\new Staff {\n    \\relative c'' {\n      a4^\"Smaller font\" a a a\n      a4 a a a\n    }\n  }\n  \\layout {\n    \\context {\n      \\Staff\n      \\StaffDefaults\n    }\n  }\n}\n \n\n\n\nProperty-setting commands can be placed in a \\layout block without being enclosed in a \\context block. Such settings are equivalent to including the same property-setting commands at the start of every context of the type specified. If no context is specified every bottom-level context is affected, see Bottom-level contexts - voices. The syntax of a property-setting command in a \\layout block is the same as the same command written in the music stream.\n\n    \\score {\n      \\new Staff {\n        \\relative c'' {\n          a4^\"Smaller font\" a a a\n          a4 a a a\n        }\n      }\n      \\layout {\n        \\accidentalStyle dodecaphonic\n        \\set fontSize = #-4\n        \\override Voice.Stem.thickness = #4.0\n      }\n    }" , } , { label : "\\cr" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\cresc" , detail : "Dynamics" , documentation : "Textual crescendo marks begin with \\cresc. Textual decrescendos begin with \\decresc or \\dim. Extender lines are engraved as required.\n\n    g8\\cresc a b c b c d e\\mf |\n    f8\\decresc e d c e\\> d c b |\n    a1\\dim ~ |\n    a2. r4\\! |" , } , { label : "\\crescHairpin" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\crescTextCresc" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\crossStaff" , detail : "Cross-staff stems" , documentation : "Chords that cross staves may be produced using the Span_stem_engraver. Care must be taken to ensure that automatic beams do not beam the notes on one staff when it’s not required on the other.\n\n    \\layout {\n      \\context {\n        \\PianoStaff\n        \\consists #Span_stem_engraver\n      }\n    }\n    {\n      \\new PianoStaff <<\n        \\new Staff {\n          <b d'>4 r d'16\\> e'8. g8 r\\!\n          e'8 f' g'4 e'2\n        }\n        \\new Staff {\n          \\clef bass\n          \\voiceOne\n          \\autoBeamOff\n          \\crossStaff { <e g>4 e, g16 a8. c8} d\n          \\autoBeamOn\n          g8 f g4 c2\n        }\n      >>\n    }\n\nFor the time being, this engraver can not be specified by its name in double quotes, but rather prefixing its name with a hash symbol #, due to the way it is implemented." , } , { label : "\\cueClef" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\cueDuring" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\cueDuringWithClef" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\customTabClef" , detail : "A.10.4 Music" , documentation : "Draw a tab clef sans-serif style." , } , { label : "\\decr" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\decresc" , detail : "Dynamics" , documentation : "Textual crescendo marks begin with \\cresc. Textual decrescendos begin with \\decresc or \\dim. Extender lines are engraved as required.\n\n    g8\\cresc a b c b c d e\\mf |\n    f8\\decresc e d c e\\> d c b |\n    a1\\dim ~ |\n    a2. r4\\! |" , } , { label : "\\defaultchild" , detail : "5.1.7 Context layout order" , documentation : "Note that a context will be silently created implicitly if a command is encountered when there is no suitable context available to contain it.\n\nWithin a context definition, the type of subcontext to be implicitly created is specified using \\defaultchild. A number of music events require a ‘Bottom’ context: when such an event is encountered, subcontexts are created recursively until reaching a context with no ‘defaultchild’ setting.\n\nImplicit context creation can at times give rise to unexpected new staves or scores. Using \\new to create contexts explicitly avoids those problems." , } , { label : "\\defaultTimeSignature" , detail : "Time signature" , documentation : "The time signature symbol that is used in 2/2 and 4/4 time can be changed to a numeric style:\n\n    % Default style\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Change to numeric style\n    \\numericTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Revert to default style\n    \\defaultTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n\nMensural time signatures are covered in Mensural time signatures." , } , { label : "\\defineBarLine" , detail : "Bar lines" , documentation : 'New bar line types can be defined with \\defineBarLine:\n\n    \\defineBarLine bartype #\'(end begin span)\n\nThe \\defineBarline variables can include the ‘empty’ string "", which is equivalent to an invisible bar line being printed. Or they can be set to #f which prints no bar line at all.\n\nAfter the definiton, the new bar line can be used by \\bar bartype.\n\nThere are currently ten bar line elements available:\n\n    \\defineBarLine ":" #\'("" ":" "")\n    \\defineBarLine "=" #\'("=" "" "")\n    \\defineBarLine "[" #\'("" "[" "")\n    \\defineBarLine "]" #\'("]" "" "")\n    \\new Staff {\n      s1 \\bar "|"\n      s1 \\bar "."\n      s1 \\bar "!"\n      s1 \\bar ";"\n      s1 \\bar ":"\n      s1 \\bar "k"\n      s1 \\bar "S"\n      s1 \\bar "="\n      s1 \\bar "["\n      s1 \\bar "]"\n      s1 \\bar ""\n    }\n\nThe "=" bar line provides the double span bar line, used in combination with the segno sign. Do not use it as a standalone double thin bar line; here, \\bar "||" is preferred.\n\nThe "-" sign starts annotations to bar lines which are useful to distinguish those with identical appearance but different behavior at line breaks and/or different span bars. The part following the "-" sign is not used for building up the bar line.\n\n    \\defineBarLine "||-dashedSpan" #\'("||" "" "!!")\n    \\new StaffGroup <<\n      \\new Staff {\n        c1 \\bar "||"\n        c1 \\bar "||-dashedSpan"\n        c1\n      }\n      \\new Staff {\n        c1\n        c1\n        c1\n      }\n    >>\n\nFurthermore, the space character " " serves as a placeholder for defining span bars correctly aligned to the main bar lines:\n\n    \\defineBarLine ":|.-wrong" #\'(":|." "" "|.")\n    \\defineBarLine ":|.-right" #\'(":|." "" " |.")\n    \\new StaffGroup <<\n      \\new Staff {\n        c1 \\bar ":|.-wrong"\n        c1 \\bar ":|.-right"\n        c1\n      }\n      \\new Staff {\n        c1\n        c1\n        c1\n      }\n    >>\n\nIf additional elements are needed, LilyPond provides a simple way to define them. For more informations on modifying or adding bar lines, see file ‘scm/bar-line.scm’.\n\nIn scores with many staves, a \\bar command in one staff is automatically applied to all staves. The resulting bar lines are connected between different staves of a StaffGroup, PianoStaff, or GrandStaff.\n\n    <<\n      \\new StaffGroup <<\n        \\new Staff {\n          e4 d\n          \\bar "||"\n          f4 e\n        }\n        \\new Staff { \\clef bass c4 g e g }\n      >>\n      \\new Staff { \\clef bass c2 c2 }\n    >>' , } , { label : "\\deminutum" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\deminutum" , detail : "Predefined commands" , documentation : "" , } , { label : "\\denies" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\denies" , detail : "5.1.6 Defining new contexts" , documentation : 'The opposite of \\accepts is \\denies, which is sometimes needed when reusing existing context definitions.\n\nPutting both into a \\layout block, like\n\n    \\layout {\n      \\context {\n        \\name ImproVoice\n        …\n      }\n      \\context {\n        \\Staff\n        \\accepts "ImproVoice"\n      }\n    }\n\nThen the output at the start of this subsection can be entered as\n\n    \\relative c\'\' {\n      a4 d8 bes8\n      \\new ImproVoice {\n        c4^"ad lib" c\n        c4 c^"undress"\n        c c_"while playing :)"\n      }\n      a1\n    }\n\nTo complete this example, changes affecting the context hierarchy should be repeated in a \\midi block so that Midi output depends on the same context relations.' , } , { label : "\\denies" , detail : "5.1.7 Context layout order" , documentation : "Contexts are normally positioned in a system from top to bottom in the order in which they are encountered in the input file. When contexts are nested, the outer context will include inner nested contexts as specified in the input file, provided the inner contexts are included in the outer context’s “accepts” list. Nested contexts which are not included in the outer context’s “accepts” list will be repositioned below the outer context rather than nested within it.\n\nThe “accepts” list of a context can be changed with the \\accepts or \\denies commands. \\accepts adds a context to the “accepts” list and \\denies removes a context from the list.\n\nFor example, a square-braced staff group is not usually found within a curved-braced staff with connecting staff bars, and a GrandStaff does not accept a StaffGroup inside it by default.\n\n    \\score {\n      \\new GrandStaff <<\n        \\new StaffGroup <<\n          \\new Staff { c'1 }\n          \\new Staff { d'1 }\n        >>\n        \\new Staff { \\set Staff.instrumentName = bottom f'1 }\n      >>\n    }\n\nHowever, by using the \\accepts command, StaffGroup can be added to the GrandStaff context:\n\n    \\score {\n      \\new GrandStaff <<\n        \\new StaffGroup <<\n          \\new Staff { c'1 }\n          \\new Staff { d'1 }\n        >>\n        \\new Staff { \\set Staff.instrumentName = bottom f'1 }\n      >>\n      \\layout {\n        \\context {\n          \\GrandStaff\n          \\accepts \"StaffGroup\"\n        }\n      }\n    }\n\n\\denies is mainly used when a new context is being based on another, but the required nesting differs. For example, the VaticanaStaff context is based on the Staff context, but with the VaticanaVoice context substituted for the Voice context in the “accepts” list." , } , { label : "\\descendens" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\descendens" , detail : "Predefined commands" , documentation : "" , } , { label : "\\dim" , detail : "Dynamics" , documentation : "Textual crescendo marks begin with \\cresc. Textual decrescendos begin with \\decresc or \\dim. Extender lines are engraved as required.\n\n    g8\\cresc a b c b c d e\\mf |\n    f8\\decresc e d c e\\> d c b |\n    a1\\dim ~ |\n    a2. r4\\! |" , } , { label : "\\dimHairpin" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dimTextDecr" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dimTextDecresc" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dimTextDim" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dir-column" , detail : "A.10.2 Align" , documentation : "Make a column of args, going up or down, depending on the setting of the direction layout property.\n\n    \\markup {\n      \\override #`(direction . ,UP) {\n        \\dir-column {\n          going up\n        }\n      }\n      \\hspace #1\n      \\dir-column {\n        going down\n      }\n      \\hspace #1\n      \\override #'(direction . 1) {\n        \\dir-column {\n          going up\n        }\n      }\n    }\n\nUsed properties:\n\n - baseline-skip\n - direction" , } , { label : "\\discant" , detail : "A.10.6 Accordion Registers" , documentation : "\\discant name generates a discant accordion register symbol.\n\nTo make it available,\n\n    #(use-modules (scm accreg))\n\nis required near the top of your input file.\n\nThe register names in the default \\discant register set have modeled after numeric Swiss notation like depicted in http://de.wikipedia.org/wiki/Register_%28Akkordeon%29, omitting the slashes and dropping leading zeros.\n\nThe string name is basically a three-digit number with the lowest digit specifying the number of 16’ reeds, the tens the number of 8’ reeds, and the hundreds specifying the number of 4’ reeds. Without modification, the specified number of reeds in 8’ is centered in the symbol. Newer instruments may have registrations where 8’ can be used either within or without a tone chamber, ‘cassotto’. Notationally, the central dot then indicates use of cassotto. One can suffix the tens’ digits ‘1’ and ‘2’ with ‘+’ or ‘-’ to indicate clustering the dots at the right or left respectively rather than centered.\n\nSome examples are\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\displayLilyMusic" , detail : "3.6.1 Displaying LilyPond notation" , documentation : "Displaying a music expression in LilyPond notation can be done with the music function \\displayLilyMusic. To see the output, you will typically want to call LilyPond using the command line. For example,\n\n    {\n      \\displayLilyMusic \\transpose c a, { c4 e g a bes }\n    }\n\nwill display\n\n    { a,4 cis e fis g }\n\nBy default, LilyPond will print these messages to the console along with all the other LilyPond compilation messages. To split up these messages and save the results of \\displayLilyMusic, redirect the output to a file.\n\n    lilypond file.ly >display.txt" , } , { label : "\\divisioMaior" , detail : "Predefined commands" , documentation : "" , } , { label : "\\divisioMaxima" , detail : "Predefined commands" , documentation : "" , } , { label : "\\divisioMinima" , detail : "Predefined commands" , documentation : "" , } , { label : "\\dorian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\dotsDown" , detail : "Durations" , documentation : "Dots are normally moved up to avoid staff lines, except in polyphonic situations. Dots may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\dotsNeutral" , detail : "Durations" , documentation : "Dots are normally moved up to avoid staff lines, except in polyphonic situations. Dots may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\dotsUp" , detail : "Durations" , documentation : "Dots are normally moved up to avoid staff lines, except in polyphonic situations. Dots may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\doubleflat" , detail : "A.10.4 Music" , documentation : "Draw a double flat symbol.\n\n    \\markup {\n      \\doubleflat\n    }" , } , { label : "\\doublesharp" , detail : "A.10.4 Music" , documentation : "Draw a double sharp symbol.\n\n    \\markup {\n      \\doublesharp\n    }" , } , { label : "\\downbow" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\downbow" , detail : "Bowing indications" , documentation : 'Bowing indications are created as articulations, which are described in Articulations and ornamentations.\n\nThe bowing commands, \\upbow and \\downbow, are used with slurs as follows:\n\n    c4(\\downbow d) e(\\upbow f)\n\nand the following example shows three ways in which an open A string on a violin might be indicated:\n\n    a4 \\open\n    a^\\markup { \\teeny "II" }\n    a2^\\markup { \\small "sul A" }' , } , { label : "\\downmordent" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\downprall" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\draw-circle" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\draw-circle" , detail : "A.10.3 Graphic" , documentation : "A circle of radius radius and thickness thickness, optionally filled.\n\n    \\markup {\n      \\draw-circle #2 #0.5 ##f\n      \\hspace #2\n      \\draw-circle #2 #0 ##t\n    }" , } , { label : "\\draw-dashed-line" , detail : "A.10.3 Graphic" , documentation : "A dashed line.\n\nIf full-length is set to #t (default) the dashed-line extends to the whole length given by dest, without white space at beginning or end. off will then be altered to fit. To insist on the given (or default) values of on, off use \\override #'(full-length . #f) Manual settings for on,off and phase are possible.\n\n    \\markup {\n      \\draw-dashed-line #'(5.1 . 2.3)\n      \\override #'(on . 0.3)\n      \\override #'(off . 0.5)\n      \\draw-dashed-line #'(5.1 . 2.3)\n    }\n\nUsed properties:\n\n - full-length (#t)\n - phase (0)\n - off (1)\n - on (1)\n - thickness (1)" , } , { label : "\\draw-dotted-line" , detail : "A.10.3 Graphic" , documentation : "A dotted line.\n\nThe dotted-line always extends to the whole length given by dest, without white space at beginning or end. Manual settings for off are possible to get larger or smaller space between the dots. The given (or default) value of off will be altered to fit the line-length.\n\n    \\markup {\n      \\draw-dotted-line #'(5.1 . 2.3)\n      \\override #'(thickness . 2)\n      \\override #'(off . 0.2)\n      \\draw-dotted-line #'(5.1 . 2.3)\n    }\n\nUsed properties:\n\n - phase (0)\n - off (1)\n - thickness (1)" , } , { label : "\\draw-hline" , detail : "A.10.3 Graphic" , documentation : "Draws a line across a page, where the property span-factor controls what fraction of the page is taken up.\n\n    \\markup {\n      \\column {\n        \\draw-hline\n        \\override #'(span-factor . 1/3)\n        \\draw-hline\n      }\n    }\n\nUsed properties:\n\n - span-factor (1)\n - line-width\n - draw-line-markup" , } , { label : "\\draw-line" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\draw-line" , detail : "A.10.3 Graphic" , documentation : "A simple line.\n\n    \\markup {\n      \\draw-line #'(4 . 4)\n      \\override #'(thickness . 5)\n      \\draw-line #'(-3 . 0)\n    }\n\nUsed properties:\n\n - thickness (1)" , } , { label : "\\drummode" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "\\dynamic" , detail : "New dynamic marks" , documentation : "In markup mode, editorial dynamics (within parentheses or square brackets) can be created. The syntax for markup mode is described in Formatting text.\n\n    roundF = \\markup {\n        \\center-align \\concat { \\bold { \\italic ( }\n               \\dynamic f \\bold { \\italic ) } } }\n    boxF = \\markup { \\bracket { \\dynamic f } }\n    \\relative c' {\n      c1_\\roundF\n      c1_\\boxF\n    }" , } , { label : "\\dynamic" , detail : "A.10.1 Font" , documentation : "Use the dynamic font. This font only contains s, f, m, z, p, and r. When producing phrases, like ‘più f’, the normal words (like ‘più’) should be done in a different font. The recommended font for this is bold and italic.\n\n    \\markup {\n      \\dynamic {\n        sfzp\n      }\n    }" , } , { label : "\\dynamicDown" , detail : "Dynamics" , documentation : "" , } , { label : "\\dynamicNeutral" , detail : "Dynamics" , documentation : "" , } , { label : "\\dynamicUp" , detail : "Dynamics" , documentation : "" , } , { label : "\\easyHeadsOff" , detail : "Easy notation note heads" , documentation : "The ‘easy play’ note head includes a note name inside the head. It is used in music for beginners. To make the letters readable, it should be printed in a large font size. To print with a larger font, see Setting the staff size.\n\n    #(set-global-staff-size 26)\n    \\relative c' {\n      \\easyHeadsOn\n      c2 e4 f\n      g1\n      \\easyHeadsOff\n      c,1\n    }" , } , { label : "\\easyHeadsOn" , detail : "Easy notation note heads" , documentation : "The ‘easy play’ note head includes a note name inside the head. It is used in music for beginners. To make the letters readable, it should be printed in a large font size. To print with a larger font, see Setting the staff size.\n\n    #(set-global-staff-size 26)\n    \\relative c' {\n      \\easyHeadsOn\n      c2 e4 f\n      g1\n      \\easyHeadsOff\n      c,1\n    }" , } , { label : "\\ellipse" , detail : "A.10.3 Graphic" , documentation : "Draw an ellipse around arg. Use thickness, x-padding, y-padding and font-size properties to determine line thickness and padding around the markup.\n\n    \\markup {\n      \\ellipse {\n        Hi\n      }\n    }\n\nUsed properties:\n\n - y-padding (0.2)\n - x-padding (0.2)\n - font-size (0)\n - thickness (1)" , } , { label : "\\epsfile" , detail : "Graphic notation inside markup" , documentation : 'Advanced graphic features include the ability to include external image files converted to the Encapsulated PostScript format (eps), or to directly embed graphics into the input file, using native PostScript code. In such a case, it may be useful to explicitly specify the size of the drawing, as demonstrated below:\n\n    c1^\\markup {\n      \\combine\n        \\epsfile #X #10 #"./context-example.eps"\n        \\with-dimensions #\'(0 . 6) #\'(0 . 10)\n        \\postscript #"\n          -2 3 translate\n          2.7 2 scale\n          newpath\n          2 -1 moveto\n          4 -2 4 1 1 arct\n          4 2 3 3 1 arct\n          0 4 0 3 1 arct\n          0 0 1 -1 1 arct\n          closepath\n          stroke"\n      }\n    c\n\nAn exhaustive list of graphics-specific commands can be found in Graphic.' , } , { label : "\\epsfile" , detail : "A.10.3 Graphic" , documentation : 'Inline an EPS image. The image is scaled along axis to size.\n\n    \\markup {\n      \\general-align #Y #DOWN {\n        \\epsfile #X #20 #"context-example.eps"\n        \\epsfile #Y #20 #"context-example.eps"\n      }\n    }' , } , { label : "\\espressivo" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\espressivo" , detail : "Dynamics" , documentation : "The \\espressivo command can be used to indicate a crescendo and decrescendo on the same note. However, be warned that this is implemented as an articulation, not a dynamic.\n\n    c2 b4 a\n    g1\\espressivo" , } , { label : "\\expandFullBarRests" , detail : "Full measure rests" , documentation : "By default a multi-measure rest is expanded in the printed score to show all the rest measures explicitly. Alternatively, a multi-measure rest can be shown as a single measure containing a multi-measure rest symbol, with the number of measures of rest printed above the measure:\n\n    % Default behavior\n    \\time 3/4 r2. | R2.*2 |\n    \\time 2/4 R2 |\n    \\time 4/4\n    % Rest measures contracted to single measure\n    \\compressFullBarRests\n    r1 | R1*17 | R1*4 |\n    % Rest measures expanded\n    \\expandFullBarRests\n    \\time 3/4\n    R2.*2 |" , } , { label : "\\expandFullBarRests" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\eyeglasses" , detail : "A.10.7 Other" , documentation : "Prints out eyeglasses, indicating strongly to look at the conductor.\n\n    \\markup { \\eyeglasses }" , } , { label : "\\f" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\featherDurations" , detail : "Feathered beams" , documentation : "Feathered beams are used to indicate that a small group of notes should be played at an increasing (or decreasing) tempo, without changing the overall tempo of the piece. The extent of the feathered beam must be indicated manually using [ and ], and the beam feathering is turned on by specifying a direction to the Beam property grow-direction.\n\nIf the placement of the notes and the sound in the MIDI output is to reflect the ritardando or accelerando indicated by the feathered beam the notes must be grouped as a music expression delimited by braces and preceded by a featherDurations command which specifies the ratio between the durations of the first and last notes in the group.\n\nThe square brackets show the extent of the beam and the braces show which notes are to have their durations modified. Normally these would delimit the same group of notes, but this is not required: the two commands are independent.\n\nIn the following example the eight 16th notes occupy exactly the same time as a half note, but the first note is one half as long as the last one, with the intermediate notes gradually lengthening. The first four 32nd notes gradually speed up, while the last four 32nd notes are at a constant tempo.\n\n    \\override Beam.grow-direction = #LEFT\n    \\featherDurations #(ly:make-moment 2/1)\n    { c16[ c c c c c c c] }\n    \\override Beam.grow-direction = #RIGHT\n    \\featherDurations #(ly:make-moment 2/3)\n    { c32[ d e f] }\n    % revert to non-feathered beams\n    \\override Beam.grow-direction = #'()\n    { g32[ a b c] }\n\nThe spacing in the printed output represents the note durations only approximately, but the MIDI output is exact." , } , { label : "\\fermata" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\fermata" , detail : "A.10.4 Music" , documentation : "Create a fermata glyph. When direction is DOWN, use an inverted glyph. Note that within music, one would usually use the \\fermata articulation instead of a markup.\n\n     { c1^\\markup \\fermata d1_\\markup \\fermata }\n    \\markup { \\fermata \\override #`(direction . ,DOWN) \\fermata }\n\nUsed properties:\n\n - direction (1)" , } , { label : "\\fermataMarkup" , detail : "Full measure rests" , documentation : 'Markups can be added to multi-measure rests. The predefined command \\fermataMarkup is provided for adding fermatas.\n\n    \\compressFullBarRests\n    \\time 3/4\n    R2.*10^\\markup { \\italic "ad lib." }\n    R2.^\\fermataMarkup\n\nNote: Markups attached to a multi-measure rest are objects of type MultiMeasureRestText, not TextScript. Overrides must be directed to the correct object, or they will be ignored. See the following example:\n\n\n\n    % This fails, as the wrong object name is specified\n    \\override TextScript.padding = #5\n    R1^"wrong"\n    % This is the correct object name to be specified\n    \\override MultiMeasureRestText.padding = #5\n    R1^"right"\n\nWhen a multi-measure rest immediately follows a \\partial setting, resulting bar-check warnings may not be displayed.' , } , { label : "\\fermataMarkup" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\fermataMarkup" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\ff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\ffff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fffff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fill-line" , detail : "Text alignment" , documentation : 'Similarly, a list of elements or expressions may be spread to fill the entire horizontal line width (if there is only one element, it will be centered on the page). These expressions can, in turn, include multi-line text or any other markup expression:\n\n    \\markup {\n      \\fill-line {\n        \\line { William S. Gilbert }\n        \\center-column {\n          \\huge \\smallCaps "The Mikado"\n          or\n          \\smallCaps "The Town of Titipu"\n        }\n        \\line { Sir Arthur Sullivan }\n      }\n    }\n    \\markup {\n      \\fill-line { 1885 }\n    }' , } , { label : "\\fill-line" , detail : "A.10.2 Align" , documentation : "Put markups in a horizontal line of width line-width. The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.\n\n    \\markup {\n      \\column {\n        \\fill-line {\n          Words evenly spaced across the page\n        }\n        \\null\n        \\fill-line {\n          \\line { Text markups }\n          \\line {\n            \\italic { evenly spaced }\n          }\n          \\line { across the page }\n        }\n      }\n    }\n\nUsed properties:\n\n - line-width (#f)\n - word-space (0.6)\n - text-direction (1)" , } , { label : "\\fill-with-pattern" , detail : "A.10.2 Align" , documentation : 'Put left and right in a horizontal line of width line-width with a line of markups pattern in between. Patterns are spaced apart by space. Patterns are aligned to the dir markup.\n\n    \\markup \\column {\n      "right-aligned :"\n      \\fill-with-pattern #1 #RIGHT . first right\n      \\fill-with-pattern #1 #RIGHT . second right\n      \\null\n      "center-aligned :"\n      \\fill-with-pattern #1.5 #CENTER - left right\n      \\null\n      "left-aligned :"\n      \\override #\'(line-width . 50)\n      \\fill-with-pattern #2 #LEFT : left first\n      \\override #\'(line-width . 50)\n      \\fill-with-pattern #2 #LEFT : left second\n    }\n\nUsed properties:\n\n - line-width\n - word-space' , } , { label : "\\filled-box" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\filled-box" , detail : "A.10.3 Graphic" , documentation : "Draw a box with rounded corners of dimensions xext and yext. For example,\n\n\\filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0\n\n\ncreates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).\n\n    \\markup {\n      \\filled-box #'(0 . 4) #'(0 . 4) #0\n      \\filled-box #'(0 . 2) #'(-4 . 2) #0.4\n      \\filled-box #'(1 . 8) #'(0 . 7) #0.2\n      \\with-color #white\n      \\filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7\n    }" , } , { label : "\\finalis" , detail : "Predefined commands" , documentation : "" , } , { label : "\\finger" , detail : "Fingering instructions" , documentation : 'Fingering instructions can be entered using ‘note-digit’:\n\n    c4-1 d-2 f-4 e-3\n\nMarkup texts or strings may be used for finger changes.\n\n    c4-1 d-2 f\\finger \\markup \\tied-lyric #"4~3" c\\finger "2 - 3"' , } , { label : "\\finger" , detail : "A.10.1 Font" , documentation : "Set arg as small numbers.\n\n    \\markup {\n      \\finger {\n        1 2 3 4 5\n      }\n    }" , } , { label : "\\flageolet" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\flat" , detail : "A.10.4 Music" , documentation : "Draw a flat symbol.\n\n    \\markup {\n      \\flat\n    }" , } , { label : "\\flexa" , detail : "Predefined commands" , documentation : "Two adjacent heads can be tied together with the \\pes and \\flexa infix commands for a rising and falling line of melody, respectively." , } , { label : "\\fontCaps" , detail : "A.10.1 Font" , documentation : "Set font-shape to caps\n\nNote: \\fontCaps requires the installation and selection of fonts which support the caps font shape." , } , { label : "\\fontsize" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\fontsize" , detail : "A.10.1 Font" , documentation : "Add increment to the font-size. Adjusts baseline-skip accordingly.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\fontsize #-1.5\n      smaller\n    }\n\nUsed properties:\n\n - baseline-skip (2)\n - word-space (1)\n - font-size (0)" , } , { label : "\\footnote" , detail : "Footnotes in music expressions" , documentation : "Footnotes in music expressions fall into two categories:\n\nEvent-based footnotes\nare attached to a particular event. Examples for such events are single notes, articulations (like fingering indications, accents, dynamics), and post-events (like slurs and manual beams). The general form for event-based footnotes is as follows:\n\n[direction] \\footnote [mark] offset footnote music\nTime-based footnotes\nare bound to a particular point of time in a musical context. Some commands like \\time and \\clef don’t actually use events for creating objects like time signatures and clefs. Neither does a chord create an event of its own: its stem or flag is created at the end of a time step (nominally through one of the note events inside). Exactly which of a chord’s multiple note events will be deemed the root cause of a stem or flag is undefined. So for annotating those, time-based footnotes are preferable as well.\n\nA time-based footnote allows such layout objects to be annotated without referring to an event. The general form for Time-based footnotes is:\n\n\\footnote [mark] offset footnote [Context].GrobName\n\n\nThe elements for both forms are:\n\ndirection\nIf (and only if) the \\footnote is being applied to a post-event or articulation, it must be preceded with a direction indicator (-, _, ^) in order to attach music (with a footnote mark) to the preceding note or rest.\n\nmark\nis a markup or string specifying the footnote mark which is used for marking both the reference point and the footnote itself at the bottom of the page. It may be omitted (or equivalently replaced with \\default) in which case a number in sequence will be generated automatically. Such numerical sequences restart on each page containing a footnote.\n\noffset\nis a number pair such as ‘#(2 . 1)’ specifying the X and Y offsets in units of staff-spaces from the boundary of the object where the mark should be placed. Positive values of the offsets are taken from the right/top edge, negative values from the left/bottom edge and zero implies the mark is centered on the edge.\n\nContext\nis the context in which the grob being footnoted is created. It may be omitted if the grob is in a bottom context, e.g. a Voice context.\n\nGrobName\nspecifies a type of grob to mark (like ‘Flag’). If it is specified, the footnote is not attached to a music expression in particular, but rather to all grobs of the type specified which occur at that moment of musical time.\n\nfootnote\nis the markup or string specifying the footnote text to use at the bottom of the page.\n\nmusic\nis the music event or post-event or articulation that is being annotated.\n\n" , } , { label : "\\footnote" , detail : "A.10.7 Other" , documentation : "Have footnote note act as an annotation to the markup mkup.\n\n    \\markup {\n      \\auto-footnote a b\n      \\override #'(padding . 0.2)\n      \\auto-footnote c d\n    }\n\nThe footnote will not be annotated automatically." , } , { label : "\\fp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fraction" , detail : "A.10.7 Other" , documentation : "Make a fraction of two markups.\n\n    \\markup {\n      π ≈\n      \\fraction 355 113\n    }\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\freeBass" , detail : "A.10.6 Accordion Registers" , documentation : "\\freeBass name generates a free bass/converter accordion register symbol for the usual two-reed layout.\n\nTo make it available,\n\n    #(use-modules (scm accreg))\n\nis required near the top of your input file.\n\nAvailable registrations are\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\frenchChords" , detail : "Predefined commands" , documentation : "" , } , { label : "\\fret-diagram" , detail : "Fret diagram markups" , documentation : 'The size of the fret diagram, and the number of frets in the diagram can be changed in the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n         \\chordmode {\n           f1 g\n         }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <f, c f a c\' f\'>1^\\markup {\n          \\fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"\n        }\n        <g, b, d g b g\'>1^\\markup {\n          \\fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"\n        }\n      }\n    >>\n\nThe number of strings in a fret diagram can be changed to accommodate different instruments such as banjos and ukuleles with the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          a1\n        }\n      }\n      \\new Staff {\n        % An \'A\' chord for ukulele\n        a\'1^\\markup {\n          \\fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"\n        }\n      }\n    >>\n\nFingering indications can be added, and the location of fingering labels can be controlled by the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"\n        }\n      }\n    >>\n\nDot radius and dot position can be controlled with the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"\n        }\n      }\n    >>' , } , { label : "\\fret-diagram" , detail : "A.10.5 Instrument Specific Markup" , documentation : 'Make a (guitar) fret diagram. For example, say\n\n    \\markup \\fret-diagram #"s:0.75;6-x;5-x;4-o;3-2;2-3;1-2;"\n\nfor fret spacing 3/4 of staff space, D chord diagram\n\nSyntax rules for definition-string:\n\n - - Diagram items are separated by semicolons.\n - - Possible items:\ns:number – Set the fret spacing of the diagram (in staff spaces). Default: 1.\nt:number – Set the line thickness (relative to normal line thickness). Default: 0.5.\nh:number – Set the height of the diagram in frets. Default: 4.\nw:number – Set the width of the diagram in strings. Default: 6.\nf:number – Set fingering label type (0 = none, 1 = in circle on string, 2 = below string). Default: 0.\nd:number – Set radius of dot, in terms of fret spacing. Default: 0.25.\np:number – Set the position of the dot in the fret space. 0.5 is centered; 1 is on lower fret bar, 0 is on upper fret bar. Default: 0.6.\nc:string1-string2-fret – Include a barre mark from string1 to string2 on fret.\nstring-fret – Place a dot on string at fret. If fret is ‘o’, string is identified as open. If fret is ‘x’, string is identified as muted.\nstring-fret-fingering – Place a dot on string at fret, and label with fingering as defined by the f: code.\n\n - - Note: There is no limit to the number of fret indications per string.\n\nUsed properties:\n\n - thickness (0.5)\n - fret-diagram-details\n - size (1.0)\n - align-dir (-0.4)' , } , { label : "\\fret-diagram-terse" , detail : "Fret diagram markups" , documentation : 'The fret-diagram-terse markup string omits string numbers; the string number is implied by the presence of semicolons. There is one semicolon for each string in the diagram. The first semicolon corresponds to the highest string number and the last semicolon corresponds to the first string. Mute strings, open strings, and fret numbers can be indicated.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram-terse #"x;3;2;o;1;o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram-terse #"x;x;o;2;3;1;"\n        }\n      }\n    >>\n\nBarre indicators can be included in the fret-diagram-terse markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          f1 g\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <f, c f a c\' f\'>1^\\markup {\n          \\fret-diagram-terse #"1-(;3;3;2;1;1-);"\n        }\n        <g, d g b d\' g\'>1^\\markup {\n          \\fret-diagram-terse #"3-(;5;5;4;3;3-);"\n        }\n      }\n    >>\n\nFingering indications can be included in the fret-diagram-terse markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\override Voice.TextScript.fret-diagram-details.finger-code = #\'below-string\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"\n        }\n      }\n    >>\n\nOther fret diagram properties must be adjusted using \\override when using the fret-diagram-terse markup.' , } , { label : "\\fret-diagram-terse" , detail : "A.10.5 Instrument Specific Markup" , documentation : 'Make a fret diagram markup using terse string-based syntax.\n\nHere is an example\n\n    \\markup \\fret-diagram-terse #"x;x;o;2;3;2;"\n\nfor a D chord diagram.\n\nSyntax rules for definition-string:\n\n - Strings are terminated by semicolons; the number of semicolons is the number of strings in the diagram.\n - Mute strings are indicated by ‘x’.\n - Open strings are indicated by ‘o’.\n - A number indicates a fret indication at that fret.\n - If there are multiple fret indicators desired on a string, they should be separated by spaces.\n - Fingerings are given by following the fret number with a -, followed by the finger indicator, e.g. ‘3-2’ for playing the third fret with the second finger.\n - Where a barre indicator is desired, follow the fret (or fingering) symbol with -( to start a barre and -) to end the barre.\n\nUsed properties:\n\n - thickness (0.5)\n - fret-diagram-details\n - size (1.0)\n - align-dir (-0.4)' , } , { label : "\\fret-diagram-verbose" , detail : "Fret diagram markups" , documentation : "The fret-diagram-verbose markup string is in the format of a Scheme list. Each element of the list indicates an item to be placed on the fret diagram.\n\n    <<\n        \\new ChordNames {\n          \\chordmode {\n            c1 d:m\n          }\n        }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <c e g c' e'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (mute 6)\n            (place-fret 5 3)\n            (place-fret 4 2)\n            (open 3)\n            (place-fret 2 1)\n            (open 1)\n          )\n        }\n        <d a d' f'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (mute 6)\n            (mute 5)\n            (open 4)\n            (place-fret 3 2)\n            (place-fret 2 3)\n            (place-fret 1 1)\n          )\n        }\n      }\n    >>\n\nFingering indications and barres can be included in a fret-diagram-verbose markup string. Unique to the fret-diagram-verbose interface is a capo indication that can be placed on the fret diagram. The capo indication is a thick bar that covers all strings. The fret with the capo will be the lowest fret in the fret diagram.\n\n    <<\n        \\new ChordNames {\n          \\chordmode {\n            f1 g c\n          }\n        }\n      \\new Staff {\n        \\clef \"treble_8\"\n        \\override Voice.TextScript.fret-diagram-details.finger-code = #'below-string\n        <f, c f a c' f'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (place-fret 6 1)\n            (place-fret 5 3)\n            (place-fret 4 3)\n            (place-fret 3 2)\n            (place-fret 2 1)\n            (place-fret 1 1)\n            (barre 6 1 1)\n          )\n        }\n        <g, b, d g b g'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (place-fret 6 3 2)\n            (place-fret 5 2 1)\n            (open 4)\n            (open 3)\n            (open 2)\n            (place-fret 1 3 3)\n          )\n        }\n        <c g c' e' g'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (capo 3)\n            (mute 6)\n            (place-fret 4 5 1)\n            (place-fret 3 5 2)\n            (place-fret 2 5 3)\n          )\n        }\n      }\n    >>\n\nAll other fret diagram properties must be adjusted using \\override when using the fret-diagram-verbose markup." , } , { label : "\\fret-diagram-verbose" , detail : "A.10.5 Instrument Specific Markup" , documentation : "Make a fret diagram containing the symbols indicated in marking-list.\n\nFor example,\n\n    \\markup \\fret-diagram-verbose\n      #'((mute 6) (mute 5) (open 4)\n         (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))\n\nproduces a standard D chord diagram without fingering indications.\n\nPossible elements in marking-list:\n\n(mute string-number)\nPlace a small ‘x’ at the top of string string-number.\n\n(open string-number)\nPlace a small ‘o’ at the top of string string-number.\n\n(barre start-string end-string fret-number)\nPlace a barre indicator (much like a tie) from string start-string to string end-string at fret fret-number.\n\n(capo fret-number)\nPlace a capo indicator (a large solid bar) across the entire fretboard at fret location fret-number. Also, set fret fret-number to be the lowest fret on the fret diagram.\n\n(place-fret string-number fret-number [finger-value [color-modifier]])\nPlace a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value, and an optional color modifier color-modifier. By default, the fret playing indicator is a solid dot. This can be globally changed by setting the value of the variable dot-color. Setting color-modifier to inverted inverts the dot color for a specific fingering. If the finger part of the place-fret element is present, finger-value will be displayed according to the setting of the variable finger-code. There is no limit to the number of fret indications per string.\n\n\n\nUsed properties:\n\n - thickness (0.5)\n - fret-diagram-details\n - size (1.0)\n - align-dir (-0.4)" , } , { label : "\\fromproperty" , detail : "A.10.7 Other" , documentation : 'Read the symbol from property settings, and produce a stencil from the markup contained within. If symbol is not defined, it returns an empty markup.\n\n    \\header {\n      myTitle = "myTitle"\n      title = \\markup {\n        from\n        \\italic\n        \\fromproperty #\'header:myTitle\n      }\n    }\n    \\markup {\n      \\null\n    }' , } , { label : "\\funkHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\funkHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\general-align" , detail : "Text alignment" , documentation : 'Some commands can affect both the horizontal and vertical alignment of text objects in markup mode. Any object affected by these commands must be preceded with an anchor point:\n\n    d2^\\markup {\n      Acte I\n      \\translate #\'(-1 . 2) "Scène 1"\n    }\n    a\'\n    g_\\markup {\n      \\null\n      \\general-align #Y #3.2 \\bold "Très modéré"\n    }\n    a\n    d,^\\markup {\n      \\null\n      \\translate-scaled #\'(-1 . 2) \\teeny "Une forêt."\n    }\n    a\'4 a g2 a' , } , { label : "\\general-align" , detail : "A.10.2 Align" , documentation : "Align arg in axis direction to the dir side.\n\n    \\markup {\n      \\column {\n        one\n        \\general-align #X #LEFT\n        two\n        three\n        \\null\n        one\n        \\general-align #X #CENTER\n        two\n        three\n        \\null\n        \\line {\n          one\n          \\general-align #Y #UP\n          two\n          three\n        }\n        \\null\n        \\line {\n          one\n          \\general-align #Y #3.2\n          two\n          three\n        }\n      }\n    }" , } , { label : "\\germanChords" , detail : "Predefined commands" , documentation : "" , } , { label : "\\glissando" , detail : "Glissando" , documentation : "A glissando is created by appending \\glissando to a note:\n\n    g2\\glissando g'\n    c2\\glissando c,\n    \\afterGrace f,1\\glissando f'16\n\nA glissando can connect notes across staves:\n\n    \\new PianoStaff <<\n      \\new Staff = \"right\" {\n        e'''2\\glissando\n        \\change Staff = \"left\"\n        a,,4\\glissando\n        \\change Staff = \"right\"\n        b''8 r |\n      }\n      \\new Staff = \"left\" {\n        \\clef bass\n        s1\n      }\n    >>\n\nA glissando can connect notes in chords. If anything other than a direct one-to-one pairing of the notes in the two chords is required the connections between the notes are defined by setting \\glissandoMap, where the notes of a chord are assumed to be numbered from zero in the order in which they appear in the input ‘.ly’ file.\n\n    <c, e>1\\glissando g' |\n    <c, e>1\\glissando |\n    <g' b> |\n    \\break\n    \\set glissandoMap = #'((0 . 1) (1 . 0))\n    <c, g'>1\\glissando |\n    <d a'> |\n    \\set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))\n    c1\\glissando |\n    <d f a> |\n    \\set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))\n    <f d a'>1\\glissando |\n    <c c'> |\n\nDifferent styles of glissandi can be created. For details, see Line styles." , } , { label : "\\grace" , detail : "Grace notes" , documentation : "Grace notes are musical ornaments, printed in a smaller font, that take up no additional logical time in a measure.\n\n    c4 \\grace b16 a4(\n    \\grace { b16 c16 } a2)\n\nThere are three other types of grace notes possible; the acciaccatura – an unmeasured grace note indicated by a slurred note with a slashed stem – and the appoggiatura, which takes a fixed fraction of the main note it is attached to and prints without the slash. It is also possible to write a grace note with a slashed stem, like the acciaccatura but without the slur, so as to place it between notes that are slurred themselves, using the \\slashedGrace function.\n\n    \\acciaccatura d8 c4\n    \\appoggiatura e8 d4\n    \\acciaccatura { g16 f } e2\n    \\slashedGrace a,8 g4\n    \\slashedGrace b16 a4(\n    \\slashedGrace b8 a2)\n\nThe placement of grace notes is synchronized between different staves. In the following example, there are two sixteenth grace notes for every eighth grace note\n\n    <<\n      \\new Staff { e2 \\grace { c16 d e f } e2 }\n      \\new Staff { c2 \\grace { g8 b } c2 }\n    >>" , } , { label : "\\halfopen" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\halign" , detail : "Text alignment" , documentation : "Horizontal alignment may be fine-tuned using a numeric value:\n\n    a1-\\markup { \\halign #-1 poco }\n    e'\n    a,-\\markup { \\halign #0 poco }\n    e'\n    a,-\\markup { \\halign #0.5 poco }\n    e'\n    a,-\\markup { \\halign #2 poco }\n\nSome objects may have alignment procedures of their own, and therefore are not affected by these commands. It is possible to move such markup objects as a whole, as shown for instance in Text marks." , } , { label : "\\halign" , detail : "A.10.2 Align" , documentation : "Set horizontal alignment. If dir is -1, then it is left-aligned, while +1 is right. Values in between interpolate alignment accordingly.\n\n    \\markup {\n      \\column {\n        one\n        \\halign #LEFT\n        two\n        three\n        \\null\n        one\n        \\halign #CENTER\n        two\n        three\n        \\null\n        one\n        \\halign #RIGHT\n        two\n        three\n        \\null\n        one\n        \\halign #-5\n        two\n        three\n      }\n    }" , } , { label : "\\harmonic" , detail : "Harmonics" , documentation : "Natural harmonics" , } , { label : "\\harmonic" , detail : "Default tablatures" , documentation : "Harmonic indications can be added to tablature notation as sounding pitches:\n\n    \\layout { \\omit Voice.StringNumber }\n    firstHarmonic = {\n      d'4\\4\\harmonic\n      g'4\\3\\harmonic\n      b'2\\2\\harmonic\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\firstHarmonic\n        }\n        \\new TabStaff { \\firstHarmonic }\n      >>\n    }\n\nNote that the command \\harmonic must always be attached to single notes (possibly inside of a chord) instead of whole chords. It only makes sense for open-string harmonics in the 12th fret. All other harmonics should be calculated by LilyPond. This can be achieved by indicating the fret where a finger of the fretting hand should touch a string.\n\n    fretHarmonics = {\n      \\harmonicByFret #5 d16\\4\n      \\harmonicByFret #4 d16\\4\n      \\harmonicByFret #3 d8\\4\n      \\harmonicByFret #5 <g\\3 b\\2>2.\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\fretHarmonics\n        }\n        \\new TabStaff { \\fretHarmonics }\n      >>\n    }\n\nAlternatively, harmonics can be computed by defining the ratio of string lengths above and below the harmonic fingering.\n\n    ratioHarmonics = {\n      \\harmonicByRatio #1/2 <g\\3 b\\2 e'\\1>4\n      \\harmonicByRatio #1/3 <g\\3 b\\2 e'\\1>4\n      \\harmonicByRatio #1/4 { g8\\3 b8\\2 e'4\\1 }\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\ratioHarmonics\n        }\n        \\new TabStaff { \\ratioHarmonics }\n      >>\n    }" , } , { label : "\\harmonicByFret" , detail : "Default tablatures" , documentation : "Harmonic indications can be added to tablature notation as sounding pitches:\n\n    \\layout { \\omit Voice.StringNumber }\n    firstHarmonic = {\n      d'4\\4\\harmonic\n      g'4\\3\\harmonic\n      b'2\\2\\harmonic\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\firstHarmonic\n        }\n        \\new TabStaff { \\firstHarmonic }\n      >>\n    }\n\nNote that the command \\harmonic must always be attached to single notes (possibly inside of a chord) instead of whole chords. It only makes sense for open-string harmonics in the 12th fret. All other harmonics should be calculated by LilyPond. This can be achieved by indicating the fret where a finger of the fretting hand should touch a string.\n\n    fretHarmonics = {\n      \\harmonicByFret #5 d16\\4\n      \\harmonicByFret #4 d16\\4\n      \\harmonicByFret #3 d8\\4\n      \\harmonicByFret #5 <g\\3 b\\2>2.\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\fretHarmonics\n        }\n        \\new TabStaff { \\fretHarmonics }\n      >>\n    }\n\nAlternatively, harmonics can be computed by defining the ratio of string lengths above and below the harmonic fingering.\n\n    ratioHarmonics = {\n      \\harmonicByRatio #1/2 <g\\3 b\\2 e'\\1>4\n      \\harmonicByRatio #1/3 <g\\3 b\\2 e'\\1>4\n      \\harmonicByRatio #1/4 { g8\\3 b8\\2 e'4\\1 }\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\ratioHarmonics\n        }\n        \\new TabStaff { \\ratioHarmonics }\n      >>\n    }" , } , { label : "\\harmonicByRatio" , detail : "Default tablatures" , documentation : "Harmonic indications can be added to tablature notation as sounding pitches:\n\n    \\layout { \\omit Voice.StringNumber }\n    firstHarmonic = {\n      d'4\\4\\harmonic\n      g'4\\3\\harmonic\n      b'2\\2\\harmonic\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\firstHarmonic\n        }\n        \\new TabStaff { \\firstHarmonic }\n      >>\n    }\n\nNote that the command \\harmonic must always be attached to single notes (possibly inside of a chord) instead of whole chords. It only makes sense for open-string harmonics in the 12th fret. All other harmonics should be calculated by LilyPond. This can be achieved by indicating the fret where a finger of the fretting hand should touch a string.\n\n    fretHarmonics = {\n      \\harmonicByFret #5 d16\\4\n      \\harmonicByFret #4 d16\\4\n      \\harmonicByFret #3 d8\\4\n      \\harmonicByFret #5 <g\\3 b\\2>2.\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\fretHarmonics\n        }\n        \\new TabStaff { \\fretHarmonics }\n      >>\n    }\n\nAlternatively, harmonics can be computed by defining the ratio of string lengths above and below the harmonic fingering.\n\n    ratioHarmonics = {\n      \\harmonicByRatio #1/2 <g\\3 b\\2 e'\\1>4\n      \\harmonicByRatio #1/3 <g\\3 b\\2 e'\\1>4\n      \\harmonicByRatio #1/4 { g8\\3 b8\\2 e'4\\1 }\n    }\n    \\score {\n      <<\n        \\new Staff {\n          \\clef \"treble_8\"\n          \\ratioHarmonics\n        }\n        \\new TabStaff { \\ratioHarmonics }\n      >>\n    }" , } , { label : "\\harmonicsOff" , detail : "Harmonics" , documentation : "Natural harmonics can be notated in several ways. A diamond-shaped note head generally means to touch the string where you would stop the note if it were not a diamond.\n\n    d4 e4.\n    \\harmonicsOn\n    d8 e e\n    d4 e4.\n    \\harmonicsOff\n    d8 e e\n\nAlternatively a normal note head is shown at the pitch to be sounded together with a small circle to indicate it should be played as a harmonic:\n\n    d2^\\flageolet d_\\flageolet\n\nA smaller circle may be created, see the snippet list in References for unfretted strings.\n\nArtificial harmonics" , } , { label : "\\harmonicsOn" , detail : "Harmonics" , documentation : "Natural harmonics can be notated in several ways. A diamond-shaped note head generally means to touch the string where you would stop the note if it were not a diamond.\n\n    d4 e4.\n    \\harmonicsOn\n    d8 e e\n    d4 e4.\n    \\harmonicsOff\n    d8 e e\n\nAlternatively a normal note head is shown at the pitch to be sounded together with a small circle to indicate it should be played as a harmonic:\n\n    d2^\\flageolet d_\\flageolet\n\nA smaller circle may be created, see the snippet list in References for unfretted strings.\n\nArtificial harmonics" , } , { label : "\\harp-pedal" , detail : "A.10.5 Instrument Specific Markup" , documentation : "Make a harp pedal diagram.\n\nPossible elements in definition-string:\n\n^\npedal is up\n\n-\npedal is neutral\n\nv\npedal is down\n\n|\nvertical divider line\n\no\nthe following pedal should be circled (indicating a change)\n\n\n\nThe function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you’ll have to live with the warnings.\n\nThe appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (\\override Voice.TextScript #'size = #0.3) for the overall, the thickness property (\\override Voice.TextScript #'thickness = #3) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (\\override Voice.TextScript #'harp-pedal-details #'box-width = #1). It contains the following settings: box-offset (vertical shift of the box center for up/down pedals), box-width, box-height, space-before-divider (the spacing between two boxes before the divider) and space-after-divider (box spacing after the divider).\n\n    \\markup \\harp-pedal #\"^-v|--ov^\"\n\nUsed properties:\n\n - thickness (0.5)\n - harp-pedal-details (’())\n - size (1.2)" , } , { label : "\\hbracket" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\hbracket" , detail : "A.10.3 Graphic" , documentation : "Draw horizontal brackets around arg.\n\n    \\markup {\n      \\hbracket {\n        \\line {\n          one two three\n        }\n      }\n    }" , } , { label : "\\hcenter-in" , detail : "A.10.2 Align" , documentation : "Center arg horizontally within a box of extending length/2 to the left and right.\n\n    \\new StaffGroup <<\n      \\new Staff {\n        \\set Staff.instrumentName = \\markup {\n          \\hcenter-in #12\n          Oboe\n        }\n        c''1\n      }\n      \\new Staff {\n        \\set Staff.instrumentName = \\markup {\n          \\hcenter-in #12\n          Bassoon\n        }\n        \\clef tenor\n        c'1\n      }\n    >>" , } , { label : "\\header" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\hide" , detail : "Making objects transparent" , documentation : "Every layout object has a transparent property which by default is set to #f. If set to #t the object still occupies space but is made invisible.\n\n    a4 a\n    \\once \\override NoteHead.transparent = ##t\n    a a\n\nThis rather common operation has a shortcut \\hide:\n\n    a4 a\n    \\once \\hide NoteHead\n    a a" , } , { label : "\\hideKeySignature" , detail : "Bagpipe definitions" , documentation : 'LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add\n\n    \\include "bagpipe.ly"\n\nto the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \\taor instead of\n\n    \\grace { \\small G32[ d G e] }\n\n‘bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \\relative or \\transpose.\n\n    \\include "bagpipe.ly"\n    { \\grg G4 \\grg a \\grg b \\grg c \\grg d \\grg e \\grg f \\grA g A }\n\nBagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \\hideKeySignature. If you for some reason want to show the key signature, you can use \\showKeySignature instead.\n\nSome modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.' , } , { label : "\\hideNotes" , detail : "Hidden notes" , documentation : "Hidden (or invisible or transparent) notes can be useful in preparing theory or composition exercises.\n\n    c4 d\n    \\hideNotes\n    e4 f\n    \\unHideNotes\n    g a\n    \\hideNotes\n    b\n    \\unHideNotes\n    c\n\nNote heads, stems, and flags, and rests are invisible. Beams are invisible if they start on a hidden note. Objects that are attached to invisible notes are still visible.\n\n    e8(\\p f g a)--\n    \\hideNotes\n    e8(\\p f g a)--" , } , { label : "\\hideSplitTiedTabNotes" , detail : "Default tablatures" , documentation : 'The command \\hideSplitTiedTabNotes cancels the behavior of engraving fret numbers in parentheses:\n\n    ties = \\relative c\' {\n      \\repeat volta 2 {\n        e2. f4~\n        f2 g2~ }\n      \\alternative {\n        { g4 f2. }\n        { g4\\repeatTie c,2. }\n      }\n      b1~\n      \\break\n      b1\n      \\bar "|."\n    }\n    \\score {\n      <<\n        \\new StaffGroup  <<\n          \\new Staff {\n            \\clef "treble_8"\n            \\ties\n          }\n          \\new TabStaff {\n          \\hideSplitTiedTabNotes\n            \\ties\n          }\n        >>\n      >>\n      \\layout {\n      indent = #0\n      ragged-right = ##t\n      }\n    }' , } , { label : "\\hideStaffSwitch" , detail : "Staff-change lines" , documentation : 'Whenever a voice switches to another staff, a line connecting the notes can be printed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "one" {\n        \\showStaffSwitch\n        c1\n        \\change Staff = "two"\n        b2 a\n      }\n      \\new Staff = "two" {\n        \\clef bass\n        s1*2\n      }\n    >>' , } , { label : "\\hspace" , detail : "A.10.2 Align" , documentation : "Create an invisible object taking up horizontal space amount.\n\n    \\markup {\n      one\n      \\hspace #2\n      two\n      \\hspace #8\n      three\n    }" , } , { label : "\\huge" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\huge" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\huge" , detail : "A.10.1 Font" , documentation : "Set font size to +2.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\huge\n      huge\n    }" , } , { label : "\\improvisationOff" , detail : "Improvisation" , documentation : 'Improvisation is sometimes denoted with slashed note heads, where the performer may choose any pitch but should play the specified rhythm. Such note heads can be created:\n\n    \\new Voice \\with {\n      \\consists "Pitch_squash_engraver"\n    } {\n      e8 e g a a16( bes) a8 g\n      \\improvisationOn\n      e8 ~\n      e2 ~ e8 f4 f8 ~\n      f2\n      \\improvisationOff\n      a16( bes) a8 g e\n    }' , } , { label : "\\improvisationOff" , detail : "Showing melody rhythms" , documentation : "Guitar chord charts often show the strumming rhythms. This can be done with the Pitch_squash_engraver and \\improvisationOn.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 f g c\n        }\n      }\n      \\new Voice \\with {\n        \\consists \"Pitch_squash_engraver\"\n      } \\relative c'' {\n        \\improvisationOn\n        c4 c8 c c4 c8 c\n        f4 f8 f f4 f8 f\n        g4 g8 g g4 g8 g\n        c4 c8 c c4 c8 c\n      }\n    >>" , } , { label : "\\improvisationOn" , detail : "Improvisation" , documentation : 'Improvisation is sometimes denoted with slashed note heads, where the performer may choose any pitch but should play the specified rhythm. Such note heads can be created:\n\n    \\new Voice \\with {\n      \\consists "Pitch_squash_engraver"\n    } {\n      e8 e g a a16( bes) a8 g\n      \\improvisationOn\n      e8 ~\n      e2 ~ e8 f4 f8 ~\n      f2\n      \\improvisationOff\n      a16( bes) a8 g e\n    }' , } , { label : "\\improvisationOn" , detail : "Showing melody rhythms" , documentation : "Guitar chord charts often show the strumming rhythms. This can be done with the Pitch_squash_engraver and \\improvisationOn.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 f g c\n        }\n      }\n      \\new Voice \\with {\n        \\consists \"Pitch_squash_engraver\"\n      } \\relative c'' {\n        \\improvisationOn\n        c4 c8 c c4 c8 c\n        f4 f8 f f4 f8 f\n        g4 g8 g g4 g8 g\n        c4 c8 c c4 c8 c\n      }\n    >>" , } , { label : "\\in" , detail : "5.4.3 Distances and measurements" , documentation : "Distances in LilyPond are of two types: absolute and scaled.\n\nAbsolute distances are used for specifying margins, indents, and other page layout details, and are by default specified in millimeters. Distances may be specified in other units by following the quantity by \\mm, \\cm, \\in (inches), or \\pt (points, 1/72.27 of an inch). Page layout distances can also be specified in scalable units (see the following paragraph) by appending \\staff-space to the quantity. Page layout is described in detail in Page layout.\n\nScaled distances are always specified in units of the staff-space or, rarely, the half staff-space. The staff-space is the distance between two adjacent staff lines. The default value can be changed globally by setting the global staff size, or it can be overridden locally by changing the staff-space property of StaffSymbol. Scaled distances automatically scale with any change to the either the global staff size or the staff-space property of StaffSymbol, but fonts scale automatically only with changes to the global staff size. The global staff size thus enables the overall size of a rendered score to be easily varied. For the methods of setting the global staff size see Setting the staff size." , } , { label : "\\inclinatum" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\inclinatum" , detail : "Predefined commands" , documentation : "" , } , { label : "\\include" , detail : "3.3.1 Including LilyPond files" , documentation : 'A large project may be split up into separate files. To refer to another file, use\n\n    \\include "otherfile.ly"\n\nThe line \\include "otherfile.ly" is equivalent to pasting the contents of ‘otherfile.ly’ into the current file at the place where the \\include appears. For example, in a large project you might write separate files for each instrument part and create a “full score” file which brings together the individual instrument files. Normally the included file will define a number of variables which then become available for use in the full score file. Tagged sections can be marked in included files to assist in making them usable in different places in a score, see Different editions from one source.\n\nFiles in the current working directory may be referenced by specifying just the file name after the \\include command. Files in other locations may be included by giving either a full path reference or a relative path reference (but use the UNIX forward slash, /, rather than the DOS/Windows back slash, \\, as the directory separator.) For example, if ‘stuff.ly’ is located one directory higher than the current working directory, use\n\n    \\include "../stuff.ly"\n\nor if the included orchestral parts files are all located in a subdirectory called ‘parts’ within the current directory, use\n\n    \\include "parts/VI.ly"\n    \\include "parts/VII.ly"\n    … etc\n\nFiles which are to be included can also contain \\include statements of their own. By default, these second-level \\include statements are not interpreted until they have been brought into the main file, so the file names they specify must all be relative to the directory containing the main file, not the directory containing the included file. However, this behavior can be changed globally by passing the option ‘-drelative-includes’ option at the command line (or by adding #(ly:set-option \'relative-includes #t) at the top of the main input file).\n\nWhen relative-includes is set to #t, the path for each \\include command will be taken relative to the file containing that command. This behavior is recommended and it will become the default behavior in a future version of lilypond.\n\nFiles relative to the main directory and files relative to some other directory may both be \\included by setting relative-includes to #t or #f at appropriate places in the files. For example, if a general library, libA, has been created which itself uses sub-files which are \\included by the entry file of that library, those \\include statements will need to be preceded by #(ly:set-option #relative-includes #t) so they are interpreted correctly when brought into the main .ly file, like this:\n\n    libA/\n      libA.ly\n      A1.ly\n      A2.ly\n      …\n\nthen the entry file, libA.ly, will contain\n\n    #(ly:set-option \'relative-includes #t)\n    \\include "A1.ly"\n    \\include "A2.ly"\n    …\n    % return to default setting\n    #(ly:set-option \'relative-includes #f)\n\nAny ‘.ly’ file can then include the entire library simply with\n\n    \\include "~/libA/libA.ly"\n\nMore complex file structures may be devised by switching at appropriate places.\n\nFiles can also be included from a directory in a search path specified as an option when invoking LilyPond from the command line. The included files are then specified using just their file name. For example, to compile ‘main.ly’ which includes files located in a subdirectory called ‘parts’ by this method, cd to the directory containing ‘main.ly’ and enter\n\n    lilypond --include=parts main.ly\n\nand in main.ly write\n\n    \\include "VI.ly"\n    \\include "VII.ly"\n    … etc\n\nFiles which are to be included in many scores may be placed in the LilyPond directory ‘../ly’. (The location of this directory is installation-dependent - see Other sources of information). These files can then be included simply by naming them on an \\include statement. This is how the language-dependent files like ‘english.ly’ are included.\n\nLilyPond includes a number of files by default when you start the program. These includes are not apparent to the user, but the files may be identified by running lilypond --verbose from the command line. This will display a list of paths and files that LilyPond uses, along with much other information. Alternatively, the more important of these files are discussed in Other sources of information. These files may be edited, but changes to them will be lost on installing a new version of LilyPond.\n\nSome simple examples of using \\include are shown in Scores and parts.' , } , { label : "\\inStaffSegno" , detail : "Normal repeats" , documentation : 'The \\inStaffSegno command can be used to generate a composite bar line incorporating the segno symbol with the appropriate repeat bar line when used with the \\repeat volta command. The correct type of repeat bar line, viz. start repeat, end repeat or double repeat, is selected automatically. Note that the corresponding “D.S.” mark must be added manually.\n\nAway from a repeat:\n\n    e1\n    \\inStaffSegno\n    f2 g a b\n    c1_"D.S." \\bar "|."\n\nAt the start of a repeat:\n\n    e1\n    \\repeat volta 2 {\n      \\inStaffSegno  % start repeat\n      f2 g a b\n    }\n    c1_"D.S." \\bar "|."\n\nAt the end of a repeat:\n\n    e1\n    \\repeat volta 2 {\n      f2 g a b\n      \\inStaffSegno  % end repeat\n    }\n    f2 g a b\n    c1_"D.S." \\bar "|."\n\nBetween two repeats:\n\n    e1\n    \\repeat volta 2 {\n      f2 g a b\n    }\n    \\inStaffSegno  % double repeat\n    \\repeat volta 2 {\n      f2 g a b\n    }\n    c1_"D.S." \\bar "|."\n\nAlternative bar line symbols can be obtained by setting (in the Score context) the properties segnoType, startRepeatSegnoType, endRepeatSegnoType or doubleRepeatSegnoType to the required bar line type. The alternative bar line types must be selected from the pre-defined types or types previously defined with the \\defineBarLine command (see Bar lines).\n\n    \\defineBarLine ":|.S[" #\'(":|." "S[" "")\n    \\defineBarLine "]" #\'("]" "" "")\n    e1\n    \\repeat volta 2 {\n      f2 g a b\n      \\once \\set Score.endRepeatSegnoType = ":|.S["\n      \\inStaffSegno\n    }\n    f2 g \\bar "]" a b\n    c1_"D.S." \\bar "|."' , } , { label : "\\instrumentSwitch" , detail : "Instrument names" , documentation : 'If an instrument switch is needed, \\addInstrumentDefinition may be used in combination with \\instrumentSwitch to create a detailed list of the necessary changes for the switch. The \\addInstrumentDefinition command has two arguments: an identifying string, and an association list of context properties and values to be used for the instrument. It must be placed in the toplevel scope. \\instrumentSwitch is used in the music expression to declare the instrument switch:\n\n    \\addInstrumentDefinition #"contrabassoon"\n      #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))\n         (shortInstrumentName . "Cbsn.")\n         (clefGlyph . "clefs.F")\n         (middleCPosition . 6)\n         (clefPosition . 2)\n         (instrumentCueName . ,(make-bold-markup "cbsn."))\n         (midiInstrument . "bassoon"))\n    \\new Staff \\with {\n      instrumentName = #"Bassoon"\n    }\n    \\relative c\' {\n      \\clef tenor\n      \\compressFullBarRests\n      c2 g\'\n      R1*16\n      \\instrumentSwitch "contrabassoon"\n      c,,2 g \\break\n      c,1 ~ | c1\n    }' , } , { label : "\\inversion" , detail : "Inversion" , documentation : "A music expression can be inverted and transposed in a single operation with:\n\n    \\inversion around-pitch to-pitch musicexpr\n\nThe musicexpr is inverted interval-by-interval around around-pitch, and then transposed so that around-pitch is mapped to to-pitch.\n\n    music = \\relative c' { c d e f }\n    \\new Staff {\n      \\music\n      \\inversion d' d' \\music\n      \\inversion d' ees' \\music\n    }\n\nNote: Motifs to be inverted should be expressed in absolute form or be first converted to absolute form by enclosing them in a relative block.\n\n" , } , { label : "\\ionian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\italianChords" , detail : "Predefined commands" , documentation : "" , } , { label : "\\italic" , detail : "Selecting font and font size" , documentation : "Basic font switching is supported in markup mode:\n\n    d1^\\markup {\n      \\bold { Più mosso }\n      \\italic { non troppo \\underline Vivo }\n    }\n    r2 r4 r8\n    d,_\\markup { \\italic quasi \\smallCaps Tromba }\n    f1 d2 r" , } , { label : "\\italic" , detail : "A.10.1 Font" , documentation : "Use italic font-shape for arg.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\italic\n      italic\n    }" , } , { label : "\\justified-lines" , detail : "Multi-page markup" , documentation : "Although standard markup objects are not breakable, a specific syntax makes it possible to enter lines of text that can spread over multiple pages:\n\n    \\markuplist {\n      \\justified-lines {\n        A very long text of justified lines.\n        ...\n      }\n      \\wordwrap-lines {\n        Another very long paragraph.\n        ...\n      }\n      ...\n    }\n\nThis syntax accepts a list of markups, that can be\n\n - the result of a markup list command,\n - a list of markups,\n - a list of markup lists.\n\nAn exhaustive list of markup list commands can be found in Text markup list commands." , } , { label : "\\justified-lines" , detail : "A.11 Text markup list commands" , documentation : "Like \\justify, but return a list of lines instead of a single markup. Use \\override-lines #'(line-width . X) to set the line width; X is the number of staff spaces.\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width (#f)\n - baseline-skip" , } , { label : "\\justify" , detail : "Text alignment" , documentation : "Long text indications can also be automatically wrapped accordingly to the given line width. These will be either left-aligned or justified, as shown in the following example.\n\n    \\markup {\n      \\column {\n        \\line  \\smallCaps { La vida breve }\n        \\line \\bold { Acto I }\n        \\wordwrap \\italic {\n          (La escena representa el corral de una casa de\n          gitanos en el Albaicín de Granada.  Al fondo una\n          puerta por la que se ve el negro interior de\n          una Fragua, iluminado por los rojos resplandores\n          del fuego.)\n        }\n        \\hspace #0\n        \\line \\bold { Acto II }\n        \\override #'(line-width . 50)\n        \\justify \\italic {\n          (Calle de Granada.  Fachada de la casa de Carmela\n          y su hermano Manuel con grandes ventanas abiertas\n          a través de las que se ve el patio\n          donde se celebra una alegre fiesta)\n        }\n      }\n    }" , } , { label : "\\justify" , detail : "A.10.2 Align" , documentation : "Like \\wordwrap, but with lines stretched to justify the margins. Use \\override #'(line-width . X) to set the line width; X is the number of staff spaces.\n\n    \\markup {\n      \\justify {\n        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed\n        do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n        Ut enim ad minim veniam, quis nostrud exercitation ullamco\n        laboris nisi ut aliquip ex ea commodo consequat.\n      }\n    }\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width (#f)\n - baseline-skip" , } , { label : "\\justify-field" , detail : "A.10.2 Align" , documentation : 'Justify the data which has been assigned to symbol.\n\n    \\header {\n      title = "My title"\n      myText = "Lorem ipsum dolor sit amet, consectetur adipisicing\n        elit, sed do eiusmod tempor incididunt ut labore et dolore magna\n        aliqua.  Ut enim ad minim veniam, quis nostrud exercitation ullamco\n        laboris nisi ut aliquip ex ea commodo consequat."\n    }\n    \\paper {\n      bookTitleMarkup = \\markup {\n        \\column {\n          \\fill-line { \\fromproperty #\'header:title }\n          \\null\n          \\justify-field #\'header:myText\n        }\n      }\n    }\n    \\markup {\n      \\null\n    }' , } , { label : "\\justify-string" , detail : "A.10.2 Align" , documentation : 'Justify a string. Paragraphs may be separated with double newlines\n\n    \\markup {\n      \\override #\'(line-width . 40)\n      \\justify-string #"Lorem ipsum dolor sit amet, consectetur\n          adipisicing elit, sed do eiusmod tempor incididunt ut labore\n          et dolore magna aliqua.\n          Ut enim ad minim veniam, quis nostrud exercitation ullamco\n          laboris nisi ut aliquip ex ea commodo consequat.\n          Excepteur sint occaecat cupidatat non proident, sunt in culpa\n          qui officia deserunt mollit anim id est laborum"\n    }\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width\n - baseline-skip' , } , { label : "\\keepWithTag" , detail : "Using tags" , documentation : "The \\tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \\keepWithTag #'name or \\removeWithTag #'name. The result of applying these filters to tagged music is as follows:\n\nFilter\tResult\nTagged music preceded by \\keepWithTag #'name or \\keepWithTag #'(name1 name2…)\tUntagged music and music tagged with any of the given tag names is included; music tagged with any other tag name is excluded.\nTagged music preceded by \\removeWithTag #'name or \\removeWithTag #'(name1 name2…)\tUntagged music and music not tagged with any of the given tag names is included; music tagged with any of the given tag names is excluded.\nTagged music not preceded by either \\keepWithTag or \\removeWithTag\tAll tagged and untagged music is included.\n\n\nThe arguments of the \\tag, \\keepWithTag and \\removeWithTag commands should be a symbol (such as #'score or #'part), followed by a music expression.\n\nIn the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand { \\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\keepWithTag #'trills \\music\n    }\n    \\score {\n      \\keepWithTag #'expand \\music\n    }\n\nAlternatively, it is sometimes easier to exclude sections of music:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand {\\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\removeWithTag #'expand\n      \\music\n    }\n    \\score {\n      \\removeWithTag #'trills\n      \\music\n    }\n\nTagged filtering can be applied to articulations, texts, etc. by prepending\n\n    -\\tag #'your-tag\n\nto an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:\n\n    c1-\\tag #'finger ^4\n    c1-\\tag #'warn ^\"Watch!\"\n\nMultiple tags may be placed on expressions with multiple \\tag entries, or by combining multiple tags into one symbol list:\n\n    music = \\relative c'' {\n      \\tag #'a \\tag #'both { a4 a a a }\n      \\tag #'(b both) { b4 b b b }\n    }\n    <<\n    \\keepWithTag #'a \\music\n    \\keepWithTag #'b \\music\n    \\keepWithTag #'both \\music\n    >>\n\nMultiple \\removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections. Alternatively, you can use a single \\removeWithTag with a list of tags.\n\n    music = \\relative c'' {\n      \\tag #'A { a4 a a a }\n      \\tag #'B { b4 b b b }\n      \\tag #'C { c4 c c c }\n      \\tag #'D { d4 d d d }\n    }\n    \\new Voice {\n      \\removeWithTag #'B\n      \\removeWithTag #'C\n      \\music\n      \\removeWithTag #'(B C)\n      \\music\n    }\n\nTwo or more \\keepWithTag filters applied to a single music expression will cause all tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section. Usually you would rather want to use a single \\keepWithTag command with a list of multiple tags: this will only remove tagged sections not given in any of the tags.\n\nSometimes you want to splice some music at a particular place in an existing music expression. You can use \\pushToTag and \\appendToTag for adding material at the front or end of the elements of an existing music construct. Not every music construct has elements, but sequential and simultaneous music are safe bets:\n\n    test = { \\tag #'here { \\tag #'here <<c''>> } }\n    {\n      \\pushToTag #'here c'\n      \\pushToTag #'here e'\n      \\pushToTag #'here g' \\test\n      \\appendToTag #'here c'\n      \\appendToTag #'here e'\n      \\appendToTag #'here g' \\test\n    }\n\nBoth commands get a tag, the material to splice in at every occurence of the tag, and the tagged expression. The commands make sure to copy everything that they change so that the original \\test retains its meaning." , } , { label : "\\key" , detail : "Key signature" , documentation : "The key signature indicates the tonality in which a piece is played. It is denoted by a set of alterations (flats or sharps) at the start of the staff. The key signature may be altered:\n\n    \\key pitch mode" , } , { label : "\\key" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\killCues" , detail : "Formatting cue notes" , documentation : 'The \\killCues command removes cue notes from a music expression, so the same music expression can be used to produce the instrument part with cues and the score. The \\killCues command removes only the notes and events that were quoted by \\cueDuring. Other markup associated with cues, such as clef changes and a label identifying the source instrument, can be tagged for selective inclusion in the score; see Using tags.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\tag #\'part {\n        \\clef treble\n        \\new CueVoice { \\set instrumentCueName = "flute" }\n      }\n      \\cueDuring #"flute" #UP { R1 }\n      \\tag #\'part \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n    \\new StaffGroup <<\n      \\new Staff {\n        \\fluteNotes\n      }\n      \\new Staff {\n        \\removeWithTag #\'part { \\killCues { \\bassoonNotes } }\n      }\n    >>\n\nAlternatively, Clef changes and instrument labels can be collected into an instrument definition for repeated use, using \\addInstrumentDefinition described in Instrument names.' , } , { label : "\\label" , detail : "Predefined commands" , documentation : "\\label, \\page-ref." , } , { label : "\\laissezVibrer" , detail : "Ties" , documentation : "L.v. ties (laissez vibrer) indicate that notes must not be damped at the end. It is used in notation for piano, harp and other string and percussion instruments. They can be entered as follows:\n\n    <c f g>1\\laissezVibrer" , } , { label : "\\large" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\large" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\large" , detail : "A.10.1 Font" , documentation : "Set font size to +1.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\large\n      large\n    }" , } , { label : "\\larger" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\larger" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\larger" , detail : "A.10.1 Font" , documentation : "Increase the font size relative to the current setting.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\larger\n      larger\n    }" , } , { label : "\\layout" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\layout" , detail : "4.2.1 The \\layout block" , documentation : "While the \\paper block contains settings that relate to the page formatting of the whole document, the \\layout block contains settings for score-specific layout. To set score layout options globally, enter them in a toplevel \\layout block. To set layout options for an individual score, enter them in a \\layout block inside the \\score block, after the music. Settings that can appear in a \\layout block include:\n\n - the layout-set-staff-size scheme function,\n - context modifications in \\context blocks, and\n - \\paper variables that affect score layout.\n\nThe layout-set-staff-size function is discussed in the next section, Setting the staff size. Context modifications are discussed in a separate chapter; see Modifying context plug-ins and Changing context default settings. The \\paper variables that can appear in a \\layout block are:\n\n - line-width, ragged-right and ragged-last (see \\paper variables for widths and margins)\n - indent and short-indent (see \\paper variables for shifts and indents)\n - system-count (see \\paper variables for line breaking)\n\nHere is an example \\layout block:\n\n    \\layout {\n      indent = 2\\cm\n      \\context {\n        \\StaffGroup\n        \\override StaffGrouper.staff-staff-spacing.basic-distance = #8\n      }\n      \\context {\n        \\Voice\n        \\override TextScript.padding = #1\n        \\override Glissando.thickness = #3\n      }\n    }\n\nMultiple \\layout blocks can be entered as toplevel expressions. This can, for example, be useful if different settings are stored in separate files and included optionally. Internally, when a \\layout block is evaluated, a copy of the current \\layout configuration is made, then any changes defined within the block are applied and the result is saved as the new current configuration. From the user’s perspective the \\layout blocks are combined, but in conflicting situations (when the same property is changed in different blocks) the later definitions take precedence.\n\nFor example, if this block:\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\override TextScript.color = #magenta\n        \\override Glissando.thickness = #1.5\n      }\n    }\n\nis placed after the one from the preceding example the 'padding and 'color overrides for TextScript are combined, but the later 'thickness override for Glissando replaces (or hides) the earlier one.\n\n\\layout blocks may be assigned to variables for reuse later, but the way this works is slightly but significantly different from writing them literally.\n\nIf a variable is defined like this:\n\n    layoutVariable = \\layout {\n      \\context {\n        \\Voice\n        \\override NoteHead.font-size = #4\n      }\n    }\n\nit will hold the current \\layout configuration with the NoteHead.font-size override added, but this combination is not saved as the new current configuration. Be aware that the ‘current configuration’ is read when the variable is defined and not when it is used, so the content of the variable is dependent on its position in the source.\n\nThe variable can then be used inside another \\layout block, for example:\n\n    \\layout {\n      \\layoutVariable\n      \\context {\n        \\Voice\n        \\override NoteHead.color = #red\n      }\n    }\n\nA \\layout block containing a variable, as in the example above, does not copy the current configuration but instead uses the content of \\layoutVariable as the base configuration for the further additions. This means that any changes defined between the definition and the use of the variable are lost.\n\nIf layoutVariable is defined (or \\included) immediately before being used, its content is just the current configuration plus the overrides defined within it. So in the example above showing the use of \\layoutVariable the final \\layout block would consist of:\n\n      TextScript.padding = #1\n      TextScript.color = #magenta\n      Glissando.thickness = #1.5\n      NoteHead.font-size = #4\n      NoteHead.color = #red\n\nplus the indent and the StaffGrouper overrides.\n\nBut if the variable had already been defined before the first \\layout block the current configuration would now contain only\n\n      NoteHead.font-size = #4 % (written in the variable definition)\n      NoteHead.color = #red % (added after the use of the variable)\n\nIf carefully planned, \\layout variables can be a valuable tool to structure the layout design of sources, and also to reset the \\layout configuration to a known state." , } , { label : "\\layout" , detail : "Output definitions - blueprints for contexts" , documentation : "While music written in a file may refer to context types and names, contexts are created only when the music is actually being interpreted. LilyPond interprets music under control of an ‘output definition’ and may do so for several different output definitions, resulting in different output. The output definition relevant for printing music is specified using \\layout." , } , { label : "\\layout" , detail : "Changing all contexts of the same type" , documentation : "The default context settings which are to be used for typesetting in Score, Staff, Voice and other contexts may be specified in a \\context block within any \\layout block.\n\nSettings for Midi output as opposed to typesetting will have to be separately specified in \\midi blocks (see Output definitions - blueprints for contexts).\n\nThe \\layout block should be placed within the \\score block to which it is to apply, after the music.\n\n    \\layout {\n      \\context {\n        \\Voice\n        [context settings for all Voice contexts]\n      }\n      \\context {\n        \\Staff\n        [context settings for all Staff contexts]\n      }\n    }\n\nThe following types of settings may be specified:\n\n - An \\override command, but with the context name omitted\n\\score {\n  \\relative c'' {\n    a4^\"Thicker stems\" a a a\n    a4 a a\\ff a\n  }\n  \\layout {\n    \\context {\n      \\Staff\n      \\override Stem.thickness = #4.0\n    }\n  }\n}\n \n\n\n - Directly setting a context property\n\\score {\n  \\relative c'' {\n    a4^\"Smaller font\" a a a\n    a4 a a\\ff a\n  }\n  \\layout {\n    \\context {\n      \\Staff\n      fontSize = #-4\n    }\n  }\n}\n \n\n\n - A predefined command such as \\dynamicUp or a music expression like \\accidentalStyle dodecaphonic\n\\score {\n  \\relative c'' {\n    a4^\"Dynamics above\" a a a\n    a4 a a\\ff a\n  }\n  \\layout {\n    \\context {\n      \\Voice\n      \\dynamicUp\n    }\n    \\context {\n      \\Staff\n      \\accidentalStyle dodecaphonic\n    }\n  }\n}\n \n\n\n - A user-defined variable containing a \\with block; for details of the \\with block see Changing just one specific context.\nStaffDefaults = \\with {\n  fontSize = #-4\n}\n\n\\score {\n  \\new Staff {\n    \\relative c'' {\n      a4^\"Smaller font\" a a a\n      a4 a a a\n    }\n  }\n  \\layout {\n    \\context {\n      \\Staff\n      \\StaffDefaults\n    }\n  }\n}\n \n\n\n\nProperty-setting commands can be placed in a \\layout block without being enclosed in a \\context block. Such settings are equivalent to including the same property-setting commands at the start of every context of the type specified. If no context is specified every bottom-level context is affected, see Bottom-level contexts - voices. The syntax of a property-setting command in a \\layout block is the same as the same command written in the music stream.\n\n    \\score {\n      \\new Staff {\n        \\relative c'' {\n          a4^\"Smaller font\" a a a\n          a4 a a a\n        }\n      }\n      \\layout {\n        \\accidentalStyle dodecaphonic\n        \\set fontSize = #-4\n        \\override Voice.Stem.thickness = #4.0\n      }\n    }" , } , { label : "\\left-align" , detail : "Text alignment" , documentation : "Markup objects may be aligned in different ways. By default, a text indication is aligned on its left edge: in the following example, there is no difference between the first and the second markup.\n\n    d1-\\markup { poco }\n    f\n    d-\\markup { \\left-align poco }\n    f\n    d-\\markup { \\center-align { poco } }\n    f\n    d-\\markup { \\right-align poco }" , } , { label : "\\left-align" , detail : "A.10.2 Align" , documentation : "Align arg on its left edge.\n\n    \\markup {\n      \\column {\n        one\n        \\left-align\n        two\n        three\n      }\n    }" , } , { label : "\\left-brace" , detail : "A.10.7 Other" , documentation : "A feta brace in point size size.\n\n    \\markup {\n      \\left-brace #35\n      \\hspace #2\n      \\left-brace #45\n    }" , } , { label : "\\left-column" , detail : "A.10.2 Align" , documentation : "Put args in a left-aligned column.\n\n    \\markup {\n      \\left-column {\n        one\n        two\n        three\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\lheel" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\line" , detail : "A.10.2 Align" , documentation : "Put args in a horizontal line. The property word-space determines the space between markups in args.\n\n    \\markup {\n      \\line {\n        one two three\n      }\n    }\n\nUsed properties:\n\n - text-direction (1)\n - word-space" , } , { label : "\\linea" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\linea" , detail : "Predefined commands" , documentation : "" , } , { label : "\\lineprall" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\locrian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\longa" , detail : "Durations" , documentation : "Durations are designated by numbers and dots. Durations are entered as their reciprocal values. For example, a quarter note is entered using a 4 (since it is a 1/4 note), and a half note is entered using a 2 (since it is a 1/2 note). For notes longer than a whole you must use the \\longa (a double breve) and \\breve commands. Durations as short as 128th notes may be specified. Shorter values are possible, but only as beamed notes.\n\n    \\time 8/1\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nHere are the same durations with automatic beaming turned off.\n\n    \\time 8/1\n    \\autoBeamOff\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nA note with the duration of a quadruple breve may be entered with \\maxima, but this is supported only within ancient music notation. For details, see Ancient notation." , } , { label : "\\longa" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\longfermata" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\lookup" , detail : "A.10.7 Other" , documentation : 'Lookup a glyph by name.\n\n    \\markup {\n      \\override #\'(font-encoding . fetaBraces) {\n        \\lookup #"brace200"\n        \\hspace #2\n        \\rotate #180\n        \\lookup #"brace180"\n      }\n    }' , } , { label : "\\lower" , detail : "Text alignment" , documentation : "Vertical alignment is a bit more complex. As stated above, markup objects can be moved as a whole; however, it is also possible to move specific elements inside a markup block. In this case, the element to be moved needs to be preceded with an anchor point, that can be another markup element or an invisible object. The following example demonstrates these two possibilities; the last markup in this example has no anchor point, and therefore is not moved.\n\n    d2^\\markup {\n      Acte I\n      \\raise #2 { Scène 1 }\n    }\n    a'\n    g_\\markup {\n      \\null\n      \\lower #4 \\bold { Très modéré }\n    }\n    a\n    d,^\\markup {\n      \\raise #4 \\italic { Une forêt. }\n    }\n    a'4 a g2 a" , } , { label : "\\lower" , detail : "A.10.2 Align" , documentation : "Lower arg by the distance amount. A negative amount indicates raising; see also \\raise.\n\n    \\markup {\n      one\n      \\lower #3\n      two\n      three\n    }" , } , { label : "\\ltoe" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\lydian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\lyricmode" , detail : "Entering lyrics" , documentation : 'Lyrics are entered in a special input mode, which can be introduced by the keyword \\lyricmode, or by using \\addlyrics or \\lyricsto. In this special input mode, the input d is not parsed as the pitch D, but rather as a one-letter syllable of text. In other words, syllables are entered like notes but with pitches replaced by text.\n\nFor example:\n\n    \\lyricmode { Three4 blind mice,2 three4 blind mice2 }\n\nThere are two main methods for specifying the horizontal placement of the syllables, either by specifying the duration of each syllable explicitly, as in the example above, or by leaving the lyrics to be aligned automatically to a melody or other voice of music, using \\addlyrics or \\lyricsto. The former method is described below in Manual syllable durations. The latter method is described in Automatic syllable durations.\n\nA word or syllable of lyrics begins with an alphabetic character (plus some other characters, see below) and is terminated by any white space or a digit. Later characters in the syllable can be any character that is not a digit or white space.\n\nBecause any character that is not a digit or white space is regarded as part of the syllable, a word is valid even if it ends with }, which often leads to the following mistake:\n\n    \\lyricmode { lah lah lah}\n\nIn this example, the } is included in the final syllable, so the opening brace is not balanced and the input file will probably not compile. Instead, braces should always be surrounded with white space:\n\n    \\lyricmode { lah lah lah }\n\nPunctuation, lyrics with accented characters, characters from non-English languages, or special characters (such as the heart symbol or slanted quotes), may simply be inserted directly into the input file, providing it is saved with UTF-8 encoding. For more information, see Special characters.\n\n    \\relative c\'\' { d8 c16 a bes8 f e\' d c4 }\n    \\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }\n\nNormal quotes may be used in lyrics, but they have to be preceded with a backslash character and the whole syllable has to be enclosed between additional quotes. For example,\n\n    \\relative c\' { \\time 3/4 e4 e4. e8 d4 e d c2. }\n    \\addlyrics { "\\"I" am so lone -- "ly,\\"" said she }\n\nThe full definition of a word start in lyrics mode is somewhat more complex. A word in lyrics mode is one that begins with an alphabetic character, _, ?, !, :, \', the control characters ^A through ^F, ^Q through ^W, ^Y, ^^, any 8-bit character with an ASCII code over 127, or a two-character combination of a backslash followed by one of `, \', ", or ^.\n\nGreat control over the appearance of lyrics comes from using \\markup inside the lyrics themselves. For explanation of many options, see Formatting text.' , } , { label : "\\lyricmode" , detail : "Aligning lyrics to a melody" , documentation : 'Lyrics are printed by interpreting them in the context called Lyrics, see Contexts explained.\n\n    \\new Lyrics \\lyricmode { … }\n\nLyrics can be aligned with melodies in two main ways:\n\n - Lyrics can be aligned automatically, with the durations of the syllables being taken from another voice of music or (in special circumstances) an associated melody, using \\addlyrics, \\lyricsto, or by setting the associatedVoice property. For more details, see Automatic syllable durations.\n<<\n  \\new Staff <<\n    \\time 2/4\n    \\new Voice = "one" \\relative c\'\' {\n      \\voiceOne\n      c4 b8. a16 g4. r8 a4 ( b ) c2\n    }\n    \\new Voice = "two" \\relative c\' {\n      \\voiceTwo\n       s2 s4. f8 e4 d c2\n    }\n  >>\n\n% takes durations and alignment from notes in "one"\n  \\new Lyrics \\lyricsto "one" {\n    Life is __ _ love, live __ life.\n  }\n\n% takes durations and alignment from notes in "one" initially\n% then switches to "two"\n  \\new Lyrics \\lyricsto "one" {\n    No more let\n    \\set associatedVoice = "two"  % must be set one syllable early\n    sins and sor -- rows grow.\n  }\n>>\n \n\nThe first stanza shows the normal way of entering lyrics.\n\nThe second stanza shows how the voice from which the lyric durations are taken can be changed. This is useful if the words to different stanzas fit the notes in different ways and all the durations are available in Voice contexts. For more details, see Stanzas.\n\n\n - Lyrics can be aligned independently of the duration of any notes if the durations of the syllables are specified explicitly, and entered with \\lyricmode.\n<<\n  \\new Voice = "one" \\relative c\'\' {\n    \\time 2/4\n    c4 b8. a16 g4. f8 e4 d c2\n  }\n\n% uses previous explicit duration of 2;\n  \\new Lyrics \\lyricmode {\n    Joy to the earth!\n  }\n\n% explicit durations, set to a different rhythm\n  \\new Lyrics \\lyricmode {\n    Life4 is love,2. live4 life.2\n  }\n>>\n \n\nThe first stanza is not aligned with the notes because the durations were not specified, and the previous value of 2 is used for each word.\n\nThe second stanza shows how the words can be aligned quite independently from the notes. This is useful if the words to different stanzas fit the notes in different ways and the required durations are not available in a music context. For more details see Manual syllable durations. This technique is also useful when setting dialogue over music; for examples showing this, see Dialogue over music.\n\nWhen entered in this way the words are left-aligned to the notes by default, but may be center-aligned to the notes of a melody by specifying an associated voice, if one exists. For details, see Manual syllable durations.\n\n' , } , { label : "\\lyricsto" , detail : "Aligning lyrics to a melody" , documentation : 'Lyrics are printed by interpreting them in the context called Lyrics, see Contexts explained.\n\n    \\new Lyrics \\lyricmode { … }\n\nLyrics can be aligned with melodies in two main ways:\n\n - Lyrics can be aligned automatically, with the durations of the syllables being taken from another voice of music or (in special circumstances) an associated melody, using \\addlyrics, \\lyricsto, or by setting the associatedVoice property. For more details, see Automatic syllable durations.\n<<\n  \\new Staff <<\n    \\time 2/4\n    \\new Voice = "one" \\relative c\'\' {\n      \\voiceOne\n      c4 b8. a16 g4. r8 a4 ( b ) c2\n    }\n    \\new Voice = "two" \\relative c\' {\n      \\voiceTwo\n       s2 s4. f8 e4 d c2\n    }\n  >>\n\n% takes durations and alignment from notes in "one"\n  \\new Lyrics \\lyricsto "one" {\n    Life is __ _ love, live __ life.\n  }\n\n% takes durations and alignment from notes in "one" initially\n% then switches to "two"\n  \\new Lyrics \\lyricsto "one" {\n    No more let\n    \\set associatedVoice = "two"  % must be set one syllable early\n    sins and sor -- rows grow.\n  }\n>>\n \n\nThe first stanza shows the normal way of entering lyrics.\n\nThe second stanza shows how the voice from which the lyric durations are taken can be changed. This is useful if the words to different stanzas fit the notes in different ways and all the durations are available in Voice contexts. For more details, see Stanzas.\n\n\n - Lyrics can be aligned independently of the duration of any notes if the durations of the syllables are specified explicitly, and entered with \\lyricmode.\n<<\n  \\new Voice = "one" \\relative c\'\' {\n    \\time 2/4\n    c4 b8. a16 g4. f8 e4 d c2\n  }\n\n% uses previous explicit duration of 2;\n  \\new Lyrics \\lyricmode {\n    Joy to the earth!\n  }\n\n% explicit durations, set to a different rhythm\n  \\new Lyrics \\lyricmode {\n    Life4 is love,2. live4 life.2\n  }\n>>\n \n\nThe first stanza is not aligned with the notes because the durations were not specified, and the previous value of 2 is used for each word.\n\nThe second stanza shows how the words can be aligned quite independently from the notes. This is useful if the words to different stanzas fit the notes in different ways and the required durations are not available in a music context. For more details see Manual syllable durations. This technique is also useful when setting dialogue over music; for examples showing this, see Dialogue over music.\n\nWhen entered in this way the words are left-aligned to the notes by default, but may be center-aligned to the notes of a melody by specifying an associated voice, if one exists. For details, see Manual syllable durations.\n\n' , } , { label : "\\lyricsto" , detail : "Automatic syllable durations" , documentation : "Lyrics can be automatically aligned to the notes of a melody in three ways:\n\n - by specifying the named Voice context containing the melody with \\lyricsto,\n - by introducing the lyrics with \\addlyrics and placing them immediately after the Voice context containing the melody,\n - by setting the associatedVoice property, the alignment of the lyrics may be switched to a different named Voice context at any musical moment.\n\nIn all three methods hyphens can be drawn between the syllables of a word and extender lines can be drawn beyond the end of a word. For details, see Extenders and hyphens.\n\nThe Voice context containing the melody to which the lyrics are being aligned must not have “died”, or the lyrics after that point will be lost. This can happen if there are periods when that voice has nothing to do. For methods of keeping contexts alive, see Keeping contexts alive." , } , { label : "\\lyricsto" , detail : "Using \\lyricsto" , documentation : 'Lyrics can be aligned under a melody automatically by specifying the named Voice context containing the melody with \\lyricsto:\n\n    <<\n      \\new Voice = "melody" {\n        a1 a4. a8 a2\n      }\n      \\new Lyrics \\lyricsto "melody" {\n        These are the words\n      }\n    >>\n\nThis aligns the lyrics to the notes of the named Voice context, which must already exist. Therefore normally the Voice context is specified first, followed by the Lyrics context. The lyrics themselves follow the \\lyricsto command. The \\lyricsto command invokes lyric mode automatically, so the \\lyricmode keyword may be omitted. By default, the lyrics are placed underneath the notes. For other placements, see Placing lyrics vertically.' , } , { label : "\\magnify" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\magnify" , detail : "A.10.1 Font" , documentation : "Set the font magnification for its argument. In the following example, the middle A is 10% larger:\n\n    A \\magnify #1.1 { A } A\n\nNote: Magnification only works if a font name is explicitly selected. Use \\fontsize otherwise.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\magnify #1.5 {\n        50% larger\n      }\n    }" , } , { label : "\\major" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\makeClusters" , detail : "Clusters" , documentation : "A cluster indicates a continuous range of pitches to be played. They can be denoted as the envelope of a set of notes. They are entered by applying the function \\makeClusters to a sequence of chords, e.g.,\n\n    \\makeClusters { <g b>2 <c g'> }\n\nOrdinary notes and clusters can be put together in the same staff, even simultaneously. In such a case no attempt is made to automatically avoid collisions between ordinary notes and clusters." , } , { label : "\\map-markup-commands" , detail : "A.11 Text markup list commands" , documentation : "This applies the function compose to every markup in args (including elements of markup list command calls) in order to produce a new markup list. Since the return value from a markup list command call is not a markup list but rather a list of stencils, this requires passing those stencils off as the results of individual markup calls. That way, the results should work out as long as no markups rely on side effects." , } , { label : "\\marcato" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\mark" , detail : "Rehearsal marks" , documentation : "To print a rehearsal mark, use the \\mark command.\n\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark \\default\n\nThe mark is incremented automatically if you use \\mark \\default, but you can also use an integer argument to set the mark manually. The value to use is stored in the property rehearsalMark.\n\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark #8\n    c1 \\mark \\default\n    c1 \\mark \\default\n\nThe letter ‘I’ is skipped in accordance with engraving traditions. If you wish to include the letter ‘I’, then use one of the following commands, depending on which style of rehearsal mark you want (letters only, letters in a hollow box, or letters in a hollow circle).\n\n    \\set Score.markFormatter = #format-mark-alphabet\n    \\set Score.markFormatter = #format-mark-box-alphabet\n    \\set Score.markFormatter = #format-mark-circle-alphabet\n\n    \\set Score.markFormatter = #format-mark-box-alphabet\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark #8\n    c1 \\mark \\default\n    c1 \\mark \\default" , } , { label : "\\mark" , detail : "Text marks" , documentation : 'Various text elements may be added to a score using the syntax described in Rehearsal marks:\n\n    c4\n    \\mark "Allegro"\n    c c c\n\nThis syntax makes it possible to put any text on a bar line; more complex text formatting may be added using a \\markup block, as described in Formatting text:\n\n    <c e>1\n    \\mark \\markup { \\italic { colla parte } }\n    <d f>2 <e g>\n    <c f aes>1\n\nThis syntax also allows to print special signs, like coda, segno or fermata, by specifying the appropriate symbol name as explained in Music notation inside markup:\n\n    <bes f>2 <aes d>\n    \\mark \\markup { \\musicglyph #"scripts.ufermata" }\n    <e g>1\n\nSuch objects are only typeset above the top staff of the score; depending on whether they are specified at the end or the middle of a bar, they can be placed above the bar line or between notes. When specified at a line break, the mark will be printed at the beginning of the next line.\n\n    \\mark "Allegro"\n    c1 c\n    \\mark "assai" \\break\n    c  c' , } , { label : "\\markalphabet" , detail : "A.10.7 Other" , documentation : "Make a markup letter for num. The letters start with A to Z and continue with double letters.\n\n    \\markup {\n      \\markalphabet #8\n      \\hspace #2\n      \\markalphabet #26\n    }" , } , { label : "\\markLengthOff" , detail : "Metronome marks" , documentation : 'In a part for an instrument with long periods of rests, tempo indications sometimes follow each other closely. The command \\markLengthOn provides extra horizontal space to prevent tempo indications from overlapping, and \\markLengthOff restores the default behavior of ignoring tempo marks for horizontal spacing.\n\n    \\compressFullBarRests\n    \\markLengthOn\n    \\tempo "Molto vivace"\n    R1*12\n    \\tempo "Meno mosso"\n    R1*16\n    \\markLengthOff\n    \\tempo "Tranquillo"\n    R1*20' , } , { label : "\\markLengthOff" , detail : "Text marks" , documentation : "\\markLengthOn, \\markLengthOff." , } , { label : "\\markLengthOn" , detail : "Metronome marks" , documentation : 'In a part for an instrument with long periods of rests, tempo indications sometimes follow each other closely. The command \\markLengthOn provides extra horizontal space to prevent tempo indications from overlapping, and \\markLengthOff restores the default behavior of ignoring tempo marks for horizontal spacing.\n\n    \\compressFullBarRests\n    \\markLengthOn\n    \\tempo "Molto vivace"\n    R1*12\n    \\tempo "Meno mosso"\n    R1*16\n    \\markLengthOff\n    \\tempo "Tranquillo"\n    R1*20' , } , { label : "\\markLengthOn" , detail : "Text marks" , documentation : "\\markLengthOn, \\markLengthOff." , } , { label : "\\markletter" , detail : "A.10.7 Other" , documentation : "Make a markup letter for num. The letters start with A to Z (skipping letter I), and continue with double letters.\n\n    \\markup {\n      \\markletter #8\n      \\hspace #2\n      \\markletter #26\n    }" , } , { label : "\\markup" , detail : "Text marks" , documentation : 'Various text elements may be added to a score using the syntax described in Rehearsal marks:\n\n    c4\n    \\mark "Allegro"\n    c c c\n\nThis syntax makes it possible to put any text on a bar line; more complex text formatting may be added using a \\markup block, as described in Formatting text:\n\n    <c e>1\n    \\mark \\markup { \\italic { colla parte } }\n    <d f>2 <e g>\n    <c f aes>1\n\nThis syntax also allows to print special signs, like coda, segno or fermata, by specifying the appropriate symbol name as explained in Music notation inside markup:\n\n    <bes f>2 <aes d>\n    \\mark \\markup { \\musicglyph #"scripts.ufermata" }\n    <e g>1\n\nSuch objects are only typeset above the top staff of the score; depending on whether they are specified at the end or the middle of a bar, they can be placed above the bar line or between notes. When specified at a line break, the mark will be printed at the beginning of the next line.\n\n    \\mark "Allegro"\n    c1 c\n    \\mark "assai" \\break\n    c  c' , } , { label : "\\markup" , detail : "Separate text" , documentation : "A \\markup block can exist by itself, outside of any \\score block, as a “top-level expression”. This syntax is described in File structure.\n\n    \\markup {\n      Tomorrow, and tomorrow, and tomorrow...\n    }\n\nThis allows printing text separately from the music, which is particularly useful when the input file contains several music pieces, as described in Multiple scores in a book.\n\n    \\score {\n      c'1\n    }\n    \\markup {\n      Tomorrow, and tomorrow, and tomorrow...\n    }\n    \\score {\n      c'1\n    }\n\nSeparate text blocks can be spread over multiple pages, making it possible to print text documents or books entirely within LilyPond. This feature, and the specific syntax it requires, are described in Multi-page markup." , } , { label : "\\markup" , detail : "Separate text" , documentation : "\\markup, \\markuplist." , } , { label : "\\markup" , detail : "Text markup introduction" , documentation : "A \\markup block is used to typeset text with an extensible syntax called “markup mode”." , } , { label : "\\markuplist" , detail : "Separate text" , documentation : "\\markup, \\markuplist." , } , { label : "\\markuplist" , detail : "Multi-page markup" , documentation : "Although standard markup objects are not breakable, a specific syntax makes it possible to enter lines of text that can spread over multiple pages:\n\n    \\markuplist {\n      \\justified-lines {\n        A very long text of justified lines.\n        ...\n      }\n      \\wordwrap-lines {\n        Another very long paragraph.\n        ...\n      }\n      ...\n    }\n\nThis syntax accepts a list of markups, that can be\n\n - the result of a markup list command,\n - a list of markups,\n - a list of markup lists.\n\nAn exhaustive list of markup list commands can be found in Text markup list commands." , } , { label : "\\maxima" , detail : "Durations" , documentation : "Durations are designated by numbers and dots. Durations are entered as their reciprocal values. For example, a quarter note is entered using a 4 (since it is a 1/4 note), and a half note is entered using a 2 (since it is a 1/2 note). For notes longer than a whole you must use the \\longa (a double breve) and \\breve commands. Durations as short as 128th notes may be specified. Shorter values are possible, but only as beamed notes.\n\n    \\time 8/1\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nHere are the same durations with automatic beaming turned off.\n\n    \\time 8/1\n    \\autoBeamOff\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nA note with the duration of a quadruple breve may be entered with \\maxima, but this is supported only within ancient music notation. For details, see Ancient notation." , } , { label : "\\maxima" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\medium" , detail : "A.10.1 Font" , documentation : "Switch to medium font-series (in contrast to bold).\n\n    \\markup {\n      \\bold {\n        some bold text\n        \\hspace #2\n        \\medium {\n          medium font series\n        }\n        \\hspace #2\n        bold again\n      }\n    }" , } , { label : "\\melisma" , detail : "Multiple notes to one syllable" , documentation : 'Sometimes, particularly in Medieval and baroque music, several notes are sung on one syllable; this is called melisma, see melisma. The syllable to a melisma is usually left-aligned with the first note of the melisma.\n\nWhen a melisma occurs on a syllable other than the last one in a word, that syllable is usually joined to the following one with a hyphenated line. This is indicated by placing a double hyphen, --, immediately after the syllable.\n\nAlternatively, when a melisma occurs on the last or only syllable in a word an extender line is usually drawn from the end of the syllable to the last note of the melisma. This is indicated by placing a double underscore, __, immediately after the word.\n\nThere are five ways in which melismata can be indicated:\n\n - Melismata are created automatically over notes which are tied together:\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g2 ~ |\n    g4 e2 ~ |\n    e8\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e __\n  }\n>>\n \n\n\n - Melismata can be created automatically from the music by placing slurs over the notes of each melisma. This is the usual way of entering lyrics:\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g8 ( f e f )\n    e8 ( d e2 )\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e __\n  }\n>>\n \n\nNote that phrasing slurs do not affect the creation of melismata.\n\n\n - Notes are considered a melisma if they are manually beamed, providing automatic beaming is switched off. See Setting automatic beam behavior.\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    \\autoBeamOff\n    f4 g8[ f e f]\n    e2.\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e\n  }\n>>\n \n\nClearly this is not suited to melismata over notes which are longer than eighth notes.\n\n\n - An unslurred group of notes will be treated as a melisma if they are bracketed between \\melisma and \\melismaEnd.\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g8\n    \\melisma\n    f e f\n    \\melismaEnd\n    e2.\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e\n  }\n>>\n \n\n\n - A melisma can be defined entirely in the lyrics by entering a single underscore character, _, for every extra note that has to be added to the melisma.\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g8 f e f\n    e8 d e2\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- _ _ _ e __ _ _\n  }\n>>\n \n\n\n\nIt is possible to have ties, slurs and manual beams in the melody without their indicating melismata. To do this, set melismaBusyProperties:\n\n    <<\n      \\new Voice = "melody" {\n        \\time 3/4\n        \\set melismaBusyProperties = #\'()\n        c4 d ( e )\n        g8 [ f ] f4 ~ f\n      }\n      \\new Lyrics \\lyricsto "melody" {\n        Ky -- ri -- e e -- le -- i -- son\n      }\n    >>\n\nOther settings for melismaBusyProperties can be used to selectively include or exclude ties, slurs, and beams from the automatic detection of melismata; see melismaBusyProperties in Tunable context properties.\n\nAlternatively, if all melismata indications are to be ignored, ignoreMelismata may be set true; see Stanzas with different rhythms.\n\nIf a melisma is required during a passage in which melismaBusyProperties is active, it may be indicated by placing a single underscore in the lyrics for each note which should be included in the melisma:\n\n    <<\n      \\new Voice = "melody" {\n        \\time 3/4\n        \\set melismaBusyProperties = #\'()\n        c4 d ( e )\n        g8 [ f ] ~ f4 ~ f\n      }\n      \\new Lyrics \\lyricsto "melody" {\n        Ky -- ri -- _ e __ _ _ _\n      }\n    >>' , } , { label : "\\melismaEnd" , detail : "Multiple notes to one syllable" , documentation : 'Sometimes, particularly in Medieval and baroque music, several notes are sung on one syllable; this is called melisma, see melisma. The syllable to a melisma is usually left-aligned with the first note of the melisma.\n\nWhen a melisma occurs on a syllable other than the last one in a word, that syllable is usually joined to the following one with a hyphenated line. This is indicated by placing a double hyphen, --, immediately after the syllable.\n\nAlternatively, when a melisma occurs on the last or only syllable in a word an extender line is usually drawn from the end of the syllable to the last note of the melisma. This is indicated by placing a double underscore, __, immediately after the word.\n\nThere are five ways in which melismata can be indicated:\n\n - Melismata are created automatically over notes which are tied together:\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g2 ~ |\n    g4 e2 ~ |\n    e8\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e __\n  }\n>>\n \n\n\n - Melismata can be created automatically from the music by placing slurs over the notes of each melisma. This is the usual way of entering lyrics:\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g8 ( f e f )\n    e8 ( d e2 )\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e __\n  }\n>>\n \n\nNote that phrasing slurs do not affect the creation of melismata.\n\n\n - Notes are considered a melisma if they are manually beamed, providing automatic beaming is switched off. See Setting automatic beam behavior.\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    \\autoBeamOff\n    f4 g8[ f e f]\n    e2.\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e\n  }\n>>\n \n\nClearly this is not suited to melismata over notes which are longer than eighth notes.\n\n\n - An unslurred group of notes will be treated as a melisma if they are bracketed between \\melisma and \\melismaEnd.\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g8\n    \\melisma\n    f e f\n    \\melismaEnd\n    e2.\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- e\n  }\n>>\n \n\n\n - A melisma can be defined entirely in the lyrics by entering a single underscore character, _, for every extra note that has to be added to the melisma.\n<<\n  \\new Voice = "melody" {\n    \\time 3/4\n    f4 g8 f e f\n    e8 d e2\n  }\n  \\new Lyrics \\lyricsto "melody" {\n    Ky -- ri -- _ _ _ e __ _ _\n  }\n>>\n \n\n\n\nIt is possible to have ties, slurs and manual beams in the melody without their indicating melismata. To do this, set melismaBusyProperties:\n\n    <<\n      \\new Voice = "melody" {\n        \\time 3/4\n        \\set melismaBusyProperties = #\'()\n        c4 d ( e )\n        g8 [ f ] f4 ~ f\n      }\n      \\new Lyrics \\lyricsto "melody" {\n        Ky -- ri -- e e -- le -- i -- son\n      }\n    >>\n\nOther settings for melismaBusyProperties can be used to selectively include or exclude ties, slurs, and beams from the automatic detection of melismata; see melismaBusyProperties in Tunable context properties.\n\nAlternatively, if all melismata indications are to be ignored, ignoreMelismata may be set true; see Stanzas with different rhythms.\n\nIf a melisma is required during a passage in which melismaBusyProperties is active, it may be indicated by placing a single underscore in the lyrics for each note which should be included in the melisma:\n\n    <<\n      \\new Voice = "melody" {\n        \\time 3/4\n        \\set melismaBusyProperties = #\'()\n        c4 d ( e )\n        g8 [ f ] ~ f4 ~ f\n      }\n      \\new Lyrics \\lyricsto "melody" {\n        Ky -- ri -- _ e __ _ _ _\n      }\n    >>' , } , { label : "\\mergeDifferentlyDottedOff" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mergeDifferentlyDottedOn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mergeDifferentlyHeadedOff" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mergeDifferentlyHeadedOn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mf" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\midi" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\midi" , detail : "Output definitions - blueprints for contexts" , documentation : "A much simpler output definition used for producing Midi output is specified using \\midi. Several other output definitions are used by LilyPond internally, like when using the part combiner (Automatic part combining) or creating music quotes (Quoting other voices).\n\nOutput definitions define the relation between contexts as well as their respective default settings. While most changes will usually be made inside of a \\layout block, Midi-related settings will only have an effect when made within a \\midi block." , } , { label : "\\minor" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\mixolydian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\mm" , detail : "5.4.3 Distances and measurements" , documentation : "Distances in LilyPond are of two types: absolute and scaled.\n\nAbsolute distances are used for specifying margins, indents, and other page layout details, and are by default specified in millimeters. Distances may be specified in other units by following the quantity by \\mm, \\cm, \\in (inches), or \\pt (points, 1/72.27 of an inch). Page layout distances can also be specified in scalable units (see the following paragraph) by appending \\staff-space to the quantity. Page layout is described in detail in Page layout.\n\nScaled distances are always specified in units of the staff-space or, rarely, the half staff-space. The staff-space is the distance between two adjacent staff lines. The default value can be changed globally by setting the global staff size, or it can be overridden locally by changing the staff-space property of StaffSymbol. Scaled distances automatically scale with any change to the either the global staff size or the staff-space property of StaffSymbol, but fonts scale automatically only with changes to the global staff size. The global staff size thus enables the overall size of a rendered score to be easily varied. For the methods of setting the global staff size see Setting the staff size." , } , { label : "\\modalInversion" , detail : "Modal inversion" , documentation : "A motif can be inverted within a given scale around a given pivot note and transposed in a single operation with:\n\n    \\modalInversion around-pitch to-pitch scale motif\n\nThe notes of motif are placed the same number of scale degrees from the around-pitch note within the scale, but in the opposite direction, and the result is then shifted within the scale by the number of scale degrees given by the interval between to-pitch and around-pitch.\n\nSo to simply invert around a note in the scale use the same value for around-pitch and to-pitch:\n\n    octatonicScale = \\relative c' { ees f fis gis a b c d }\n    motif = \\relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }\n    \\new Staff {\n      \\motif\n      \\modalInversion fis' fis' \\octatonicScale \\motif\n    }\n\nTo invert around a pivot between two notes in the scale, invert around one of the notes and then transpose by one scale degree. The two notes specified can be interpreted as bracketing the pivot point:\n\n    scale = \\relative c' { c g' }\n    motive = \\relative c' { c c g' c, }\n    \\new Staff {\n      \\motive\n      \\modalInversion c' g' \\scale \\motive\n    }\n\nThe combined operation of inversion and retrograde produce the retrograde-inversion:\n\n    octatonicScale = \\relative c' { ees f fis gis a b c d }\n    motif = \\relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }\n    \\new Staff {\n      \\motif\n      \\retrograde \\modalInversion c' c' \\octatonicScale \\motif\n    }" , } , { label : "\\modalTranspose" , detail : "Modal transposition" , documentation : "A motif can be transposed within a given scale with:\n\n    \\modalTranspose from-pitch to-pitch scale motif\n\nThe notes of motif are shifted within the scale by the number of scale degrees given by the interval between to-pitch and from-pitch:\n\n    diatonicScale = \\relative c' { c d e f g a b }\n    motif = \\relative c' { c8 d e f g a b c }\n    \\new Staff {\n      \\motif\n      \\modalTranspose c f \\diatonicScale \\motif\n      \\modalTranspose c b, \\diatonicScale \\motif\n    }\n\nAn ascending scale of any length and with any intervals may be specified:\n\n    pentatonicScale = \\relative c' { ges aes bes des ees }\n    motif = \\relative c' { ees8 des ges,4 <ges' bes,> <ges bes,> }\n    \\new Staff {\n      \\motif\n      \\modalTranspose ges ees' \\pentatonicScale \\motif\n    }\n\nWhen used with a chromatic scale \\modalTranspose has a similar effect to \\transpose, but with the ability to specify the names of the notes to be used:\n\n    chromaticScale = \\relative c' { c cis d dis e f fis g gis a ais b }\n    motif = \\relative c' { c8 d e f g a b c }\n    \\new Staff {\n      \\motif\n      \\transpose c f \\motif\n      \\modalTranspose c f \\chromaticScale \\motif\n    }" , } , { label : "\\mordent" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\mp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\musicglyph" , detail : "Rehearsal marks" , documentation : 'Music glyphs (such as the segno sign) may be printed inside a \\mark\n\n    c1 \\mark \\markup { \\musicglyph #"scripts.segno" }\n    c1 \\mark \\markup { \\musicglyph #"scripts.coda" }\n    c1 \\mark \\markup { \\musicglyph #"scripts.ufermata" }\n    c1\n\nSee The Feta font, for a list of symbols which may be printed with \\musicglyph.\n\nFor common tweaks to the positioning of rehearsal marks, see Formatting text. For more precise control, see break-alignable-interface in Aligning objects.\n\nThe file ‘scm/translation-functions.scm’ contains the definitions of format-mark-numbers and format-mark-letters. They can be used as inspiration for other formatting functions.' , } , { label : "\\musicglyph" , detail : "A.10.4 Music" , documentation : 'glyph-name is converted to a musical symbol; for example, \\musicglyph #"accidentals.natural" selects the natural sign from the music font. See The Feta font for a complete listing of the possible glyphs.\n\n    \\markup {\n      \\musicglyph #"f"\n      \\musicglyph #"rests.2"\n      \\musicglyph #"clefs.G_change"\n    }' , } , { label : "\\name" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\natural" , detail : "A.10.4 Music" , documentation : "Draw a natural symbol.\n\n    \\markup {\n      \\natural\n    }" , } , { label : "\\new" , detail : "5.1.2 Creating and referencing contexts" , documentation : 'LilyPond will create lower-level contexts automatically if a music expression is encountered before a suitable context exists, but this is usually successful only for simple scores or music fragments like the ones in the documentation. For more complex scores it is advisable to specify all contexts explicitly with either the \\new or \\context command. The syntax of these two commands is very similar:\n\n    [\\new | \\context] Context [ = name] [music-expression]\n\nwhere either \\new or \\context may be specified. Context is the type of context which is to be created, name is an optional name to be given to the particular context being created and music-expression is a single music expression that is to be interpreted by the engravers and performers in this context.\n\nThe \\new prefix without a name is commonly used to create scores with many staves:\n\n    <<\n      \\new Staff {\n        % leave the Voice context to be created implicitly\n        c4 c\n      }\n      \\new Staff {\n        d4 d\n      }\n    >>\n\nand to place several voices into one staff:\n\n    <<\n      \\new Staff <<\n        \\new Voice {\n          \\voiceOne\n          c8 c c4 c c\n        }\n        \\new Voice {\n          \\voiceTwo\n          g4 g g g\n        }\n      >>\n    >>\n\n\\new should always be used to specify unnamed contexts.\n\nThe difference between \\new and \\context is in the action taken:\n\n - \\new with or without a name will always create a fresh, distinct, context, even if one with the same name already exists:\n<<\n  \\new Staff <<\n    \\new Voice = "A" {\n      \\voiceOne\n      c8 c c4 c c\n    }\n    \\new Voice = "A" {\n      \\voiceTwo\n      g4 g g g\n    }\n  >>\n>>\n \n\n\n - \\context with a name specified will create a distinct context only if a context of the same type with the same name in the same context hierarchy does not already exist. Otherwise it will be taken as a reference to that previously created context, and its music expression will be passed to that context for interpretation.\nOne application of named contexts is in separating the score layout from the musical content. Either of these two forms is valid:\n\n\\score {\n  <<\n    % score layout\n    \\new Staff <<\n      \\new Voice = "one" {\n        \\voiceOne\n      }\n      \\new Voice = "two" {\n        \\voiceTwo\n      }\n    >>\n\n    % musical content\n    \\context Voice = "one" {\n      \\relative c\'\' {\n        c4 c c c\n      }\n    }\n    \\context Voice = "two" {\n      \\relative c\'\' {\n        g8 g g4 g g\n      }\n    }\n  >>\n}\n \n\n\\score {\n  <<\n    % score layout\n    \\new Staff <<\n      \\context Voice = "one" {\n        \\voiceOne\n      }\n      \\context Voice = "two" {\n        \\voiceTwo\n      }\n    >>\n\n    % musical content\n    \\context Voice = "one" {\n      \\relative c\'\' {\n        c4 c c c\n      }\n    }\n    \\context Voice = "two" {\n      \\relative c\'\' {\n        g8 g g4 g g\n      }\n    }\n  >>\n}\n \n\nAlternatively, variables may be employed to similar effect. See Organizing pieces with variables.\n\n\n - \\context with no name will match the first of any previously created contexts of the same type in the same context heirarchy, even one that has been given a name, and its music expression will be passed to that context for interpretation. This form is rarely useful. However, \\context with no name and no music expression is used to set the context in which a Scheme procedure specified with \\applyContext is executed:\n\\new Staff \\relative c\' {\n  c1\n  \\context Timing\n  \\applyContext #(lambda (ctx)\n                   (newline)\n                   (display (ly:context-current-moment ctx)))\n  c1\n}\n\n\nA context must be named if it is to be referenced later, for example when lyrics are associated with music:\n\n    \\new Voice = "tenor" music\n    …\n    \\new Lyrics \\lyricsto "tenor" lyrics\n\nFor details of associating lyrics with music see Automatic syllable durations.\n\nThe properties of all contexts of a particular type can be modified in a \\layout block (with a different syntax), see Changing all contexts of the same type. This construct also provides a means of keeping layout instructions separate from the musical content. If a single context is to be modified, a \\with block must be used, see Changing just one specific context.' , } , { label : "\\newSpacingSection" , detail : "4.5.2 New spacing area" , documentation : "New sections with different spacing parameters can be started with newSpacingSection. This is useful when there are sections with a different notions of long and short notes.\n\nIn the following example, the time signature change introduces a new section, and hence the 16ths notes are automatically spaced slightly wider.\n\n    \\time 2/4\n    c4 c8 c\n    c8 c c4 c16[ c c8] c4\n    \\newSpacingSection\n    \\time 4/16\n    c16[ c c8]\n\nThe \\newSpacingSection command creates a new SpacingSpanner object at that musical moment. If the automatic spacing adjustments do not give the required spacing, manual \\overrides may be applied to its properties. These must be applied at the same musical moment as the \\newSpacingSection command itself. They will then affect the spacing of all the following music until the properties are changed in a new spacing section, for example,\n\n    \\time 4/16\n    c16[ c c8]\n    \\newSpacingSection\n    \\override Score.SpacingSpanner.spacing-increment = #2\n    c16[ c c8]\n    \\newSpacingSection\n    \\revert Score.SpacingSpanner.spacing-increment\n    c16[ c c8]" , } , { label : "\\noBeam" , detail : "Manual beams" , documentation : "Individual notes may be marked with \\noBeam to prevent them from being beamed:\n\n    \\time 2/4\n    c8 c\\noBeam c c\n\nGrace note beams and normal note beams can occur simultaneously. Unbeamed grace notes are not put into normal note beams.\n\n    c4 d8[\n    \\grace { e32 d c d }\n    e8] e[ e\n    \\grace { f16 }\n    e8 e]" , } , { label : "\\noBreak" , detail : "Predefined commands" , documentation : "" , } , { label : "\\noPageBreak" , detail : "Predefined commands" , documentation : "" , } , { label : "\\noPageTurn" , detail : "Predefined commands" , documentation : "" , } , { label : "\\normal-size-sub" , detail : "A.10.1 Font" , documentation : "Set arg in subscript with a normal font size.\n\n    \\markup {\n      default\n      \\normal-size-sub {\n        subscript in standard size\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\normal-size-super" , detail : "Selecting font and font size" , documentation : "Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well:\n\n    \\markup {\n      \\column {\n        \\line { 1 \\super st movement }\n        \\line { 1 \\normal-size-super st movement\n          \\sub { (part two) }  }\n      }\n    }" , } , { label : "\\normal-size-super" , detail : "A.10.1 Font" , documentation : "Set arg in superscript with a normal font size.\n\n    \\markup {\n      default\n      \\normal-size-super {\n        superscript in standard size\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\normal-text" , detail : "A.10.1 Font" , documentation : "Set all font related properties (except the size) to get the default normal text font, no matter what font was used earlier.\n\n    \\markup {\n      \\huge \\bold \\sans \\caps {\n        huge bold sans caps\n        \\hspace #2\n        \\normal-text {\n          huge normal\n        }\n        \\hspace #2\n        as before\n      }\n    }" , } , { label : "\\normalsize" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\normalsize" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\normalsize" , detail : "A.10.1 Font" , documentation : "Set font size to default.\n\n    \\markup {\n      \\teeny {\n        this is very small\n        \\hspace #2\n        \\normalsize {\n          normal size\n        }\n        \\hspace #2\n        teeny again\n      }\n    }" , } , { label : "\\note" , detail : "A.10.4 Music" , documentation : 'This produces a note with a stem pointing in dir direction, with the duration for the note head type and augmentation dots. For example, \\note #"4." #-0.75 creates a dotted quarter note, with a shortened down stem.\n\n    \\markup {\n      \\override #\'(style . cross) {\n        \\note #"4.." #UP\n      }\n      \\hspace #2\n      \\note #"breve" #0\n    }\n\nUsed properties:\n\n - style (’())\n - flag-style (’())\n - font-size (0)' , } , { label : "\\note-by-number" , detail : "A.10.4 Music" , documentation : "Construct a note symbol, with stem and flag. By using fractional values for dir, longer or shorter stems can be obtained. Supports all note-head-styles. Supported flag-styles are default, old-straight-flag, modern-straight-flag and flat-flag.\n\n    \\markup {\n      \\note-by-number #3 #0 #DOWN\n      \\hspace #2\n      \\note-by-number #1 #2 #0.8\n    }\n\nUsed properties:\n\n - style (’())\n - flag-style (’())\n - font-size (0)" , } , { label : "\\null" , detail : "Text alignment" , documentation : "Vertical alignment is a bit more complex. As stated above, markup objects can be moved as a whole; however, it is also possible to move specific elements inside a markup block. In this case, the element to be moved needs to be preceded with an anchor point, that can be another markup element or an invisible object. The following example demonstrates these two possibilities; the last markup in this example has no anchor point, and therefore is not moved.\n\n    d2^\\markup {\n      Acte I\n      \\raise #2 { Scène 1 }\n    }\n    a'\n    g_\\markup {\n      \\null\n      \\lower #4 \\bold { Très modéré }\n    }\n    a\n    d,^\\markup {\n      \\raise #4 \\italic { Une forêt. }\n    }\n    a'4 a g2 a" , } , { label : "\\null" , detail : "A.10.7 Other" , documentation : "An empty markup with extents of a single point.\n\n    \\markup {\n      \\null\n    }" , } , { label : "\\number" , detail : "A.10.1 Font" , documentation : "Set font family to number, which yields the font used for time signatures and fingerings. This font contains numbers and some punctuation; it has no letters.\n\n    \\markup {\n      \\number {\n        0 1 2 3 4 5 6 7 8 9 . ,\n      }\n    }" , } , { label : "\\numericTimeSignature" , detail : "Time signature" , documentation : "The time signature symbol that is used in 2/2 and 4/4 time can be changed to a numeric style:\n\n    % Default style\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Change to numeric style\n    \\numericTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Revert to default style\n    \\defaultTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n\nMensural time signatures are covered in Mensural time signatures." , } , { label : "\\octaveCheck" , detail : "Octave checks" , documentation : "In relative mode, it is easy to forget an octave changing mark. Octave checks make such errors easier to find by displaying a warning and correcting the octave if a note is found in an unexpected octave.\n\nTo check the octave of a note, specify the absolute octave after the = symbol. This example will generate a warning (and change the pitch) because the second note is the absolute octave d'' instead of d' as indicated by the octave correction.\n\n    \\relative c'' {\n      c2 d='4 d\n      e2 f\n    }\n\nThe octave of notes may also be checked with the \\octaveCheck controlpitch command. controlpitch is specified in absolute mode. This checks that the interval between the previous note and the controlpitch is within a fourth (i.e., the normal calculation of relative mode). If this check fails, a warning is printed, but the previous note is not changed. Future notes are relative to the controlpitch.\n\n    \\relative c'' {\n      c2 d\n      \\octaveCheck c'\n      e2 f\n    }\n\nCompare the two bars below. The first and third \\octaveCheck checks fail, but the second one does not fail.\n\n    \\relative c'' {\n      c4 f g f\n      c4\n      \\octaveCheck c'\n      f\n      \\octaveCheck c'\n      g\n      \\octaveCheck c'\n      f\n    }" , } , { label : "\\omit" , detail : "Removing the stencil" , documentation : "Every layout object has a stencil property. By default this is set to the specific function which draws that object. If this property is overridden to #f no function will be called and the object will not be drawn. The default action can be recovered with \\revert.\n\n    a1 a\n    \\override Score.BarLine.stencil = ##f\n    a a\n    \\revert Score.BarLine.stencil\n    a a a\n\nThis rather common operation has a shortcut \\omit:\n\n    a1 a\n    \\omit Score.BarLine\n    a a\n    \\undo \\omit Score.BarLine\n    a a a" , } , { label : "\\on-the-fly" , detail : "Custom layout for headers and footers" , documentation : "The \\markup command \\on-the-fly can be used to add markup conditionally to header and footer text defined within the \\paper block, using the following syntax:\n\n    variable = \\markup {\n      …\n      \\on-the-fly  \\procedure  markup\n      …\n    }\n\nThe procedure is called each time the \\markup command in which it appears is evaluated. The procedure should test for a particular condition and interpret (i.e. print) the markup argument if and only if the condition is true.\n\nA number of ready-made procedures for testing various conditions are provided:\n\n    Procedure name\n    Condition tested\n    print-page-number-check-first\n    should this page number be printed?\n    create-page-number-stencil\n    print-page-numbers true?\n    print-all-headers\n    print-all-headers true?\n    first-page\n    first page in the book?\n    (on-page nmbr)\n    page number = nmbr?\n    last-page\n    last page in the book?\n    not-first-page\n    not first page in the book?\n    part-first-page\n    first page in the book part?\n    part-last-page\n    last page in the book part?\n    not-single-page\n    pages in book part > 1?\n\nThe following example centers page numbers at the bottom of every page. First, the default settings for oddHeaderMarkup and evenHeaderMarkup are removed by defining each as a null markup. Then, oddFooterMarkup is redefined with the page number centered. Finally, evenFooterMarkup is given the same layout by defining it as \\oddFooterMarkup:\n\n    \\book {\n      \\paper {\n        print-page-number = ##t\n        print-first-page-number = ##t\n        oddHeaderMarkup = \\markup \\null\n        evenHeaderMarkup = \\markup \\null\n        oddFooterMarkup = \\markup {\n          \\fill-line {\n            \\on-the-fly \\print-page-number-check-first\n            \\fromproperty #'page:page-number-string\n          }\n        }\n        evenFooterMarkup = \\oddFooterMarkup\n      }\n      \\score {\n        \\new Staff { s1 \\break s1 \\break s1 }\n      }\n    }\n\nSeveral \\on-the-fly conditions can be combined with an ‘and’ operation, for example,\n\n      \\on-the-fly \\first-page\n      \\on-the-fly \\last-page\n      { \\markup … \\fromproperty #'header: … }\n\ndetermines if the output is a single page." , } , { label : "\\on-the-fly" , detail : "A.10.7 Other" , documentation : "Apply the procedure markup command to arg. procedure should take a single argument." , } , { label : "\\once" , detail : "5.3.3 The \\override command" , documentation : "\\once can be used with \\override to affect only the current time step:\n\n    {\n      <<\n        {\n          \\override Stem.thickness = #3.0\n          e4 e e e\n        } \\\\ {\n          c4\n          \\once \\override Stem.thickness = #3.0\n          c4 c c\n        }\n      >>\n    }" , } , { label : "\\oneVoice" , detail : "Single-staff polyphony" , documentation : 'The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example:\n\n    \\new Staff <<\n      \\new Voice = "first"\n        { \\voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }\n      \\new Voice= "second"\n        { \\voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }\n    >>\n\nHere, voices are instantiated explicitly and are given names. The \\voiceOne … \\voiceFour commands set up the voices so that first and third voices get stems up, second and fourth voices get stems down, third and fourth voice note heads are horizontally shifted, and rests in the respective voices are automatically moved to avoid collisions. The \\oneVoice command returns all the voice settings to the neutral default directions.' , } , { label : "\\open" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\open" , detail : "Bowing indications" , documentation : 'Bowing indications are created as articulations, which are described in Articulations and ornamentations.\n\nThe bowing commands, \\upbow and \\downbow, are used with slurs as follows:\n\n    c4(\\downbow d) e(\\upbow f)\n\nand the following example shows three ways in which an open A string on a violin might be indicated:\n\n    a4 \\open\n    a^\\markup { \\teeny "II" }\n    a2^\\markup { \\small "sul A" }' , } , { label : "\\oriscus" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\oriscus" , detail : "Predefined commands" , documentation : "" , } , { label : "\\ottava" , detail : "Ottava brackets" , documentation : "Ottava brackets introduce an extra transposition of an octave for the staff:\n\n    a2 b\n    \\ottava #-2\n    a2 b\n    \\ottava #-1\n    a2 b\n    \\ottava #0\n    a2 b\n    \\ottava #1\n    a2 b\n    \\ottava #2\n    a2 b" , } , { label : "\\oval" , detail : "A.10.3 Graphic" , documentation : "Draw an oval around arg. Use thickness, x-padding, x-padding and font-size properties to determine line thickness and padding around the markup.\n\n    \\markup {\n      \\oval {\n        Hi\n      }\n    }\n\nUsed properties:\n\n - y-padding (0.75)\n - x-padding (0.75)\n - font-size (0)\n - thickness (1)" , } , { label : "\\override" , detail : "5.3.3 The \\override command" , documentation : 'There is a special type of context property: the grob description. Grob descriptions are named in StudlyCaps (starting with capital letters). They contain the ‘default settings’ for a particular kind of grob as an association list. See ‘scm/define-grobs.scm’ to see the settings for each grob description. Grob descriptions are modified with \\override.\n\nThe syntax for the \\override command is\n\n    \\override [context.]GrobName.property = #value\n\nFor example, we can increase the thickness of a note stem by overriding the thickness property of the Stem object:\n\n    c4 c\n    \\override Voice.Stem.thickness = #3.0\n    c4 c\n\nIf no context is specified in an \\override, the bottom context is used:\n\n    { \\override Staff.Stem.thickness = #3.0\n      <<\n        {\n          e4 e\n          \\override Stem.thickness = #0.5\n          e4 e\n        } \\\\ {\n          c4 c c c\n        }\n      >>\n    }\n\nSome tweakable options are called ‘subproperties’ and reside inside properties. To tweak those, use commands in the form\n\n    \\override Stem.details.beamed-lengths = #\'(4 4 3)\n\nor to modify the ends of spanners, use a form like these\n\n    \\override TextSpanner.bound-details.left.text = #"left text"\n    \\override TextSpanner.bound-details.right.text = #"right text"' , } , { label : "\\override" , detail : "5.3.5 \\set vs. \\override" , documentation : "Both \\set and \\override manipulate properties associated with contexts. In either case, properties heed the hierarchy of contexts: properties not set in a context itself show the values of the respective parent context.\n\nValues and lifetime of context properties are dynamic and only available when music is being interpreted, ‘iterated’. At the time of context creation, properties are initialized from the corresponding context definition and possible context modifications. Afterwards, changes are achieved with property-setting commands in the music itself.\n\nNow grob definitions are a special category of context properties. Since their structure, bookkeeping and use is different from ordinary context properties, they are accessed with a different set of commands, and treated separately in the documentation.\n\nAs opposed to plain context properties, grob definitions are subdivided into grob properties. A “grob” (graphical object) is usually created by an engraver at the time of interpreting a music expression and receives its initial properties from the current grob definition of the engraver’s context. The engraver (or other ‘backend’ parts of LilyPond) may subsequently add or change properties to the grob, but that does not affect the context’s grob definition.\n\nWhat we call ‘grob properties’ in the context of user-level tweaking are actually the properties of a context’s grob definition. In contrast to ordinary context properties, grob definitions have the bookkeeping required to keep track of its parts, the individual grob properties (and even subproperties of them) separately so that it is possible to define those parts in different contexts and have the overall grob definition at the time of grob creation be assembled from pieces provided in different contexts among the current context and its parents.\n\nGrob definitions are manipulated using \\override and \\revert and have a name starting with a capital letter (like ‘NoteHead’) whereas ordinary context properties are manipulated using \\set and \\unset and are named starting with a lowercase letter." , } , { label : "\\override" , detail : "A.10.7 Other" , documentation : "Add the argument new-prop to the property list. Properties may be any property supported by font-interface, text-interface and instrument-specific-markup-interface.\n\n    \\markup {\n      \\line {\n        \\column {\n          default\n          baseline-skip\n        }\n        \\hspace #2\n        \\override #'(baseline-skip . 4) {\n          \\column {\n            increased\n            baseline-skip\n          }\n        }\n      }\n    }" , } , { label : "\\override-lines" , detail : "A.11 Text markup list commands" , documentation : "Like \\override, for markup lists." , } , { label : "\\overrideProperty" , detail : "5.3.5 \\set vs. \\override" , documentation : "The special commands \\tweak and \\overrideProperty change grob properties bypassing context properties completely. Instead they catch grobs as they are being created and then directly set properties on them when they originate from a tweaked music event or are of a particular kind, respectively." , } , { label : "\\overrideTimeSignatureSettings" , detail : "Time signature" , documentation : "In addition to setting the printed time signature, the \\time command also sets the values of the time-signature-based properties baseMoment, beatStructure, and beamExceptions. The predefined default values for these properties can be found in ‘scm/time-signature-settings.scm’.\n\nThe default value of beatStructure can be overridden in the \\time command itself by supplying it as the optional first argument:\n\n    \\score {\n      \\new Staff {\n        \\relative c' {\n          \\time #'(2 2 3) 7/8\n          \\repeat unfold 7 { c8 } |\n          \\time #'(3 2 2) 7/8\n          \\repeat unfold 7 { c8 } |\n        }\n      }\n    }\n\nAlternatively, the default values of all these time-signature-based variables, including baseMoment and beamExceptions, can be set together. The values can be set independently for several different time signatures. The new values take effect when a subsequent \\time command with the same value of the time signature is executed:\n\n    \\score {\n      \\new Staff {\n        \\relative c' {\n          \\overrideTimeSignatureSettings\n            4/4        % timeSignatureFraction\n            1/4        % baseMomentFraction\n            #'(3 1)    % beatStructure\n            #'()       % beamExceptions\n          \\time 4/4\n          \\repeat unfold 8 { c8 } |\n        }\n      }\n    }\n\n\\overrideTimeSignatureSettings takes four arguments:\n\ntimeSignatureFraction, a fraction describing the time signature to which these values apply.\nbaseMomentFraction, a fraction containing the numerator and denominator of the basic timing unit for the time signature.\nbeatStructure, a Scheme list indicating the structure of the beats in the measure, in units of the base moment.\nbeamExceptions, an alist containing any beaming rules for the time signature that go beyond ending at every beat, as described in Setting automatic beam behavior.\n" , } , { label : "\\p" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\pad-around" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-around" , detail : "A.10.2 Align" , documentation : "Add padding amount all around arg.\n\n    \\markup {\n      \\box {\n        default\n      }\n      \\hspace #2\n      \\box {\n        \\pad-around #0.5 {\n          padded\n        }\n      }\n    }" , } , { label : "\\pad-markup" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-markup" , detail : "A.10.2 Align" , documentation : "Add space around a markup object. Identical to pad-around.\n\n    \\markup {\n      \\box {\n        default\n      }\n      \\hspace #2\n      \\box {\n        \\pad-markup #1 {\n          padded\n        }\n      }\n    }" , } , { label : "\\pad-to-box" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-to-box" , detail : "A.10.2 Align" , documentation : "Make arg take at least x-ext, y-ext space.\n\n    \\markup {\n      \\box {\n        default\n      }\n      \\hspace #4\n      \\box {\n        \\pad-to-box #'(0 . 10) #'(0 . 3) {\n          padded\n        }\n      }\n    }" , } , { label : "\\pad-x" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-x" , detail : "A.10.2 Align" , documentation : "Add padding amount around arg in the X direction.\n\n    \\markup {\n      \\box {\n        default\n      }\n      \\hspace #4\n      \\box {\n        \\pad-x #2 {\n          padded\n        }\n      }\n    }" , } , { label : "\\page-link" , detail : "A.10.7 Other" , documentation : "Add a link to the page page-number around arg. This only works in the PDF backend.\n\n    \\markup {\n      \\page-link #2  { \\italic { This links to page 2... } }\n    }" , } , { label : "\\page-ref" , detail : "Predefined commands" , documentation : "" , } , { label : "\\page-ref" , detail : "A.10.7 Other" , documentation : "Reference to a page number. label is the label set on the referenced page (using the \\label command), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found." , } , { label : "\\pageBreak" , detail : "Predefined commands" , documentation : "\\pageBreak, \\noPageBreak." , } , { label : "\\pageTurn" , detail : "Predefined commands" , documentation : "\\pageTurn, \\noPageTurn, \\allowPageTurn." , } , { label : "\\paper" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\paper" , detail : "4.1.2 Paper size and automatic scaling" , documentation : '‘A4’ is the default value when no explicit paper size is set. However, there are two functions that can be used to change it:\n\nset-default-paper-size\n#(set-default-paper-size "quarto")\nwhich must always be placed at the toplevel scope, and\n\nset-paper-size\n\\paper {\n  #(set-paper-size "tabloid")\n}\nwhich must always be placed in a \\paper block.\n\n\n\nIf the set-default-paper-size function is used in the toplevel scope, it must come before any \\paper block. set-default-paper-size sets the paper size for all pages, whereas set-paper-size only sets the paper size for the pages that the \\paper block applies to. For example, if the \\paper block is at the top of the file, then it will apply the paper size to all pages. If the \\paper block is inside a \\book, then the paper size will only apply to that book.\n\nWhen the set-paper-size function is used, it must be placed before any other functions used within the same \\paper block. See Automatic scaling to paper size.\n\nPaper sizes are defined in ‘scm/paper.scm’, and while it is possible to add custom sizes, they will be overwritten on subsequent software updates. The available paper sizes are listed in Predefined paper sizes.\n\nThe following command can be used in the file to add a custom paper size which can then be used with set-default-paper-size or set-paper-size as appropriate,\n\n    #(set! paper-alist (cons \'("my size" . (cons (* 15 in) (* 3 in))) paper-alist))\n    \\paper {\n      #(set-paper-size "my size")\n    }\n\nThe units in (inches), cm (centimeters) and mm (millimeters) can all be used.' , } , { label : "\\parallelMusic" , detail : "Writing music in parallel" , documentation : "Music for multiple parts can be interleaved in input code. The function \\parallelMusic accepts a list with the names of a number of variables to be created, and a musical expression. The content of alternate measures from the expression become the value of the respective variables, so you can use them afterwards to print the music.\n\nNote: Bar checks | must be used, and the measures must be of the same length.\n\n\n\n    \\parallelMusic #'(voiceA voiceB voiceC) {\n      % Bar 1\n      r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |\n      r16 e'8.~   e'4            r16 e'8.~   e'4            |\n      c'2                        c'2                        |\n      % Bar 2\n      r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |\n      r16 d'8.~   d'4            r16 d'8.~   d'4            |\n      c'2                        c'2                        |\n    }\n    \\new StaffGroup <<\n      \\new Staff << \\voiceA \\\\ \\voiceB >>\n      \\new Staff { \\clef bass \\voiceC }\n    >>\n\nRelative mode may be used. Note that the \\relative command is not used inside \\parallelMusic itself. The notes are relative to the preceding note in the voice, not to the previous note in the input – in other words, relative notes for voiceA ignore the notes in voiceB.\n\n    \\parallelMusic #'(voiceA voiceB voiceC) {\n      % Bar 1\n      r8 g16 c e g, c e r8 g,16 c e g, c e  |\n      r16 e8.~ e4       r16 e8.~  e4        |\n      c2                c                   |\n      % Bar 2\n      r8 a,16 d f a, d f r8 a,16 d f a, d f |\n      r16 d8.~  d4       r16 d8.~  d4       |\n      c2                 c                  |\n     }\n    \\new StaffGroup <<\n      \\new Staff << \\relative c'' \\voiceA \\\\ \\relative c' \\voiceB >>\n      \\new Staff \\relative c' { \\clef bass \\voiceC }\n    >>\n\nThis works quite well for piano music. This example maps four consecutive measures to four variables:\n\n    global = {\n      \\key g \\major\n      \\time 2/4\n    }\n    \\parallelMusic #'(voiceA voiceB voiceC voiceD) {\n      % Bar 1\n      a8    b     c   d     |\n      d4          e         |\n      c16 d e fis d e fis g |\n      a4          a         |\n      % Bar 2\n      e8      fis  g     a   |\n      fis4         g         |\n      e16 fis g  a fis g a b |\n      a4           a         |\n      % Bar 3 ...\n    }\n    \\score {\n      \\new PianoStaff <<\n         \\new Staff {\n           \\global\n           <<\n             \\relative c'' \\voiceA\n             \\\\\n             \\relative c'  \\voiceB\n           >>\n         }\n         \\new Staff {\n           \\global \\clef bass\n           <<\n             \\relative c \\voiceC\n             \\\\\n             \\relative c \\voiceD\n           >>\n         }\n      >>\n    }" , } , { label : "\\parenthesize" , detail : "Parentheses" , documentation : "Objects may be parenthesized by prefixing \\parenthesize to the music event. When prefixed to a chord, it parenthesizes every note. Individual notes inside a chord may also be parenthesized.\n\n    c2 \\parenthesize d\n    c2 \\parenthesize <c e g>\n    c2 <c \\parenthesize e g>\n\nNon-note objects may be parenthesized as well. For articulations, a hyphen is needed before the \\parenthesize command.\n\n    c2-\\parenthesize -. d\n    c2 \\parenthesize r" , } , { label : "\\parenthesize" , detail : "A.10.3 Graphic" , documentation : "Draw parentheses around arg. This is useful for parenthesizing a column containing several lines of text.\n\n    \\markup {\n      \\line {\n        \\parenthesize {\n          \\column {\n            foo\n            bar\n          }\n        }\n        \\override #'(angularity . 2) {\n          \\parenthesize {\n            \\column {\n              bah\n              baz\n            }\n          }\n        }\n      }\n    }\n\nUsed properties:\n\n - width (0.25)\n - thickness (1)\n - size (1)\n - padding\n - angularity (0)" , } , { label : "\\partcombine" , detail : "Automatic part combining" , documentation : "Automatic part combining is used to merge two separate parts of music onto a single staff. This can be especially helpful when typesetting orchestral scores. A single Voice is printed while the two parts of music are the same, but in places where they differ, a second Voice is printed. Stem directions are set up & down accordingly while Solo and a due parts are also identified and marked appropriately.\n\nThe syntax for automatic part combining is:\n\n    \\partcombine musicexpr1 musicexpr2\n\nThe following example demonstrates the basic functionality, putting parts on a single staff as polyphony and setting stem directions accordingly. The same variables are used for the independent parts and the combined staff.\n\n    instrumentOne = \\relative c' {\n      c4 d e f |\n      R1 |\n      d'4 c b a |\n      b4 g2 f4 |\n      e1 |\n    }\n    instrumentTwo = \\relative g' {\n      R1 |\n      g4 a b c |\n      d4 c b a |\n      g4 f( e) d |\n      e1 |\n    }\n    <<\n      \\new Staff \\instrumentOne\n      \\new Staff \\instrumentTwo\n      \\new Staff \\partcombine \\instrumentOne \\instrumentTwo\n    >>\n\nBoth parts have identical notes in the third measure, so only one instance of the notes is printed. Stem, slur, and tie directions are set automatically, depending on whether the parts are playing solo or in unison. When needed in polyphony situations, the first part (with context called one) gets “up” stems, while the second (called two) always gets “down” stems. In solo situations, the first and second parts get marked with “Solo” and “Solo II”, respectively. The unison (a due) parts are marked with the text “a2”.\n\nBoth arguments to \\partcombine will be interpreted as separate Voice contexts, so if the music is being specified in relative mode then both parts must contain a \\relative function, i.e.,\n\n    \\partcombine\n      \\relative … musicexpr1\n      \\relative … musicexpr2\n\nA \\relative section that encloses a \\partcombine has no effect on the pitches of musicexpr1 or musicexpr2." , } , { label : "\\partcombine" , detail : "Polyphony with shared lyrics" , documentation : 'When two voices with different rhythms share the same lyrics, aligning the lyrics to one of the voices may lead to problems in the other voice. For example, the second lyric extender below is too short, since the lyrics are aligned only to the top voice:\n\n    soprano = \\relative { b\'8( c d c) d2 }\n    alto = \\relative { g\'2 b8( a g a) }\n    words = \\lyricmode { la __ la __ }\n    \\new Staff <<\n      \\new Voice = "sopranoVoice" { \\voiceOne \\soprano }\n      \\new Voice { \\voiceTwo \\alto }\n      \\new Lyrics \\lyricsto "sopranoVoice" \\words\n    >>\n\nTo get the desired result, align the lyrics to a new NullVoice context containing a suitable combination of the two voices. The notes of the NullVoice context do not appear on the printed page, but can be used to align the lyrics appropriately:\n\n    soprano = \\relative { b\'8( c d c) d2 }\n    alto = \\relative { g\'2 b8( a g a) }\n    aligner = \\relative { b\'8( c d c) b( a g a) }\n    words = \\lyricmode { la __ la __ }\n    \\new Staff <<\n      \\new Voice { \\voiceOne \\soprano }\n      \\new Voice { \\voiceTwo \\alto }\n      \\new NullVoice = "aligner" \\aligner\n      \\new Lyrics \\lyricsto "aligner" \\words\n    >>\n\nThe NullVoice context must be placed within a Staff context and contain notes that are already being displayed in that staff and that are also in the same octave. Otherwise the NullVoice may interact with the printed voices in unexpected ways. For example, arbitrary notes in the NullVoice may cause accidentals to appear (or disappear) on the staff.\n\nThis method also can be used with the \\partcombine function, which does not allow lyrics on its own:\n\n    soprano = \\relative { b\'8( c d c) d2 }\n    alto = \\relative { g\'2 b8( a g a) }\n    aligner = \\relative { b\'8( c d c) b( a g a) }\n    words = \\lyricmode { la __ la __ }\n    \\new Staff <<\n      \\new Voice \\partcombine \\soprano \\alto\n      \\new NullVoice = "aligner" \\aligner\n      \\new Lyrics \\lyricsto "aligner" \\words\n    >>' , } , { label : "\\partcombineApart" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineAutomatic" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineChords" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineSoloI" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineSoloII" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineUnisono" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partial" , detail : "Upbeats" , documentation : "Partial or pick-up measures, such as an anacrusis or an upbeat, are entered using the \\partial command,\n\n    \\partial duration\n\nwhere duration is the remaining length of the partial measure before the start of the next full measure.\n\n    \\time 3/4\n    \\partial 8\n    e8 | a4 c8 b c4 |\n\nThe duration can be any value less than a full measure:\n\n    \\time 3/4\n    \\partial 4.\n    r4 e8 | a4 c8 b c4 |\n\n\\partial duration can also be written as:\n\n    \\set Timing.measurePosition -duration\n\nSo the first example above could be written:\n\n    \\time 3/4\n    \\set Timing.measurePosition = #(ly:make-moment -1/8)\n    e8 | a4 c8 b c4 |\n\nThe property measurePosition contains a rational number, which is usually positive and indicates how much of the measure has passed at this point. The \\partial duration command sets it to a negative number, when it has a different meaning: it then says that the current (first) bar will be preceded by a bar 0 (the partial bar) with a duration given by duration." , } , { label : "\\partial" , detail : "1.4.1 Long repeats" , documentation : "The syntax for a normal repeat is\n\n    \\repeat volta repeatcount musicexpr\n\nwhere musicexpr is a music expression.\n\nA single repeat without an alternate ending:\n\n    \\repeat volta 2 { c4 d e f }\n    c2 d\n    \\repeat volta 2 { d4 e f g }\n\nAlternative endings can be produced using \\alternative. Each group of alternatives must be themselves, enclosed in a set of braces.\n\n    \\repeat volta repeatcount musicexpr\n    \\alternative {\n      { musicexpr }\n    }\n\nwhere musicexpr is a music expression.\n\nIf there are more repeats than there are alternate endings, the earliest repeats are given the first alternative.\n\nA single repeat with one alternate ending:\n\n    \\repeat volta 2 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n    }\n    c1\n\nMultiple repeats with one alternate ending:\n\n    \\repeat volta 4 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n    }\n    c1\n\nMultiple repeats with more than one alternate ending:\n\n    \\repeat volta 3 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n      { a2 g | }\n    }\n    c1\n\nNote: If there are two or more alternatives, nothing should appear between the closing brace of one and the opening brace of the next in an \\alternative block, otherwise you will not get the expected number of endings.\n\n\n\nNote: If you include \\relative inside a \\repeat without explicitly instantiating the Voice context, extra (unwanted) staves will appear. See An extra staff appears.\n\n" , } , { label : "\\partial" , detail : "Normal repeats" , documentation : "If a repeat starts in the middle of a measure and has no alternate endings, normally the end of the repeat will also fall in the middle of a measure, so that the two ends add up to one complete measure. In such cases, the repeat signs do not constitute true bar lines. Do not use \\partial commands or bar checks where these repeat signs are printed:\n\n    % no \\partial here\n    c4 e g  % no bar check here\n    % no \\partial here\n    \\repeat volta 4 {\n      e4 |\n      c2 e |\n      % no \\partial here\n      g4 g g  % no bar check here\n    }\n    % no \\partial here\n    g4 |\n    a2 a |\n    g1 |\n\nSimilarly, if a repeat begins with the initial partial measure of a score and has no alternate endings, the same conditions apply as in the above example, except that in this case the \\partial command is required at the beginning of the score:\n\n    \\partial 4  % required\n    \\repeat volta 4 {\n      e4 |\n      c2 e |\n      % no \\partial here\n      g4 g g  % no bar check here\n    }\n    % no \\partial here\n    g4 |\n    a2 a |\n    g1 |\n\nWhen alternate endings are added to a repeat that begins with an incomplete measure, it becomes necessary to set the Timing.measureLength context property manually, in the following specific places:\n\n - at the start of any incomplete measures in the \\alternative block, which normally occur at the end of each alternative, except (in most cases) the last.\n - at the start of each alternative, except the first.\n\n    \\partial 4\n    \\repeat volta 2 { e4 | c2 e | }\n    \\alternative {\n      {\n        f2 d |\n        \\set Timing.measureLength = #(ly:make-moment 3/4)\n        g4 g g  % optional bar check is allowed here\n      }\n      {\n        \\set Timing.measureLength = #(ly:make-moment 4/4)\n        a2 a |\n      }\n    }\n    g1 |\n\nThe measureLength property is described in Time administration." , } , { label : "\\path" , detail : "A.10.3 Graphic" , documentation : "Draws a path with line thickness according to the directions given in commands. commands is a list of lists where the car of each sublist is a drawing command and the cdr comprises the associated arguments for each command.\n\nThere are seven commands available to use in the list commands: moveto, rmoveto, lineto, rlineto, curveto, rcurveto, and closepath. Note that the commands that begin with r are the relative variants of the other three commands.\n\nThe commands moveto, rmoveto, lineto, and rlineto take 2 arguments; they are the X and Y coordinates for the destination point.\n\nThe commands curveto and rcurveto create cubic Bézier curves, and take 6 arguments; the first two are the X and Y coordinates for the first control point, the second two are the X and Y coordinates for the second control point, and the last two are the X and Y coordinates for the destination point.\n\nThe closepath command takes zero arguments and closes the current subpath in the active path.\n\nNote that a sequence of commands must begin with a moveto or rmoveto to work with the SVG output.\n\nLine-cap styles and line-join styles may be customized by overriding the line-cap-style and line-join-style properties, respectively. Available line-cap styles are 'butt, 'round, and 'square. Available line-join styles are 'miter, 'round, and 'bevel.\n\nThe property filled specifies whether or not the path is filled with color.\n\n    samplePath =\n      #'((moveto 0 0)\n         (lineto -1 1)\n         (lineto 1 1)\n         (lineto 1 -1)\n         (curveto -5 -5 -5 5 -1 0)\n         (closepath))\n    \\markup {\n      \\path #0.25 #samplePath\n      \\override #'(line-join-style . miter) \\path #0.25 #samplePath\n      \\override #'(filled . #t) \\path #0.25 #samplePath\n    }\n\nUsed properties:\n\n - filled (#f)\n - line-join-style (round)\n - line-cap-style (round)" , } , { label : "\\pattern" , detail : "A.10.7 Other" , documentation : 'Prints count times a pattern markup. Patterns are spaced apart by space. Patterns are distributed on axis.\n\n    \\markup \\column {\n      "Horizontally repeated :"\n      \\pattern #7 #X #2 \\flat\n      \\null\n      "Vertically repeated :"\n      \\pattern #3 #Y #0.5 \\flat\n    }' , } , { label : "\\pes" , detail : "Predefined commands" , documentation : "Two adjacent heads can be tied together with the \\pes and \\flexa infix commands for a rising and falling line of melody, respectively." , } , { label : "\\phrasingSlurDashed" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can be solid, dotted, or dashed. Solid is the default style for phrasing slurs:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashed\n    g4\\( e c2\\)\n    \\phrasingSlurDotted\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurDashPattern" , detail : "Phrasing slurs" , documentation : "Custom dash patterns for phrasing slurs can be defined:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashPattern #0.7 #0.75\n    g4\\( e c2\\)\n    \\phrasingSlurDashPattern #0.5 #2.0\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)\n\nDash pattern definitions for phrasing slurs have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see the snippets under Slurs." , } , { label : "\\phrasingSlurDotted" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can be solid, dotted, or dashed. Solid is the default style for phrasing slurs:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashed\n    g4\\( e c2\\)\n    \\phrasingSlurDotted\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurDown" , detail : "Phrasing slurs" , documentation : "Typographically, a phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects; a \\slurUp will have no effect on a phrasing slur. Phrasing may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\phrasingSlurHalfDashed" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4\\( e g2\\)\n    \\phrasingSlurHalfDashed\n    g4\\( e c2\\)\n    \\phrasingSlurHalfSolid\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurHalfSolid" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4\\( e g2\\)\n    \\phrasingSlurHalfDashed\n    g4\\( e c2\\)\n    \\phrasingSlurHalfSolid\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurNeutral" , detail : "Phrasing slurs" , documentation : "Typographically, a phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects; a \\slurUp will have no effect on a phrasing slur. Phrasing may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\phrasingSlurSolid" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can be solid, dotted, or dashed. Solid is the default style for phrasing slurs:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashed\n    g4\\( e c2\\)\n    \\phrasingSlurDotted\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurUp" , detail : "Phrasing slurs" , documentation : "Typographically, a phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects; a \\slurUp will have no effect on a phrasing slur. Phrasing may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\phrygian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\pitchedTrill" , detail : "Trills" , documentation : "Trills that require an auxiliary note with an explicit pitch can be typeset with the \\pitchedTrill command. The first argument is the main note, and the second is the trilled note, printed as a stemless note head in parentheses.\n\n    \\pitchedTrill\n    d2\\startTrillSpan fis\n    d2\n    c2\\stopTrillSpan\n    r2" , } , { label : "\\portato" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\postscript" , detail : "Graphic notation inside markup" , documentation : 'Advanced graphic features include the ability to include external image files converted to the Encapsulated PostScript format (eps), or to directly embed graphics into the input file, using native PostScript code. In such a case, it may be useful to explicitly specify the size of the drawing, as demonstrated below:\n\n    c1^\\markup {\n      \\combine\n        \\epsfile #X #10 #"./context-example.eps"\n        \\with-dimensions #\'(0 . 6) #\'(0 . 10)\n        \\postscript #"\n          -2 3 translate\n          2.7 2 scale\n          newpath\n          2 -1 moveto\n          4 -2 4 1 1 arct\n          4 2 3 3 1 arct\n          0 4 0 3 1 arct\n          0 0 1 -1 1 arct\n          closepath\n          stroke"\n      }\n    c\n\nAn exhaustive list of graphics-specific commands can be found in Graphic.' , } , { label : "\\postscript" , detail : "A.10.3 Graphic" , documentation : "This inserts str directly into the output as a PostScript command string.\n\n    ringsps = #\"\n      0.15 setlinewidth\n      0.9 0.6 moveto\n      0.4 0.6 0.5 0 361 arc\n      stroke\n      1.0 0.6 0.5 0 361 arc\n      stroke\n      \"\n    rings = \\markup {\n      \\with-dimensions #'(-0.2 . 1.6) #'(0 . 1.2)\n      \\postscript #ringsps\n    }\n    \\relative c'' {\n      c2^\\rings\n      a2_\\rings\n    }" , } , { label : "\\powerChords" , detail : "Indicating power chords" , documentation : 'Power chords and their symbols can be engraved in chord mode or as chord constructs:\n\n    ChordsAndSymbols = {\n      \\chordmode {\n        \\powerChords\n        e,,1:1.5\n        a,,1:1.5.8\n        \\set minimumFret = #8\n        c,1:1.5\n        f,1:1.5.8\n      }\n      \\set minimumFret = #5\n      <a, e>1\n      <g d\' g\'>1\n    }\n    \\score {\n      <<\n        \\new ChordNames {\n        \\ChordsAndSymbols\n        }\n        \\new Staff {\n          \\clef "treble_8"\n          \\ChordsAndSymbols\n        }\n        \\new TabStaff {\n          \\ChordsAndSymbols\n        }\n      >>\n    }\n\nPower chord symbols are automatically switched off as soon as one of the other common chord modifier is used:\n\n    mixedChords = \\chordmode {\n      c,1\n      \\powerChords\n      b,,1:1.5\n      fis,,1:1.5.8\n      g,,1:m\n    }\n    \\score {\n      <<\n        \\new ChordNames {\n          \\mixedChords\n        }\n        \\new Staff {\n          \\clef "treble_8"\n          \\mixedChords\n        }\n        \\new TabStaff {\n          \\mixedChords\n        }\n      >>\n    }' , } , { label : "\\pp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\ppp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\pppp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\ppppp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\prall" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\pralldown" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\prallmordent" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\prallprall" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\prallup" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\predefinedFretboardsOff" , detail : "Automatic fret diagrams" , documentation : "As no predefined diagrams are loaded by default, automatic calculation of fret diagrams is the default behavior. Once default diagrams are loaded, automatic calculation can be enabled and disabled with predefined commands:\n\n    \\storePredefinedDiagram #default-fret-table\n                            <c e g c' e'>\n                            #guitar-tuning\n                            #\"x;3-1-(;5-2;5-3;5-4;3-1-1-);\"\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 c c\n        }\n      }\n      \\new FretBoards {\n        <c e g c' e'>1\n        \\predefinedFretboardsOff\n        <c e g c' e'>1\n        \\predefinedFretboardsOn\n        <c e g c' e'>1\n      }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <c e g c' e'>1\n        <c e g c' e'>1\n        <c e g c' e'>1\n      }\n    >>\n\nSometimes the fretboard calculator will be unable to find an acceptable diagram. This can often be remedied by manually assigning a note to a string. In many cases, only one note need be manually placed on a string; the rest of the notes will then be placed appropriately by the FretBoards context." , } , { label : "\\predefinedFretboardsOn" , detail : "Automatic fret diagrams" , documentation : "As no predefined diagrams are loaded by default, automatic calculation of fret diagrams is the default behavior. Once default diagrams are loaded, automatic calculation can be enabled and disabled with predefined commands:\n\n    \\storePredefinedDiagram #default-fret-table\n                            <c e g c' e'>\n                            #guitar-tuning\n                            #\"x;3-1-(;5-2;5-3;5-4;3-1-1-);\"\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 c c\n        }\n      }\n      \\new FretBoards {\n        <c e g c' e'>1\n        \\predefinedFretboardsOff\n        <c e g c' e'>1\n        \\predefinedFretboardsOn\n        <c e g c' e'>1\n      }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <c e g c' e'>1\n        <c e g c' e'>1\n        <c e g c' e'>1\n      }\n    >>\n\nSometimes the fretboard calculator will be unable to find an acceptable diagram. This can often be remedied by manually assigning a note to a string. In many cases, only one note need be manually placed on a string; the rest of the notes will then be placed appropriately by the FretBoards context." , } , { label : "\\property-recursive" , detail : "A.10.7 Other" , documentation : "Print out a warning when a header field markup contains some recursive markup definition." , } , { label : "\\pt" , detail : "5.4.3 Distances and measurements" , documentation : "Distances in LilyPond are of two types: absolute and scaled.\n\nAbsolute distances are used for specifying margins, indents, and other page layout details, and are by default specified in millimeters. Distances may be specified in other units by following the quantity by \\mm, \\cm, \\in (inches), or \\pt (points, 1/72.27 of an inch). Page layout distances can also be specified in scalable units (see the following paragraph) by appending \\staff-space to the quantity. Page layout is described in detail in Page layout.\n\nScaled distances are always specified in units of the staff-space or, rarely, the half staff-space. The staff-space is the distance between two adjacent staff lines. The default value can be changed globally by setting the global staff size, or it can be overridden locally by changing the staff-space property of StaffSymbol. Scaled distances automatically scale with any change to the either the global staff size or the staff-space property of StaffSymbol, but fonts scale automatically only with changes to the global staff size. The global staff size thus enables the overall size of a rendered score to be easily varied. For the methods of setting the global staff size see Setting the staff size." , } , { label : "\\pushToTag" , detail : "Using tags" , documentation : "The \\tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \\keepWithTag #'name or \\removeWithTag #'name. The result of applying these filters to tagged music is as follows:\n\nFilter\tResult\nTagged music preceded by \\keepWithTag #'name or \\keepWithTag #'(name1 name2…)\tUntagged music and music tagged with any of the given tag names is included; music tagged with any other tag name is excluded.\nTagged music preceded by \\removeWithTag #'name or \\removeWithTag #'(name1 name2…)\tUntagged music and music not tagged with any of the given tag names is included; music tagged with any of the given tag names is excluded.\nTagged music not preceded by either \\keepWithTag or \\removeWithTag\tAll tagged and untagged music is included.\n\n\nThe arguments of the \\tag, \\keepWithTag and \\removeWithTag commands should be a symbol (such as #'score or #'part), followed by a music expression.\n\nIn the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand { \\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\keepWithTag #'trills \\music\n    }\n    \\score {\n      \\keepWithTag #'expand \\music\n    }\n\nAlternatively, it is sometimes easier to exclude sections of music:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand {\\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\removeWithTag #'expand\n      \\music\n    }\n    \\score {\n      \\removeWithTag #'trills\n      \\music\n    }\n\nTagged filtering can be applied to articulations, texts, etc. by prepending\n\n    -\\tag #'your-tag\n\nto an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:\n\n    c1-\\tag #'finger ^4\n    c1-\\tag #'warn ^\"Watch!\"\n\nMultiple tags may be placed on expressions with multiple \\tag entries, or by combining multiple tags into one symbol list:\n\n    music = \\relative c'' {\n      \\tag #'a \\tag #'both { a4 a a a }\n      \\tag #'(b both) { b4 b b b }\n    }\n    <<\n    \\keepWithTag #'a \\music\n    \\keepWithTag #'b \\music\n    \\keepWithTag #'both \\music\n    >>\n\nMultiple \\removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections. Alternatively, you can use a single \\removeWithTag with a list of tags.\n\n    music = \\relative c'' {\n      \\tag #'A { a4 a a a }\n      \\tag #'B { b4 b b b }\n      \\tag #'C { c4 c c c }\n      \\tag #'D { d4 d d d }\n    }\n    \\new Voice {\n      \\removeWithTag #'B\n      \\removeWithTag #'C\n      \\music\n      \\removeWithTag #'(B C)\n      \\music\n    }\n\nTwo or more \\keepWithTag filters applied to a single music expression will cause all tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section. Usually you would rather want to use a single \\keepWithTag command with a list of multiple tags: this will only remove tagged sections not given in any of the tags.\n\nSometimes you want to splice some music at a particular place in an existing music expression. You can use \\pushToTag and \\appendToTag for adding material at the front or end of the elements of an existing music construct. Not every music construct has elements, but sequential and simultaneous music are safe bets:\n\n    test = { \\tag #'here { \\tag #'here <<c''>> } }\n    {\n      \\pushToTag #'here c'\n      \\pushToTag #'here e'\n      \\pushToTag #'here g' \\test\n      \\appendToTag #'here c'\n      \\appendToTag #'here e'\n      \\appendToTag #'here g' \\test\n    }\n\nBoth commands get a tag, the material to splice in at every occurence of the tag, and the tagged expression. The commands make sure to copy everything that they change so that the original \\test retains its meaning." , } , { label : "\\put-adjacent" , detail : "A.10.2 Align" , documentation : "Put arg2 next to arg1, without moving arg1." , } , { label : "\\quilisma" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\quilisma" , detail : "Predefined commands" , documentation : "" , } , { label : "\\quoteDuring" , detail : "Quoting other voices" , documentation : 'It is very common for one voice to use the same notes as those from another voice. For example, first and second violins playing the same phrase during a particular passage of the music. This is done by letting one voice quote the other, without having to re-enter the music all over again for the second voice.\n\nThe \\addQuote command, used in the top level scope, defines a stream of music from which fragments can be quoted.\n\nThe \\quoteDuring command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with \\addQuote, and a music expression for the duration of the quote.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nIf the music expression used in \\quoteDuring contains notes instead of spacer or multimeasure rests then the quote will appear as polyphony and may produce unexpected results.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { e4 r8 ais b4 a }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nThe \\quoteDuring command uses the \\transposition settings of both quoted and quoting parts to produce notes for the quoting part that have the same sounding pitch as those in the quoted part.\n\n    clarinetNotes = \\relative c\'\' {\n      \\transposition bes\n      \\key d \\major\n      b4 ais a ais | cis4^"quoted" r8 bis\\p b4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"clarinet" { s1 }\n    }\n    \\addQuote "clarinet" { \\clarinetNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Clarinet" } \\clarinetNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }' , } , { label : "\\quoteDuring" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\raise" , detail : "Text alignment" , documentation : "Vertical alignment is a bit more complex. As stated above, markup objects can be moved as a whole; however, it is also possible to move specific elements inside a markup block. In this case, the element to be moved needs to be preceded with an anchor point, that can be another markup element or an invisible object. The following example demonstrates these two possibilities; the last markup in this example has no anchor point, and therefore is not moved.\n\n    d2^\\markup {\n      Acte I\n      \\raise #2 { Scène 1 }\n    }\n    a'\n    g_\\markup {\n      \\null\n      \\lower #4 \\bold { Très modéré }\n    }\n    a\n    d,^\\markup {\n      \\raise #4 \\italic { Une forêt. }\n    }\n    a'4 a g2 a" , } , { label : "\\raise" , detail : "A.10.2 Align" , documentation : "Raise arg by the distance amount. A negative amount indicates lowering, see also \\lower.\n\nThe argument to \\raise is the vertical displacement amount, measured in (global) staff spaces. \\raise and \\super raise objects in relation to their surrounding markups.\n\nIf the text object itself is positioned above or below the staff, then \\raise cannot be used to move it, since the mechanism that positions it next to the staff cancels any shift made with \\raise. For vertical positioning, use the padding and/or extra-offset properties.\n\n    \\markup {\n      C\n      \\small\n      \\bold\n      \\raise #1.0\n      9/7+\n    }" , } , { label : "\\relative" , detail : "Relative octave entry" , documentation : "Absolute octave entry requires specifying the octave for every single note. Relative octave entry, in contrast, specifies each octave in relation to the last note: changing one note’s octave will affect all of the following notes.\n\nRelative note mode has to be entered explicitly using the \\relative command:\n\n    \\relative startpitch musicexpr\n\nIn relative mode, each note is assumed to be as close to the previous note as possible. This means that the octave of each pitch inside musicexpr is calculated as follows:\n\n - If no octave changing mark is used on a pitch, its octave is calculated so that the interval with the previous note is less than a fifth. This interval is determined without considering accidentals.\n - An octave changing mark ' or , can be added to respectively raise or lower a pitch by an extra octave, relative to the pitch calculated without an octave mark.\n - Multiple octave changing marks can be used. For example, '' and ,, will alter the pitch by two octaves.\n - The pitch of the first note is relative to startpitch. startpitch is specified in absolute octave mode. Which choices are meaningful?\nan octave of c\nIdentifying middle C with c' is quite basic, so finding octaves of c tends to be straightforward. If your music starts with gis above c''', you’d write something like \\relative c''' { gis' … }\n\nan octave of the first note inside\nWriting \\relative gis''' { gis … } makes it easy to determine the absolute pitch of the first note inside.\n\nno explicit starting pitch\nThis (namely writing \\relative { gis''' … }) can be viewed as a compact version of the previous option: the first note inside is written in absolute pitch itself. This happens to be equivalent to choosing f as the reference pitch.\n\nThe documentation will usually employ the first option.\n\n\n\nHere is the relative mode shown in action:\n\n    \\relative c {\n      \\clef bass\n      c d e f\n      g a b c\n      d e f g\n    }\n\nOctave changing marks are used for intervals greater than a fourth:\n\n    \\relative c'' {\n      c g c f,\n      c' a, e'' c\n    }\n\nA note sequence without a single octave mark can nevertheless span large intervals:\n\n    \\relative c {\n      c f b e\n      a d g c\n    }\n\nWhen \\relative blocks are nested, the innermost \\relative block applies.\n\n    \\relative c' {\n      c d e f\n      \\relative c'' {\n        c d e f\n      }\n    }\n\n\\relative has no effect on \\chordmode blocks.\n\n    \\new Staff {\n      \\relative c''' {\n        \\chordmode { c1 }\n      }\n      \\chordmode { c1 }\n    }\n\n\\relative is not allowed inside of \\chordmode blocks.\n\nMusic inside a \\transpose block is absolute unless a \\relative is included.\n\n    \\relative c' {\n      d e\n      \\transpose f g {\n        d e\n        \\relative c' {\n          d e\n        }\n      }\n    }" , } , { label : "\\relative" , detail : "Changing staff automatically" , documentation : 'A \\relative section that is outside of \\autochange has no effect on the pitches of the music, so if necessary, put \\relative inside \\autochange.\n\nIf additional control is needed over the individual staves, they can be created manually with the names "up" and "down". The \\autochange command will then switch its voice between the existing staves.\n\nNote: If staves are created manually, they must be named "up" and "down".\n\n\n\nFor example, staves must be created manually in order to place a key signature in the lower staff:\n\n    \\new PianoStaff <<\n      \\new Staff = "up" {\n        \\new Voice = "melOne" {\n          \\key g \\major\n          \\autochange \\relative c\' {\n            g8 b a c b d c e\n            d8 r fis, g a2\n          }\n        }\n      }\n      \\new Staff = "down" {\n        \\key g \\major\n        \\clef bass\n      }\n    >>' , } , { label : "\\RemoveEmptyStaves" , detail : "Hiding staves" , documentation : "Staff lines can be hidden by removing the Staff_symbol_engraver from the Staff context. As an alternative, \\stopStaff may be used.\n\n    \\new Staff \\with {\n      \\remove \"Staff_symbol_engraver\"\n    }\n    \\relative c''' { a8 f e16 d c b a2 }\n\nEmpty staves can be hidden by setting the \\Staff \\RemoveEmptyStaves command in the \\layout block. In orchestral scores, this style is known as ‘Frenched Score’. By default, this command hides and removes all empty staves in a score except for those in the first system.\n\nNote: A staff is considered empty when it contains only multi-measure rests, rests, skips, spacer rests, or a combination of these elements.\n\n\n\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n      }\n    }\n    \\relative c' <<\n      \\new Staff {\n        e4 f g a \\break\n        b1 \\break\n        a4 b c2\n      }\n      \\new Staff {\n        c,4 d e f \\break\n        R1 \\break\n        f4 g c,2\n      }\n    >>" , } , { label : "\\RemoveEmptyStaves" , detail : "Hiding staves" , documentation : "The \\VaticanaStaff \\RemoveEmptyStaves command may be used to hide empty staves in ancient music contexts. Similarly, \\RhythmicStaff \\RemoveEmptyStaves may be used to hide empty RhythmicStaff contexts." , } , { label : "\\removeWithTag" , detail : "Using tags" , documentation : "The \\tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \\keepWithTag #'name or \\removeWithTag #'name. The result of applying these filters to tagged music is as follows:\n\nFilter\tResult\nTagged music preceded by \\keepWithTag #'name or \\keepWithTag #'(name1 name2…)\tUntagged music and music tagged with any of the given tag names is included; music tagged with any other tag name is excluded.\nTagged music preceded by \\removeWithTag #'name or \\removeWithTag #'(name1 name2…)\tUntagged music and music not tagged with any of the given tag names is included; music tagged with any of the given tag names is excluded.\nTagged music not preceded by either \\keepWithTag or \\removeWithTag\tAll tagged and untagged music is included.\n\n\nThe arguments of the \\tag, \\keepWithTag and \\removeWithTag commands should be a symbol (such as #'score or #'part), followed by a music expression.\n\nIn the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand { \\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\keepWithTag #'trills \\music\n    }\n    \\score {\n      \\keepWithTag #'expand \\music\n    }\n\nAlternatively, it is sometimes easier to exclude sections of music:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand {\\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\removeWithTag #'expand\n      \\music\n    }\n    \\score {\n      \\removeWithTag #'trills\n      \\music\n    }\n\nTagged filtering can be applied to articulations, texts, etc. by prepending\n\n    -\\tag #'your-tag\n\nto an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:\n\n    c1-\\tag #'finger ^4\n    c1-\\tag #'warn ^\"Watch!\"\n\nMultiple tags may be placed on expressions with multiple \\tag entries, or by combining multiple tags into one symbol list:\n\n    music = \\relative c'' {\n      \\tag #'a \\tag #'both { a4 a a a }\n      \\tag #'(b both) { b4 b b b }\n    }\n    <<\n    \\keepWithTag #'a \\music\n    \\keepWithTag #'b \\music\n    \\keepWithTag #'both \\music\n    >>\n\nMultiple \\removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections. Alternatively, you can use a single \\removeWithTag with a list of tags.\n\n    music = \\relative c'' {\n      \\tag #'A { a4 a a a }\n      \\tag #'B { b4 b b b }\n      \\tag #'C { c4 c c c }\n      \\tag #'D { d4 d d d }\n    }\n    \\new Voice {\n      \\removeWithTag #'B\n      \\removeWithTag #'C\n      \\music\n      \\removeWithTag #'(B C)\n      \\music\n    }\n\nTwo or more \\keepWithTag filters applied to a single music expression will cause all tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section. Usually you would rather want to use a single \\keepWithTag command with a list of multiple tags: this will only remove tagged sections not given in any of the tags.\n\nSometimes you want to splice some music at a particular place in an existing music expression. You can use \\pushToTag and \\appendToTag for adding material at the front or end of the elements of an existing music construct. Not every music construct has elements, but sequential and simultaneous music are safe bets:\n\n    test = { \\tag #'here { \\tag #'here <<c''>> } }\n    {\n      \\pushToTag #'here c'\n      \\pushToTag #'here e'\n      \\pushToTag #'here g' \\test\n      \\appendToTag #'here c'\n      \\appendToTag #'here e'\n      \\appendToTag #'here g' \\test\n    }\n\nBoth commands get a tag, the material to splice in at every occurence of the tag, and the tagged expression. The commands make sure to copy everything that they change so that the original \\test retains its meaning." , } , { label : "\\repeat" , detail : "1.4.1 Long repeats" , documentation : "The syntax for a normal repeat is\n\n    \\repeat volta repeatcount musicexpr\n\nwhere musicexpr is a music expression.\n\nA single repeat without an alternate ending:\n\n    \\repeat volta 2 { c4 d e f }\n    c2 d\n    \\repeat volta 2 { d4 e f g }\n\nAlternative endings can be produced using \\alternative. Each group of alternatives must be themselves, enclosed in a set of braces.\n\n    \\repeat volta repeatcount musicexpr\n    \\alternative {\n      { musicexpr }\n    }\n\nwhere musicexpr is a music expression.\n\nIf there are more repeats than there are alternate endings, the earliest repeats are given the first alternative.\n\nA single repeat with one alternate ending:\n\n    \\repeat volta 2 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n    }\n    c1\n\nMultiple repeats with one alternate ending:\n\n    \\repeat volta 4 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n    }\n    c1\n\nMultiple repeats with more than one alternate ending:\n\n    \\repeat volta 3 { c4 d e f | }\n    \\alternative {\n      { c2 e | }\n      { f2 g | }\n      { a2 g | }\n    }\n    c1\n\nNote: If there are two or more alternatives, nothing should appear between the closing brace of one and the opening brace of the next in an \\alternative block, otherwise you will not get the expected number of endings.\n\n\n\nNote: If you include \\relative inside a \\repeat without explicitly instantiating the Voice context, extra (unwanted) staves will appear. See An extra staff appears.\n\n" , } , { label : "\\repeat percent" , detail : "Percent repeats" , documentation : "Repeated short patterns are printed once, and the repeated pattern is replaced with a special sign.\n\nThe syntax is\n\n    \\repeat percent number musicexpr\n\nwhere musicexpr is a music expression.\n\nPatterns that are shorter than one measure are replaced by slashes.\n\n    \\repeat percent 4 { c128 d e f }\n    \\repeat percent 4 { c64 d e f }\n    \\repeat percent 5 { c32 d e f }\n    \\repeat percent 4 { c16 d e f }\n    \\repeat percent 4 { c8 d }\n    \\repeat percent 4 { c4 }\n    \\repeat percent 2 { c2 }\n\nPatterns of one or two measures are replaced by percent-like symbols.\n\n    \\repeat percent 2 { c4 d e f }\n    \\repeat percent 2 { c2 d }\n    \\repeat percent 2 { c1 }\n\n    \\repeat percent 3 { c4 d e f | c2 g' }\n\nPatterns that are shorter than one measure but contain mixed durations use a double-percent symbol.\n\n    \\repeat percent 4 { c8. <d f>16 }\n    \\repeat percent 2 { \\tuplet 3/2 { r8 c d } e4 }" , } , { label : "\\repeat tremolo" , detail : "Tremolo repeats" , documentation : "Tremolos can take two forms: alternation between two chords or two notes, and rapid repetition of a single note or chord. Tremolos consisting of an alternation are indicated by adding beams between the notes or chords being alternated, while tremolos consisting of the rapid repetition of a single note are indicated by adding beams or slashes to a single note.\n\nTo place tremolo marks between notes, use \\repeat with tremolo style:\n\n    \\repeat tremolo 8 { c16 d }\n    \\repeat tremolo 6 { c16 d }\n    \\repeat tremolo 2 { c16 d }\n\nThe \\repeat tremolo syntax expects exactly two notes within the braces, and the number of repetitions must correspond to a note value that can be expressed with plain or dotted notes. Thus, \\repeat tremolo 7 is valid and produces a double dotted note, but \\repeat tremolo 9 is not.\n\nThe duration of the tremolo equals the duration of the braced expression multiplied by the number of repeats: \\repeat tremolo 8 { c16 d16 } gives a whole note tremolo, notated as two whole notes joined by tremolo beams.\n\nThere are two ways to put tremolo marks on a single note. The \\repeat tremolo syntax is also used here, in which case the note should not be surrounded by braces:\n\n    \\repeat tremolo 4 c'16" , } , { label : "\\repeatTie" , detail : "Ties" , documentation : "When a second alternative of a repeat starts with a tied note, you have to specify the repeated tie as follows:\n\n    \\repeat volta 2 { c g <c e>2~ }\n    \\alternative {\n      % First alternative: following note is tied normally\n      { <c e>2. r4 }\n      % Second alternative: following note has a repeated tie\n      { <c e>2\\repeatTie d4 c } }" , } , { label : "\\repeatTie" , detail : "Normal repeats" , documentation : "Ties may be added to a second ending:\n\n    c1\n    \\repeat volta 2 { c4 d e f~ }\n    \\alternative {\n      { f2 d }\n      { f2\\repeatTie f, }\n    }" , } , { label : "\\repeatTie" , detail : "Repeats with alternative endings" , documentation : 'When a note is tied over into two or more alternative endings a tie is used to carry the note into the first alternative ending and a \\repeatTie is used in the second and subsequent endings. This structure causes difficult alignment problems when lyrics are involved and increasing the length of the alternative sections so the tied notes are contained wholly within them may give a more acceptable result.\n\nThe tie creates a melisma into the first alternative, but not into the second and subsequent alternatives, so to align the lyrics correctly it is necessary to disable the automatic creation of melismata over the volta section and insert manual skips.\n\n    \\score {\n      <<\n        \\new Staff {\n          \\time 2/4\n          \\new Voice = "melody" {\n            \\relative c\'\' {\n              \\set melismaBusyProperties = #\'()\n              \\repeat volta 2 { b4 b ~}\n              \\alternative { { b b } { b \\repeatTie c } }\n              \\unset melismaBusyProperties\n              c4 c\n            }\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            \\repeat volta 2 { Here\'s a __ }\n            \\alternative {\n              { \\skip 1 verse }\n              { \\skip 1 sec }\n            }\n            ond one.\n          }\n        }\n      >>\n    }\n\nNote that if \\unfoldRepeats is used around a section containing \\repeatTie, the \\repeatTie should be removed to avoid both types of tie being printed.\n\nWhen the repeated section has different words a \\repeat cannot be used around the lyrics and \\skip commands need to be inserted manually, as before.\n\n    \\score {\n      <<\n        \\new Staff {\n          \\time 2/4\n          \\new Voice = "melody" {\n            \\relative c\'\' {\n              \\repeat volta 2 { b4 b ~}\n              \\alternative { { b b } { b \\repeatTie c } }\n              c4 c\n            }\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            Here\'s a __ verse.\n            \\repeat unfold 2 { \\skip 1 }\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            Here\'s one\n            \\repeat unfold 2 { \\skip 1 }\n            more to sing.\n          }\n        }\n      >>\n    }\n\nIf you wish to show extenders and hyphens into and out of alternative sections these must be inserted manually.\n\n    \\score {\n      <<\n        \\new Staff {\n          \\time 2/4\n          \\new Voice = "melody" {\n            \\relative c\'\' {\n              \\repeat volta 2 { b4 b ~}\n              \\alternative { { b b } { b \\repeatTie c } }\n              c4 c\n            }\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            Here\'s a __ verse.\n            \\repeat unfold 2 { \\skip 1 }\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            Here\'s "a_"\n            \\skip 1\n            "_" sec -- ond one.\n          }\n        }\n      >>\n    }' , } , { label : "\\replace" , detail : "A.10.1 Font" , documentation : 'Used to automatically replace a string by another in the markup arg. Each pair of the alist replacements specifies what should be replaced. The key is the string to be replaced by the value string.\n\n    \\markup \\replace #\'(("thx" . "Thanks!")) thx' , } , { label : "\\rest" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\rest" , detail : "A.10.4 Music" , documentation : 'This produces a rest, with the duration for the rest type and augmentation dots. "breve", "longa" and "maxima" are valid input-strings.\n\nPrinting MultiMeasureRests could be enabled with \\override #\'(multi-measure-rest . #t) If MultiMeasureRests are taken, the MultiMeasureRestNumber is printed above. This is enabled for all styles using default-glyphs. Could be disabled with \\override #\'(multi-measure-rest-number . #f)\n\n    \\markup {\n      \\rest #"4.."\n      \\hspace #2\n      \\rest #"breve"\n      \\hspace #2\n      \\override #\'(multi-measure-rest . #t)\n      {\n      \\rest #"7"\n      \\hspace #2\n      \\override #\'(multi-measure-rest-number . #f)\n      \\rest #"7"\n      }\n    }\n\nUsed properties:\n\n - word-space (0.6)\n - multi-measure-rest-number (#t)\n - multi-measure-rest (#f)\n - style (’())' , } , { label : "\\rest-by-number" , detail : "A.10.4 Music" , documentation : "A rest or multi-measure-rest symbol.\n\n    \\markup {\n      \\rest-by-number #3 #2\n      \\hspace #2\n      \\rest-by-number #0 #1\n      \\hspace #2\n      \\override #'(multi-measure-rest . #t)\n      \\rest-by-number #0 #0\n    }\n\nUsed properties:\n\n - multi-measure-rest (#f)\n - style (’())\n - font-size (0)" , } , { label : "\\retrograde" , detail : "Retrograde" , documentation : "A music expression can be reversed to produce its retrograde:\n\n    music = \\relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 }\n    \\new Staff {\n      \\music\n      \\retrograde \\music\n    }" , } , { label : "\\reverseturn" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\revert" , detail : "5.3.3 The \\override command" , documentation : "The effects of \\override can be undone by \\revert.\n\nThe syntax for the \\revert command is\n\n    \\revert [context.]GrobName.property\n\nFor example,\n\n    c4\n    \\override Voice.Stem.thickness = #3.0\n    c4 c\n    \\revert Voice.Stem.thickness\n    c4\n\nThe effects of \\override and \\revert apply to all grobs in the affected context from the current time forward:\n\n    {\n      <<\n        {\n          e4\n          \\override Staff.Stem.thickness = #3.0\n          e4 e e\n        } \\\\ {\n          c4 c c\n          \\revert Staff.Stem.thickness\n          c4\n        }\n      >>\n    }" , } , { label : "\\revertTimeSignatureSettings" , detail : "Time signature" , documentation : "Changed values of default time signature properties can be restored to the original values:\n\n    \\score{\n      \\relative c' {\n        \\repeat unfold 8 { c8 } |\n        \\overrideTimeSignatureSettings\n          4/4        % timeSignatureFraction\n          1/4        % baseMomentFraction\n          #'(3 1)    % beatStructure\n          #'()       % beamExceptions\n        \\time 4/4\n        \\repeat unfold 8 { c8 } |\n        \\revertTimeSignatureSettings 4/4\n        \\time 4/4\n        \\repeat unfold 8 { c8 } |\n      }\n    }\n\nDifferent values of default time signature properties can be established for different staves by moving the Timing_translator and the Default_bar_line_engraver from the Score context to the Staff context.\n\n    \\score {\n      \\new StaffGroup <<\n         \\new Staff {\n            \\overrideTimeSignatureSettings\n              4/4        % timeSignatureFraction\n              1/4        % baseMomentFraction\n              #'(3 1)    % beatStructure\n              #'()       % beamExceptions\n            \\time 4/4\n            \\repeat unfold 8 {c''8}\n         }\n         \\new Staff {\n            \\overrideTimeSignatureSettings\n              4/4        % timeSignatureFraction\n              1/4        % baseMomentFraction\n              #'(1 3)    % beatStructure\n              #'()       % beamExceptions\n            \\time 4/4\n            \\repeat unfold 8 {c''8}\n         }\n      >>\n      \\layout {\n        \\context {\n          \\Score\n          \\remove \"Timing_translator\"\n          \\remove \"Default_bar_line_engraver\"\n        }\n        \\context {\n          \\Staff\n          \\consists \"Timing_translator\"\n          \\consists \"Default_bar_line_engraver\"\n        }\n      }\n    }\n\nA further method of changing these time-signature-related variables, which avoids reprinting the time signature at the time of the change, is shown in Setting automatic beam behavior." , } , { label : "\\rfz" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\rheel" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\right-align" , detail : "Text alignment" , documentation : "Markup objects may be aligned in different ways. By default, a text indication is aligned on its left edge: in the following example, there is no difference between the first and the second markup.\n\n    d1-\\markup { poco }\n    f\n    d-\\markup { \\left-align poco }\n    f\n    d-\\markup { \\center-align { poco } }\n    f\n    d-\\markup { \\right-align poco }" , } , { label : "\\right-align" , detail : "A.10.2 Align" , documentation : "Align arg on its right edge.\n\n    \\markup {\n      \\column {\n        one\n        \\right-align\n        two\n        three\n      }\n    }" , } , { label : "\\right-brace" , detail : "A.10.7 Other" , documentation : "A feta brace in point size size, rotated 180 degrees.\n\n    \\markup {\n      \\right-brace #45\n      \\hspace #2\n      \\right-brace #35\n    }" , } , { label : "\\right-column" , detail : "A.10.2 Align" , documentation : "Put args in a right-aligned column.\n\n    \\markup {\n      \\right-column {\n        one\n        two\n        three\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\rightHandFinger" , detail : "Right-hand fingerings" , documentation : 'Right-hand fingerings p-i-m-a must be entered using \\rightHandFinger followed by a number.\n\nNote: If the number is entered in Scheme notation, remember to append a space before following it with a closing > or similar.\n\n\n\n    \\clef "treble_8"\n    c4\\rightHandFinger #1\n    e\\rightHandFinger #2\n    g\\rightHandFinger #3\n    c\\rightHandFinger #4\n    <c,\\rightHandFinger #1 e\\rightHandFinger #2\n     g\\rightHandFinger #3 c\\rightHandFinger #4 >1\n\nFor convenience, you can abbreviate \\rightHandFinger to something short, for example RH,\n\n    RH=#rightHandFinger' , } , { label : "\\roman" , detail : "A.10.1 Font" , documentation : "Set font family to roman.\n\n    \\markup {\n      \\sans \\bold {\n        sans serif, bold\n        \\hspace #2\n        \\roman {\n          text in roman font family\n        }\n        \\hspace #2\n        return to sans\n      }\n    }" , } , { label : "\\rotate" , detail : "A.10.2 Align" , documentation : "Rotate object with ang degrees around its center.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\rotate #45\n      \\line {\n        rotated 45°\n      }\n    }" , } , { label : "\\rounded-box" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\rounded-box" , detail : "A.10.3 Graphic" , documentation : "Draw a box with rounded corners around arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup; the corner-radius property makes it possible to define another shape for the corners (default is 1).\n\n    c4^\\markup {\n      \\rounded-box {\n        Overtura\n      }\n    }\n    c,8. c16 c4 r\n\nUsed properties:\n\n - box-padding (0.5)\n - font-size (0)\n - corner-radius (1)\n - thickness (1)" , } , { label : "\\rtoe" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\sacredHarpHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\sacredHarpHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\sans" , detail : "A.10.1 Font" , documentation : "Switch to the sans serif font family.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\sans {\n        sans serif\n      }\n    }" , } , { label : "\\scale" , detail : "A.10.3 Graphic" , documentation : "Scale arg. factor-pair is a pair of numbers representing the scaling-factor in the X and Y axes. Negative values may be used to produce mirror images.\n\n    \\markup {\n      \\line {\n        \\scale #'(2 . 1)\n        stretched\n        \\scale #'(1 . -1)\n        mirrored\n      }\n    }" , } , { label : "\\scaleDurations" , detail : "Scaling durations" , documentation : "Longer stretches of music may be compressed by a fraction in the same way, as if every note, chord or rest had the fraction as a multiplier. This leaves the appearance of the music unchanged but the internal duration of the notes will be multiplied by the fraction num/den. Here is an example showing how music can be compressed and expanded:\n\n    \\time 2/4\n    % Normal durations\n    <c a>4 c8 a\n    % Scale music by *2/3\n    \\scaleDurations 2/3 {\n      <c a f>4. c8 a f\n    }\n    % Scale music by *2\n    \\scaleDurations 2/1 {\n      <c' a>4 c8 b\n    }\n\nOne application of this command is in polymetric notation, see Polymetric notation." , } , { label : "\\scaleDurations" , detail : "Polymetric notation" , documentation : "Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations." , } , { label : "\\score" , detail : "3.1.1 Structure of a score" , documentation : "A \\score block must contain a single music expression delimited by curly brackets:\n\n    \\score {\n      …\n    }\n\nNote: There must be only one outer music expression in a score block, and it must be surrounded by curly brackets.\n\n\n\nThis single music expression may be of any size, and may contain other music expressions to any complexity. All of these examples are music expressions:\n\n    { c'4 c' c' c' }\n\n    {\n      { c'4 c' c' c' }\n      { d'4 d' d' d' }\n    }\n\n    <<\n      \\new Staff { c'4 c' c' c' }\n      \\new Staff { d'4 d' d' d' }\n    >>\n\n    {\n      \\new GrandStaff <<\n        \\new StaffGroup <<\n          \\new Staff { \\flute }\n          \\new Staff { \\oboe }\n        >>\n        \\new StaffGroup <<\n          \\new Staff { \\violinI }\n          \\new Staff { \\violinII }\n        >>\n      >>\n    }\n\nComments are one exception to this general rule. (For others see File structure.) Both single-line comments and comments delimited by %{ … %} may be placed anywhere within an input file. They may be placed inside or outside a \\score block, and inside or outside the single music expression within a \\score block.\n\nRemember that even in a file containing only a \\score block, it is implicitly enclosed in a \\book block. A \\book block in a source file produces at least one output file, and by default the name of the output file produced is derived from the name of the input file, so ‘fandangoforelephants.ly’ will produce ‘fandangoforelephants.pdf’.\n\n(For more details about \\book blocks, see Multiple scores in a book, Multiple output files from one input file File structure.)" , } , { label : "\\score" , detail : "3.1.5 File structure" , documentation : "A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:\n\n - An output definition, such as \\paper, \\midi, and \\layout. Such a definition at the toplevel changes the default book-wide settings. If more than one such definition of the same type is entered at the top level the definitions are combined, but in conflicting situations the later definitions take precedence. For details of how this affects the \\layout block see The \\layout block.\n - A direct scheme expression, such as #(set-default-paper-size \"a7\" 'landscape) or #(ly:set-option 'point-and-click #f).\n - A \\header block. This sets the global (i.e. the top of file) header block. This is the block containing the default settings of titling fields like composer, title, etc. for all books within the file (see Titles explained).\n - A \\score block. This score will be collected with other toplevel scores, and combined as a single \\book. This behavior can be changed by setting the variable toplevel-score-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\book block logically combines multiple movements (i.e., multiple \\score blocks) in one document. If there are a number of \\scores, one output file will be created for each \\book block, in which all corresponding movements are concatenated. The only reason to explicitly specify \\book blocks in a ‘.ly’ file is if you wish to create multiple output files from a single input file. One exception is within lilypond-book documents, where you explicitly have to add a \\book block if you want more than a single \\score or \\markup in the same example. This behavior can be changed by setting the variable toplevel-book-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n - A \\bookpart block. A book may be divided into several parts, using \\bookpart blocks, in order to ease the page breaking, or to use different \\paper settings in different parts.\n - A compound music expression, such as\n{ c'4 d' e'2 }\nThis will add the piece in a \\score and format it in a single book together with all other toplevel \\scores and music expressions. In other words, a file containing only the above music expression will be translated into\n\n\\book {\n  \\score {\n    \\new Staff {\n      \\new Voice {\n        { c'4 d' e'2 }\n      }\n    }\n    \\layout { }\n  }\n  \\paper { }\n  \\header { }\n}\nThis behavior can be changed by setting the variable toplevel-music-handler at toplevel. The default handler is defined in the init file ‘../scm/lily.scm’.\n\n\n - A markup text, a verse for example\n\\markup {\n   2.  The first line verse two.\n}\nMarkup texts are rendered above, between or below the scores or music expressions, wherever they appear.\n\n\n - A variable, such as\nfoo = { c4 d e d }\nThis can be used later on in the file by entering \\foo. The name of a variable should have alphabetic characters only; no numbers, underscores or dashes.\n\n\n\nThe following example shows three things that may be entered at toplevel\n\n    \\layout {\n      % Don't justify the output\n      ragged-right = ##t\n    }\n    \\header {\n       title = \"Do-re-mi\"\n    }\n    { c'4 d' e2 }\n\nAt any point in a file, any of the following lexical instructions can be entered:\n\n - \\version\n - \\include\n - \\sourcefilename\n - \\sourcefileline\n - A single-line comment, introduced by a leading % sign.\n - A multi-line comment delimited by %{ … %}." , } , { label : "\\score" , detail : "A.10.4 Music" , documentation : "Inline an image of music. The reference point (usually the middle staff line) of the lowest staff in the top system is placed on the baseline.\n\n    \\markup {\n      \\score {\n        \\new PianoStaff <<\n          \\new Staff \\relative c' {\n            \\key f \\major\n            \\time 3/4\n            \\mark \\markup { Allegro }\n            f2\\p( a4)\n            c2( a4)\n            bes2( g'4)\n            f8( e) e4 r\n          }\n          \\new Staff \\relative c {\n            \\clef bass\n            \\key f \\major\n            \\time 3/4\n            f8( a c a c a\n            f c' es c es c)\n            f,( bes d bes d bes)\n            f( g bes g bes g)\n          }\n        >>\n        \\layout {\n          indent = 0.0\\cm\n          \\context {\n            \\Score\n            \\override RehearsalMark\n              #'break-align-symbols = #'(time-signature key-signature)\n            \\override RehearsalMark\n              #'self-alignment-X = #LEFT\n          }\n          \\context {\n            \\Staff\n            \\override TimeSignature\n              #'break-align-anchor-alignment = #LEFT\n          }\n        }\n      }\n    }\n\nUsed properties:\n\n - baseline-skip" , } , { label : "\\segno" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\semiflat" , detail : "A.10.4 Music" , documentation : "Draw a semiflat symbol.\n\n    \\markup {\n      \\semiflat\n    }" , } , { label : "\\semiGermanChords" , detail : "Predefined commands" , documentation : "" , } , { label : "\\semisharp" , detail : "A.10.4 Music" , documentation : "Draw a semisharp symbol.\n\n    \\markup {\n      \\semisharp\n    }" , } , { label : "\\sesquiflat" , detail : "A.10.4 Music" , documentation : "Draw a 3/2 flat symbol.\n\n    \\markup {\n      \\sesquiflat\n    }" , } , { label : "\\sesquisharp" , detail : "A.10.4 Music" , documentation : "Draw a 3/2 sharp symbol.\n\n    \\markup {\n      \\sesquisharp\n    }" , } , { label : "\\set" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\set" , detail : "5.3.2 The \\set command" , documentation : "Each context has a set of properties, variables contained in that context. Context properties are changed with the \\set command, which has the following syntax:\n\n    \\set context.property = #value\n\nvalue is a Scheme object, which is why it must be preceded by the # character.\n\nContexts properties are usually named in studlyCaps. They mostly control the translation from music to notation, e.g. localKeySignature (for determining whether to print accidentals), or measurePosition (for determining when to print a bar line). Context properties can change value over time while interpreting a piece of music; measurePosition is an obvious example of this. Context properties are modified with \\set.\n\nFor example, multimeasure rests will be combined into a single bar if the context property skipBars is set to #t:\n\n    R1*2\n    \\set Score.skipBars = ##t\n    R1*2\n\nIf the context argument is left out, then the property will be set in the current bottom context (typically ChordNames, Voice, TabVoice, or Lyrics).\n\n    \\set Score.autoBeaming = ##f\n    <<\n      {\n        e8 e e e\n        \\set autoBeaming = ##t\n        e8 e e e\n      } \\\\ {\n        c8 c c c c8 c c c\n      }\n    >>\n\nThe change is applied ‘on-the-fly’, during the music, so that the setting only affects the second group of eighth notes.\n\nNote that the bottom-most context does not always contain the property that you wish to change – for example, attempting to set the skipBars property of the default bottom context, in this case Voice, will have no effect, because skipBars is a property of the Score context.\n\n    R1*2\n    \\set skipBars = ##t\n    R1*2\n\nContexts are hierarchical, so if an enclosing context was specified, for example Staff, then the change would also apply to all Voices in the current staff." , } , { label : "\\set" , detail : "5.3.5 \\set vs. \\override" , documentation : "Both \\set and \\override manipulate properties associated with contexts. In either case, properties heed the hierarchy of contexts: properties not set in a context itself show the values of the respective parent context.\n\nValues and lifetime of context properties are dynamic and only available when music is being interpreted, ‘iterated’. At the time of context creation, properties are initialized from the corresponding context definition and possible context modifications. Afterwards, changes are achieved with property-setting commands in the music itself.\n\nNow grob definitions are a special category of context properties. Since their structure, bookkeeping and use is different from ordinary context properties, they are accessed with a different set of commands, and treated separately in the documentation.\n\nAs opposed to plain context properties, grob definitions are subdivided into grob properties. A “grob” (graphical object) is usually created by an engraver at the time of interpreting a music expression and receives its initial properties from the current grob definition of the engraver’s context. The engraver (or other ‘backend’ parts of LilyPond) may subsequently add or change properties to the grob, but that does not affect the context’s grob definition.\n\nWhat we call ‘grob properties’ in the context of user-level tweaking are actually the properties of a context’s grob definition. In contrast to ordinary context properties, grob definitions have the bookkeeping required to keep track of its parts, the individual grob properties (and even subproperties of them) separately so that it is possible to define those parts in different contexts and have the overall grob definition at the time of grob creation be assembled from pieces provided in different contexts among the current context and its parents.\n\nGrob definitions are manipulated using \\override and \\revert and have a name starting with a capital letter (like ‘NoteHead’) whereas ordinary context properties are manipulated using \\set and \\unset and are named starting with a lowercase letter." , } , { label : "\\sf" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\sff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\sfz" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\shape" , detail : "Specifying displacements from current control points" , documentation : "In this example the automatic placement of the tie is not optimum, and \\tieDown would not help.\n\n    <<\n      { e1~ e }\n    \\\\\n      { r4 <g c,> <g c,> <g c,> }\n    >>\n\nAdjusting the control points of the tie with \\shape allows the collisions to be avoided.\n\nThe syntax of \\shape is\n\n    [-]\\shape displacements item\n\nThis will reposition the control-points of item by the amounts given by displacements. The displacements argument is a list of number pairs or a list of such lists. Each element of a pair represents the displacement of one of the coordinates of a control-point. If item is a string, the result is \\once\\override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied.\n\nIn other words, the \\shape function can act as either a \\once\\override command or a \\tweak command depending on whether the item argument is a grob name, like “Slur”, or a music expression, like “(”. The displacements argument specifies the displacements of the four control points as a list of four pairs of (dx . dy) values in units of staff-spaces (or a list of such lists if the curve has more than one segment).\n\nThe leading hyphen is required if and only if the \\tweak form is being used.\n\nSo, using the same example as above and the \\once\\override form of \\shape, this will raise the tie by half a staff-space:\n\n    <<\n      {\n        \\shape #'((0 . 0.5) (0 . 0.5) (0 . 0.5) (0 . 0.5)) Tie\n        e1~ e\n      }\n    \\\\\n      { r4 <g c,> <g c,> <g c,> }\n    >>\n\nThis positioning of the tie is better, but maybe it should be raised more in the center. The following example does this, this time using the alternative \\tweak form:\n\n    <<\n      {\n        e1-\\shape #'((0 . 0.5) (0 . 1) (0 . 1) (0 . 0.5)) ~ e\n      }\n    \\\\\n      { r4 <g c,> <g c,> <g c,> }\n    >>\n\nChanges to the horizontal positions of the control points may be made in the same way, and two different curves starting at the same musical moment may also be shaped:\n\n    c8(\\( a) a'4 e c\\)\n    \\shape #'((0.7 . -0.4) (0.5 . -0.4) (0.3 . -0.3) (0 . -0.2)) Slur\n    \\shape #'((0 . 0) (0 . 0.5) (0 . 0.5) (0 . 0)) PhrasingSlur\n    c8(\\( a) a'4 e c\\)\n\nThe \\shape function can also displace the control points of curves which stretch across line breaks. Each piece of the broken curve can be given its own list of offsets. If changes to a particular segment are not needed, the empty list can serve as a placeholder. In this example the line break makes the single slur look like two:\n\n    c4( f g c\n    \\break\n    d,4 c' f, c)\n\nChanging the shapes of the two halves of the slur makes it clearer that the slur continues over the line break:\n\n    % () may be used as a shorthand for ((0 . 0) (0 . 0) (0 . 0) (0 . 0))\n    % if any of the segments does not need to be changed\n    \\shape #'(\n               (( 0 . 0) (0 . 0) (0 . 0) (0 . 1))\n               ((0.5 . 1.5) (1 . 0) (0 . 0) (0 . -1.5))\n             ) Slur\n    c4( f g c\n    \\break\n    d,4 c' f, c)\n\nIf an S-shaped curve is required the control points must always be adjusted manually — LilyPond will never select such shapes automatically.\n\n    c8( e b-> f d' a e-> g)\n    \\shape #'((0 . -1) (5.5 . -0.5) (-5.5 . -10.5) (0 . -5.5)) PhrasingSlur\n    c8\\( e b-> f d' a e-> g\\)" , } , { label : "\\sharp" , detail : "A.10.4 Music" , documentation : "Draw a sharp symbol.\n\n    \\markup {\n      \\sharp\n    }" , } , { label : "\\shiftOff" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shiftOn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shiftOnn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shiftOnnn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shortfermata" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\showKeySignature" , detail : "Bagpipe definitions" , documentation : 'LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add\n\n    \\include "bagpipe.ly"\n\nto the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \\taor instead of\n\n    \\grace { \\small G32[ d G e] }\n\n‘bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \\relative or \\transpose.\n\n    \\include "bagpipe.ly"\n    { \\grg G4 \\grg a \\grg b \\grg c \\grg d \\grg e \\grg f \\grA g A }\n\nBagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \\hideKeySignature. If you for some reason want to show the key signature, you can use \\showKeySignature instead.\n\nSome modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.' , } , { label : "\\showStaffSwitch" , detail : "Staff-change lines" , documentation : 'Whenever a voice switches to another staff, a line connecting the notes can be printed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "one" {\n        \\showStaffSwitch\n        c1\n        \\change Staff = "two"\n        b2 a\n      }\n      \\new Staff = "two" {\n        \\clef bass\n        s1*2\n      }\n    >>' , } , { label : "\\signumcongruentiae" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\simple" , detail : "A.10.1 Font" , documentation : 'A simple text string; \\markup { foo } is equivalent with \\markup { \\simple #"foo" }.\n\nNote: for creating standard text markup or defining new markup commands, the use of \\simple is unnecessary.\n\n    \\markup {\n      \\simple #"simple"\n      \\simple #"text"\n      \\simple #"strings"\n    }' , } , { label : "\\skip" , detail : "Invisible rests" , documentation : "An invisible rest (also called a ‘spacer rest’) can be entered like a note with the note name s:\n\n    c4 c s c\n    s2 c" , } , { label : "\\skip" , detail : "Repeats with alternative endings" , documentation : 'But when the repeated section has different words, a repeat construct cannot be used around the words and \\skip commands have to be inserted manually to skip over the notes in the alternative sections which do not apply.\n\nNote: do not use an underscore, _, to skip notes – an underscore indicates a melisma, causing the preceding syllable to be left-aligned.\n\nNote: The \\skip command must be followed by a number, but this number is ignored in lyrics which derive their durations from the notes in an associated melody through addlyrics or lyricsto. Each \\skip skips a single note of any value, irrespective of the value of the following number.\n\n\n\n    \\score {\n      <<\n        \\new Staff {\n          \\time 2/4\n          \\new Voice = "melody" {\n            \\relative c\'\' {\n              \\repeat volta 2 { b4 b }\n              \\alternative { { b b } { b c } }\n              c4 c\n            }\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            The first time words.\n            \\repeat unfold 2 { \\skip 1 }\n            End here.\n          }\n        }\n        \\new Lyrics {\n          \\lyricsto "melody" {\n            Sec -- ond\n            \\repeat unfold 2 { \\skip 1 }\n            time words.\n          }\n        }\n      >>\n    }' , } , { label : "\\slashed-digit" , detail : "A.10.7 Other" , documentation : "A feta number, with slash. This is for use in the context of figured bass notation.\n\n    \\markup {\n      \\slashed-digit #5\n      \\hspace #2\n      \\override #'(thickness . 3)\n      \\slashed-digit #7\n    }\n\nUsed properties:\n\n - thickness (1.6)\n - font-size (0)" , } , { label : "\\slashedGrace" , detail : "Grace notes" , documentation : "Grace notes are musical ornaments, printed in a smaller font, that take up no additional logical time in a measure.\n\n    c4 \\grace b16 a4(\n    \\grace { b16 c16 } a2)\n\nThere are three other types of grace notes possible; the acciaccatura – an unmeasured grace note indicated by a slurred note with a slashed stem – and the appoggiatura, which takes a fixed fraction of the main note it is attached to and prints without the slash. It is also possible to write a grace note with a slashed stem, like the acciaccatura but without the slur, so as to place it between notes that are slurred themselves, using the \\slashedGrace function.\n\n    \\acciaccatura d8 c4\n    \\appoggiatura e8 d4\n    \\acciaccatura { g16 f } e2\n    \\slashedGrace a,8 g4\n    \\slashedGrace b16 a4(\n    \\slashedGrace b8 a2)\n\nThe placement of grace notes is synchronized between different staves. In the following example, there are two sixteenth grace notes for every eighth grace note\n\n    <<\n      \\new Staff { e2 \\grace { c16 d e f } e2 }\n      \\new Staff { c2 \\grace { g8 b } c2 }\n    >>" , } , { label : "\\slurDashed" , detail : "Slurs" , documentation : "Slurs can be solid, dotted, or dashed. Solid is the default slur style:\n\n    c4( e g2)\n    \\slurDashed\n    g4( e c2)\n    \\slurDotted\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurDashPattern" , detail : "Slurs" , documentation : "Custom dash patterns for slurs can be defined:\n\n    c4( e g2)\n    \\slurDashPattern #0.7 #0.75\n    g4( e c2)\n    \\slurDashPattern #0.5 #2.0\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurDotted" , detail : "Slurs" , documentation : "Slurs can be solid, dotted, or dashed. Solid is the default slur style:\n\n    c4( e g2)\n    \\slurDashed\n    g4( e c2)\n    \\slurDotted\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurDown" , detail : "Slurs" , documentation : "Slurs may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\slurHalfDashed" , detail : "Slurs" , documentation : "Slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4( e g2)\n    \\slurHalfDashed\n    g4( e c2)\n    \\slurHalfSolid\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurHalfSolid" , detail : "Slurs" , documentation : "Slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4( e g2)\n    \\slurHalfDashed\n    g4( e c2)\n    \\slurHalfSolid\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurNeutral" , detail : "Slurs" , documentation : "Slurs may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\slurSolid" , detail : "Slurs" , documentation : "Slurs can be solid, dotted, or dashed. Solid is the default slur style:\n\n    c4( e g2)\n    \\slurDashed\n    g4( e c2)\n    \\slurDotted\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurUp" , detail : "Slurs" , documentation : "\\slurUp, \\slurDown, \\slurNeutral, \\slurDashed, \\slurDotted, \\slurHalfDashed, \\slurHalfSolid, \\slurDashPattern, \\slurSolid." , } , { label : "\\small" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\small" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\small" , detail : "A.10.1 Font" , documentation : "Set font size to -1.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\small\n      small\n    }" , } , { label : "\\smallCaps" , detail : "A.10.1 Font" , documentation : "Emit arg as small caps.\n\nNote: \\smallCaps does not support accented characters.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\smallCaps {\n        Text in small caps\n      }\n    }" , } , { label : "\\smaller" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\smaller" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\smaller" , detail : "A.10.1 Font" , documentation : "Decrease the font size relative to the current setting.\n\n    \\markup {\n      \\fontsize #3.5 {\n        some large text\n        \\hspace #2\n        \\smaller {\n          a bit smaller\n        }\n        \\hspace #2\n        more large text\n      }\n    }" , } , { label : "\\snappizzicato" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\sostenutoOff" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\sostenutoOn" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\southernHarmonyHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\southernHarmonyHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\sp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\spp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\staccatissimo" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\staccato" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\startGroup" , detail : "Analysis brackets" , documentation : "Brackets are used in musical analysis to indicate structure in musical pieces. Simple horizontal brackets are supported.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c2\\startGroup\n      d\\stopGroup\n    }\n\nAnalysis brackets may be nested.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c4\\startGroup\\startGroup\n      d4\\stopGroup\n      e4\\startGroup\n      d4\\stopGroup\\stopGroup\n    }" , } , { label : "\\startStaff" , detail : "Staff symbol" , documentation : "The \\stopStaff and \\startStaff commands can be used to stop or (re)start the staff lines respectively, from being printed at any point witin a score.\n\n    \\stopStaff f4 d \\startStaff g, e\n    f'4 d \\stopStaff g, e\n    f'4 d \\startStaff g, e" , } , { label : "\\startStaff" , detail : "Ossia staves" , documentation : 'Ossia staves can be set by creating a new simultaneous staff in the appropriate location:\n\n    \\new Staff \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nHowever, the above example is not what is usually desired. To create ossia staves that are above the original staff, have no time signature or clef, and have a smaller font size, tweaks must be used. The Learning Manual describes a specific technique to achieve this goal, beginning with Nesting music expressions.\n\nThe following example uses the alignAboveContext property to align the ossia staff. This method is most appropriate when only a few ossia staves are needed.\n\n    \\new Staff = "main" \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff \\with {\n          \\remove "Time_signature_engraver"\n          alignAboveContext = #"main"\n          fontSize = #-3\n          \\override StaffSymbol.staff-space = #(magstep -3)\n          \\override StaffSymbol.thickness = #(magstep -3)\n          firstClef = ##f\n        }\n        { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nIf many isolated ossia staves are needed, creating an empty Staff context with a specific context id may be more appropriate; the ossia staves may then be created by calling this context and using \\startStaff and \\stopStaff at the desired locations. The benefits of this method are more apparent if the piece is longer than the following example.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      }\n      { \\stopStaff s1*6 }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        <<\n          { e4 f e2 }\n          \\context Staff = "ossia" {\n            \\startStaff e4 g8 f e2 \\stopStaff\n          }\n        >>\n        g4 a g2 \\break\n        c4 b c2\n        <<\n          { g4 a g2 }\n          \\context Staff = "ossia" {\n            \\startStaff g4 e8 f g2 \\stopStaff\n          }\n        >>\n        e4 d c2\n      }\n    >>\n\nUsing the \\Staff \\RemoveEmptyStaves command to create ossia staves may be used as an alternative. This method is most convenient when ossia staves occur immediately following a line break. For more information about \\Staff \\RemoveEmptyStaves, see Hiding staves.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      } \\relative c\'\' {\n        R1*3\n        c4 e8 d c2\n      }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        e4 f e2\n        g4 a g2 \\break\n        c4 b c2\n        g4 a g2\n        e4 d c2\n      }\n    >>\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n        \\override VerticalAxisGroup.remove-first = ##t\n      }\n    }' , } , { label : "\\startTrillSpan" , detail : "Trills" , documentation : "Short trills without an extender line are printed with \\trill; see Articulations and ornamentations.\n\nLonger trills with an extender line are made with \\startTrillSpan and \\stopTrillSpan:\n\n    d1\\startTrillSpan\n    d1\n    c2\\stopTrillSpan\n    r2\n\nA trill spanner crossing a line break will restart exactly above the first note on the new line.\n\n    d1\\startTrillSpan\n    \\break\n    d1\n    c2\\stopTrillSpan\n    r2\n\nConsecutive trill spans will work without explicit \\stopTrillSpan commands, since successive trill spanners will automatically become the right bound of the previous trill.\n\n    d1\\startTrillSpan\n    d1\n    b1\\startTrillSpan\n    d2\\stopTrillSpan\n    r2\n\nTrills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.\n\n    d1~\\afterGrace\n    d1\\startTrillSpan { c32[ d]\\stopTrillSpan }\n    c2 r2" , } , { label : "\\stdBass" , detail : "A.10.6 Accordion Registers" , documentation : "\\stdBass name generates a standard bass accordion register symbol.\n\nTo make it available,\n\n    #(use-modules (scm accreg))\n\nis required near the top of your input file.\n\nThe default bass register definitions have been modeled after the article http://www.accordions.com/index/art/stradella.shtml originally appearing in Accord Magazine.\n\nThe underlying register model is\n\nThis kind of overlapping arrangement is common for Italian instruments though the exact location of the octave breaks differ.\n\nWhen not composing for a particular target instrument, using the five reed definitions makes more sense than using a four reed layout: in that manner, the ‘Master’ register is unambiguous. This is rather the rule in literature bothering about bass registrations at all.\n\nAvailable registrations are\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\stdBassIV" , detail : "A.10.6 Accordion Registers" , documentation : "\\stdBassIV name generates a standard bass accordion register symbol.\n\nTo make it available,\n\n    #(use-modules (scm accreg))\n\nis required near the top of your input file.\n\nThe main use is for four-reed standard bass instruments with reedbank layout\n\nNotable instruments are Morino models with MIII (the others are five-reed instead) and the Atlantic IV. Most of those models have three register switches. Some newer Morinos with MIII might have five or even seven.\n\nThe prevalent three-register layout uses the middle three switches ‘Tenor’, ‘Master’, ‘Soft Bass’. Note that the sound is quite darker than the same registrations of ‘c,’-based instruments.\n\nAvailable registrations are\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\stdBassV" , detail : "A.10.6 Accordion Registers" , documentation : "\\stdBassV name generates a standard bass accordion register symbol.\n\nTo make it available,\n\n    #(use-modules (scm accreg))\n\nis required near the top of your input file.\n\nThe main use is for five-reed standard bass instruments with reedbank layout\n\nThis tends to be the bass layout for Hohner’s Morino series without convertor or MIII manual.\n\nWith the exception of the rather new 7-register layout, the highest two chord reeds are usually sounded together. The Older instruments offer 5 or 3 bass registers. The Tango VM offers an additional ‘Solo Bass’ setting that mutes the chord reeds. The symbol on the register buttons of the Tango VM would actually match the physical five-octave layout reflected here, but it is not used in literature.\n\nComposers should likely prefer the five-reed versions of these symbols. The mismatch of a four-reed instrument with five-reed symbols is easier to resolve for the player than the other way round.\n\nAvailable registrations are\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\stdBassVI" , detail : "A.10.6 Accordion Registers" , documentation : "\\stdBassVI name generates a standard bass accordion register symbol for six reed basses.\n\nTo make it available,\n\n    #(use-modules (scm accreg))\n\nis required near the top of your input file.\n\nThis is primarily the register layout for the Hohner “Gola” model. The layout is\n\nThe registers are effectively quite similar to that of \\stdBass. An additional bass reed at alto pitch is omitted for esthetical reasons from the ‘Master’ setting, so the symbols are almost the same except for the ‘Alto/Soprano’ register with bass notes at Alto pitch and chords at Soprano pitch.\n\nAvailable registrations are\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\stemDown" , detail : "Stems" , documentation : "Whenever a note is found, a Stem object is created automatically. For whole notes and rests, they are also created but made invisible.\n\nStems may be manually placed to point up or down; see Direction and placement." , } , { label : "\\stemNeutral" , detail : "Stems" , documentation : "Whenever a note is found, a Stem object is created automatically. For whole notes and rests, they are also created but made invisible.\n\nStems may be manually placed to point up or down; see Direction and placement." , } , { label : "\\stemUp" , detail : "Stems" , documentation : "Whenever a note is found, a Stem object is created automatically. For whole notes and rests, they are also created but made invisible.\n\nStems may be manually placed to point up or down; see Direction and placement." , } , { label : "\\stencil" , detail : "A.10.7 Other" , documentation : "Use a stencil as markup.\n\n    \\markup {\n      \\stencil #(make-circle-stencil 2 0 #t)\n    }" , } , { label : "\\stopGroup" , detail : "Analysis brackets" , documentation : "Brackets are used in musical analysis to indicate structure in musical pieces. Simple horizontal brackets are supported.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c2\\startGroup\n      d\\stopGroup\n    }\n\nAnalysis brackets may be nested.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c4\\startGroup\\startGroup\n      d4\\stopGroup\n      e4\\startGroup\n      d4\\stopGroup\\stopGroup\n    }" , } , { label : "\\stopped" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\stopStaff" , detail : "Staff symbol" , documentation : "The \\stopStaff and \\startStaff commands can be used to stop or (re)start the staff lines respectively, from being printed at any point witin a score.\n\n    \\stopStaff f4 d \\startStaff g, e\n    f'4 d \\stopStaff g, e\n    f'4 d \\startStaff g, e" , } , { label : "\\stopStaff" , detail : "Ossia staves" , documentation : 'Ossia staves can be set by creating a new simultaneous staff in the appropriate location:\n\n    \\new Staff \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nHowever, the above example is not what is usually desired. To create ossia staves that are above the original staff, have no time signature or clef, and have a smaller font size, tweaks must be used. The Learning Manual describes a specific technique to achieve this goal, beginning with Nesting music expressions.\n\nThe following example uses the alignAboveContext property to align the ossia staff. This method is most appropriate when only a few ossia staves are needed.\n\n    \\new Staff = "main" \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff \\with {\n          \\remove "Time_signature_engraver"\n          alignAboveContext = #"main"\n          fontSize = #-3\n          \\override StaffSymbol.staff-space = #(magstep -3)\n          \\override StaffSymbol.thickness = #(magstep -3)\n          firstClef = ##f\n        }\n        { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nIf many isolated ossia staves are needed, creating an empty Staff context with a specific context id may be more appropriate; the ossia staves may then be created by calling this context and using \\startStaff and \\stopStaff at the desired locations. The benefits of this method are more apparent if the piece is longer than the following example.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      }\n      { \\stopStaff s1*6 }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        <<\n          { e4 f e2 }\n          \\context Staff = "ossia" {\n            \\startStaff e4 g8 f e2 \\stopStaff\n          }\n        >>\n        g4 a g2 \\break\n        c4 b c2\n        <<\n          { g4 a g2 }\n          \\context Staff = "ossia" {\n            \\startStaff g4 e8 f g2 \\stopStaff\n          }\n        >>\n        e4 d c2\n      }\n    >>\n\nUsing the \\Staff \\RemoveEmptyStaves command to create ossia staves may be used as an alternative. This method is most convenient when ossia staves occur immediately following a line break. For more information about \\Staff \\RemoveEmptyStaves, see Hiding staves.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      } \\relative c\'\' {\n        R1*3\n        c4 e8 d c2\n      }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        e4 f e2\n        g4 a g2 \\break\n        c4 b c2\n        g4 a g2\n        e4 d c2\n      }\n    >>\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n        \\override VerticalAxisGroup.remove-first = ##t\n      }\n    }' , } , { label : "\\stopStaff" , detail : "Hiding staves" , documentation : "Staff lines can be hidden by removing the Staff_symbol_engraver from the Staff context. As an alternative, \\stopStaff may be used.\n\n    \\new Staff \\with {\n      \\remove \"Staff_symbol_engraver\"\n    }\n    \\relative c''' { a8 f e16 d c b a2 }\n\nEmpty staves can be hidden by setting the \\Staff \\RemoveEmptyStaves command in the \\layout block. In orchestral scores, this style is known as ‘Frenched Score’. By default, this command hides and removes all empty staves in a score except for those in the first system.\n\nNote: A staff is considered empty when it contains only multi-measure rests, rests, skips, spacer rests, or a combination of these elements.\n\n\n\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n      }\n    }\n    \\relative c' <<\n      \\new Staff {\n        e4 f g a \\break\n        b1 \\break\n        a4 b c2\n      }\n      \\new Staff {\n        c,4 d e f \\break\n        R1 \\break\n        f4 g c,2\n      }\n    >>" , } , { label : "\\stopTrillSpan" , detail : "Trills" , documentation : "Short trills without an extender line are printed with \\trill; see Articulations and ornamentations.\n\nLonger trills with an extender line are made with \\startTrillSpan and \\stopTrillSpan:\n\n    d1\\startTrillSpan\n    d1\n    c2\\stopTrillSpan\n    r2\n\nA trill spanner crossing a line break will restart exactly above the first note on the new line.\n\n    d1\\startTrillSpan\n    \\break\n    d1\n    c2\\stopTrillSpan\n    r2\n\nConsecutive trill spans will work without explicit \\stopTrillSpan commands, since successive trill spanners will automatically become the right bound of the previous trill.\n\n    d1\\startTrillSpan\n    d1\n    b1\\startTrillSpan\n    d2\\stopTrillSpan\n    r2\n\nTrills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.\n\n    d1~\\afterGrace\n    d1\\startTrillSpan { c32[ d]\\stopTrillSpan }\n    c2 r2" , } , { label : "\\storePredefinedDiagram" , detail : "Predefined fret diagrams" , documentation : "In addition to fret diagrams, LilyPond stores an internal list of chord shapes. The chord shapes are fret diagrams that can be shifted along the neck to different positions to provide different chords. Chord shapes can be added to the internal list and then used to define predefined fret diagrams. Because they can be moved to various positions on the neck, chord shapes will normally not contain any open strings. Like fret diagrams, chord shapes can be entered as either fret-diagram-terse strings or fret-diagram-verbose marking lists.\n\n    \\include \"predefined-guitar-fretboards.ly\"\n    % Add a new chord shape\n    \\addChordShape #'powerf #guitar-tuning #\"1-1;3-3;3-4;x;x;x;\"\n    % add some new chords based on the power chord shape\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { f'' }\n                            #guitar-tuning\n                            #(chord-shape 'powerf guitar-tuning)\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { g'' }\n                            #guitar-tuning\n                            #(offset-fret 2 (chord-shape 'powerf guitar-tuning))\n    mychords = \\chordmode{\n      f1 f'' g g''\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>\n\nThe graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a predefined fret diagram, the interface properties belong to FretBoards.FretBoard." , } , { label : "\\stringTuning" , detail : "Custom tablatures" , documentation : "Any desired string tuning can be created. The \\stringTuning function can be used to define a string tuning which can be used to set stringTunings for the current context.\n\nIts argument is a chord construct defining the pitches of each string in the tuning. The chord construct must be in absolute octave mode, see Absolute octave entry. The string with the highest number (generally the lowest string) must come first in the chord. For example, we can define a string tuning for a four-string instrument with pitches of a'', d'', g', and c':\n\n    mynotes = {\n      c'4 e' g' c'' |\n      e''4 g'' b'' c'''\n    }\n    <<\n      \\new Staff {\n        \\clef treble\n        \\mynotes\n      }\n      \\new TabStaff {\n        \\set Staff.stringTunings = \\stringTuning <c' g' d'' a''>\n        \\mynotes\n      }\n    >>\n\nThe stringTunings property is also used by FretBoards to calculate automatic fret diagrams.\n\nString tunings are used as part of the hash key for predefined fret diagrams (see Predefined fret diagrams).\n\nThe previous example could also be written as follows:\n\n    custom-tuning = \\stringTuning <c' g' d'' a''>\n    mynotes = {\n      c'4 e' g' c'' |\n      e''4 g'' b'' c'''\n    }\n    <<\n      \\new Staff {\n        \\clef treble\n        \\mynotes\n      }\n      \\new TabStaff {\n        \\set TabStaff.stringTunings = #custom-tuning\n        \\mynotes\n      }\n    >>\n\nInternally, a string tuning is a Scheme list of string pitches, one for each string, ordered by string number from 1 to N, where string 1 is at the top of the tablature staff and string N is at the bottom. This ordinarily results in ordering from highest pitch to lowest pitch, but some instruments (e.g. ukulele) do not have strings ordered by pitch.\n\nA string pitch in a string tuning list is a LilyPond pitch object. Pitch objects are created with the Scheme function ly:make-pitch (see Scheme functions).\n\n\\stringTuning creates such an object from chord input.\n\nLilyPond automatically calculates the number of lines in the TabStaff and the number of strings in an automatically calculated FretBoard as the number of elements in stringTunings.\n\nTo let all TabStaff contexts use the same custom tuning by default, you can use\n\n    \\layout {\n      \\context {\n        \\TabStaff\n        stringTunings = \\stringTuning <c' g' d'' a''>\n      }\n    }" , } , { label : "\\stropha" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\stropha" , detail : "Predefined commands" , documentation : "" , } , { label : "\\strut" , detail : "A.10.7 Other" , documentation : "Create a box of the same height as the space in the current font." , } , { label : "\\sub" , detail : "Selecting font and font size" , documentation : "Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well:\n\n    \\markup {\n      \\column {\n        \\line { 1 \\super st movement }\n        \\line { 1 \\normal-size-super st movement\n          \\sub { (part two) }  }\n      }\n    }" , } , { label : "\\sub" , detail : "A.10.1 Font" , documentation : "Set arg in subscript.\n\n    \\markup {\n      \\concat {\n        H\n        \\sub {\n          2\n        }\n        O\n      }\n    }\n\nUsed properties:\n\n - baseline-skip\n - font-size (0)" , } , { label : "\\super" , detail : "Selecting font and font size" , documentation : "Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well:\n\n    \\markup {\n      \\column {\n        \\line { 1 \\super st movement }\n        \\line { 1 \\normal-size-super st movement\n          \\sub { (part two) }  }\n      }\n    }" , } , { label : "\\super" , detail : "A.10.1 Font" , documentation : "Set arg in superscript.\n\n    \\markup {\n      E =\n      \\concat {\n        mc\n        \\super\n        2\n      }\n    }\n\nUsed properties:\n\n - baseline-skip\n - font-size (0)" , } , { label : "\\sustainOff" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\sustainOn" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\tabChordRepeats" , detail : "Default tablatures" , documentation : 'Chord constructs can be repeated by the chord repetition symbol q. In combination with tabulatures, its behavior of removing string and finger numbers alongside with other events is cumbersome, so you’ll want to run\n\n    \\chordRepeats #\'(string-number-event fingering-event)\n\nexplicitly on music expressions in tabulature using Chord repetition. This particular command is so common that it is available as \\tabChordRepeats.\n\n    guitar = \\relative c\' {\n      r8 <gis-2 cis-3 b-0>~ q4 q8~ q q4\n    }\n    \\new StaffGroup <<\n      \\new Staff {\n        \\clef "treble_8"\n        \\guitar\n      }\n      \\new TabStaff {\n        \\tabChordRepeats \\guitar\n      }\n    >>\n\nTies over a line break are parenthesized by default. The same holds for the second alternative of a repeat.\n\n    ties = \\relative c\' {\n      \\repeat volta 2 {\n        e2. f4~\n        f2 g2~\n      }\n      \\alternative {\n         { g4 f2. }\n         { g4\\repeatTie c,2. }\n      }\n      b1~\n      \\break\n      b1\n      \\bar "|."\n    }\n    \\score {\n      <<\n        \\new StaffGroup  <<\n          \\new Staff {\n            \\clef "treble_8"\n            \\ties\n          }\n          \\new TabStaff {\n            \\ties\n          }\n        >>\n      >>\n      \\layout {\n      indent = #0\n      ragged-right = ##t\n      }\n    }' , } , { label : "\\tabFullNotation" , detail : "Default tablatures" , documentation : 'If all musical symbols used in traditional notation should also show up in tablature one has to apply the command \\tabFullNotation in a TabStaff-context. Please bear in mind that half notes are double-stemmed in tablature in order to distinguish them from quarter notes.\n\n    symbols = {\n      \\time 3/4\n      c4-.^"Allegro" d( e)\n      f4-.\\f g a^\\fermata\n      \\mark \\default\n      c8_.\\<\\( c16 c~ c2\\!\n      c\'2.\\prall\\)\n    }\n    \\score {\n      \\new TabStaff {\n        \\tabFullNotation\n        \\symbols\n      }\n    }' , } , { label : "\\table-of-contents" , detail : "Predefined commands" , documentation : "\\table-of-contents, \\tocItem." , } , { label : "\\table-of-contents" , detail : "A.11 Text markup list commands" , documentation : "" , } , { label : "\\tag" , detail : "Using tags" , documentation : "The \\tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \\keepWithTag #'name or \\removeWithTag #'name. The result of applying these filters to tagged music is as follows:\n\nFilter\tResult\nTagged music preceded by \\keepWithTag #'name or \\keepWithTag #'(name1 name2…)\tUntagged music and music tagged with any of the given tag names is included; music tagged with any other tag name is excluded.\nTagged music preceded by \\removeWithTag #'name or \\removeWithTag #'(name1 name2…)\tUntagged music and music not tagged with any of the given tag names is included; music tagged with any of the given tag names is excluded.\nTagged music not preceded by either \\keepWithTag or \\removeWithTag\tAll tagged and untagged music is included.\n\n\nThe arguments of the \\tag, \\keepWithTag and \\removeWithTag commands should be a symbol (such as #'score or #'part), followed by a music expression.\n\nIn the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand { \\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\keepWithTag #'trills \\music\n    }\n    \\score {\n      \\keepWithTag #'expand \\music\n    }\n\nAlternatively, it is sometimes easier to exclude sections of music:\n\n    music = \\relative g' {\n      g8. c32 d\n      \\tag #'trills { d8.\\trill }\n      \\tag #'expand {\\repeat unfold 3 { e32 d } }\n      c32 d\n     }\n    \\score {\n      \\removeWithTag #'expand\n      \\music\n    }\n    \\score {\n      \\removeWithTag #'trills\n      \\music\n    }\n\nTagged filtering can be applied to articulations, texts, etc. by prepending\n\n    -\\tag #'your-tag\n\nto an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:\n\n    c1-\\tag #'finger ^4\n    c1-\\tag #'warn ^\"Watch!\"\n\nMultiple tags may be placed on expressions with multiple \\tag entries, or by combining multiple tags into one symbol list:\n\n    music = \\relative c'' {\n      \\tag #'a \\tag #'both { a4 a a a }\n      \\tag #'(b both) { b4 b b b }\n    }\n    <<\n    \\keepWithTag #'a \\music\n    \\keepWithTag #'b \\music\n    \\keepWithTag #'both \\music\n    >>\n\nMultiple \\removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections. Alternatively, you can use a single \\removeWithTag with a list of tags.\n\n    music = \\relative c'' {\n      \\tag #'A { a4 a a a }\n      \\tag #'B { b4 b b b }\n      \\tag #'C { c4 c c c }\n      \\tag #'D { d4 d d d }\n    }\n    \\new Voice {\n      \\removeWithTag #'B\n      \\removeWithTag #'C\n      \\music\n      \\removeWithTag #'(B C)\n      \\music\n    }\n\nTwo or more \\keepWithTag filters applied to a single music expression will cause all tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section. Usually you would rather want to use a single \\keepWithTag command with a list of multiple tags: this will only remove tagged sections not given in any of the tags.\n\nSometimes you want to splice some music at a particular place in an existing music expression. You can use \\pushToTag and \\appendToTag for adding material at the front or end of the elements of an existing music construct. Not every music construct has elements, but sequential and simultaneous music are safe bets:\n\n    test = { \\tag #'here { \\tag #'here <<c''>> } }\n    {\n      \\pushToTag #'here c'\n      \\pushToTag #'here e'\n      \\pushToTag #'here g' \\test\n      \\appendToTag #'here c'\n      \\appendToTag #'here e'\n      \\appendToTag #'here g' \\test\n    }\n\nBoth commands get a tag, the material to splice in at every occurence of the tag, and the tagged expression. The commands make sure to copy everything that they change so that the original \\test retains its meaning." , } , { label : "\\taor" , detail : "Bagpipe definitions" , documentation : 'LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add\n\n    \\include "bagpipe.ly"\n\nto the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \\taor instead of\n\n    \\grace { \\small G32[ d G e] }\n\n‘bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \\relative or \\transpose.\n\n    \\include "bagpipe.ly"\n    { \\grg G4 \\grg a \\grg b \\grg c \\grg d \\grg e \\grg f \\grA g A }\n\nBagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \\hideKeySignature. If you for some reason want to show the key signature, you can use \\showKeySignature instead.\n\nSome modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.' , } , { label : "\\teeny" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\teeny" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\teeny" , detail : "A.10.1 Font" , documentation : "Set font size to -3.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\teeny\n      teeny\n    }" , } , { label : "\\tempo" , detail : "Metronome marks" , documentation : 'A basic metronome mark is simple to write:\n\n    \\tempo 4 = 120\n    c2 d\n    e4. d8 c2\n\nMetronome marks may also be printed as a range of two numbers:\n\n    \\tempo 4 = 40 - 46\n    c4. e8 a4 g\n    b,2 d4 r\n\nTempo indications with text can be used instead:\n\n    \\tempo "Allegretto"\n    c4 e d c\n    b4. a16 b c4 r4\n\nCombining a metronome mark and text will automatically place the metronome mark within parentheses:\n\n    \\tempo "Allegro" 4 = 160\n    g4 c d e\n    d4 b g2\n\nIn general, the text can be any markup object:\n\n    \\tempo \\markup { \\italic Faster } 4 = 132\n    a8-. r8 b-. r gis-. r a-. r\n\nA parenthesized metronome mark with no textual indication may be written by including an empty string in the input:\n\n    \\tempo "" 8 = 96\n    d4 g e c' , } , { label : "\\tenuto" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\text" , detail : "A.10.1 Font" , documentation : "Use a text font instead of music symbol or music alphabet font.\n\n    \\markup {\n      \\number {\n        1, 2,\n        \\text {\n          three, four,\n        }\n        5\n      }\n    }" , } , { label : "\\textLengthOff" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\textLengthOff" , detail : "Text scripts" , documentation : "\\textLengthOn, \\textLengthOff." , } , { label : "\\textLengthOn" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\textLengthOn" , detail : "Text scripts" , documentation : "\\textLengthOn, \\textLengthOff." , } , { label : "\\textSpannerDown" , detail : "Text spanners" , documentation : "\\textSpannerUp, \\textSpannerDown, \\textSpannerNeutral." , } , { label : "\\textSpannerNeutral" , detail : "Text spanners" , documentation : "\\textSpannerUp, \\textSpannerDown, \\textSpannerNeutral." , } , { label : "\\textSpannerUp" , detail : "Text spanners" , documentation : "\\textSpannerUp, \\textSpannerDown, \\textSpannerNeutral." , } , { label : "\\thumb" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\thumb" , detail : "Fingering instructions" , documentation : "A thumb-script can be added (e.g. cello music) to indicate that a note should be played with the thumb.\n\n    <a_\\thumb a'-3>2 <b_\\thumb b'-3>" , } , { label : "\\tied-lyric" , detail : "A.10.4 Music" , documentation : 'Like simple-markup, but use tie characters for ‘~’ tilde symbols.\n\n    \\markup \\column {\n      \\tied-lyric #"Siam navi~all\'onde~algenti Lasciate~in abbandono"\n      \\tied-lyric #"Impetuosi venti I nostri~affetti sono"\n      \\tied-lyric #"Ogni diletto~e scoglio Tutta la vita~e~un mar."\n    }\n\nUsed properties:\n\n - word-space' , } , { label : "\\tieDashed" , detail : "Ties" , documentation : "Ties may be made dashed, dotted, or a combination of solid and dashed.\n\n    \\tieDotted\n    c2~ c\n    \\tieDashed\n    c2~ c\n    \\tieHalfDashed\n    c2~ c\n    \\tieHalfSolid\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nCustom dash patterns can be specified:\n\n    \\tieDashPattern #0.3 #0.75\n    c2~ c\n    \\tieDashPattern #0.7 #1.5\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nDash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.\n\nOverride whiteout and layer layout properties for ties that collide with other objects in a staff.\n\n    \\override Tie.layer = #-2\n    \\override Staff.TimeSignature.layer = #-1\n    \\override Staff.KeySignature.layer = #-1\n    \\override Staff.TimeSignature.whiteout = ##t\n    \\override Staff.KeySignature.whiteout = ##t\n    b2 b~\n    \\time 3/4\n    \\key a \\major\n    b r4" , } , { label : "\\tieDotted" , detail : "Ties" , documentation : "Ties may be made dashed, dotted, or a combination of solid and dashed.\n\n    \\tieDotted\n    c2~ c\n    \\tieDashed\n    c2~ c\n    \\tieHalfDashed\n    c2~ c\n    \\tieHalfSolid\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nCustom dash patterns can be specified:\n\n    \\tieDashPattern #0.3 #0.75\n    c2~ c\n    \\tieDashPattern #0.7 #1.5\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nDash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.\n\nOverride whiteout and layer layout properties for ties that collide with other objects in a staff.\n\n    \\override Tie.layer = #-2\n    \\override Staff.TimeSignature.layer = #-1\n    \\override Staff.KeySignature.layer = #-1\n    \\override Staff.TimeSignature.whiteout = ##t\n    \\override Staff.KeySignature.whiteout = ##t\n    b2 b~\n    \\time 3/4\n    \\key a \\major\n    b r4" , } , { label : "\\tieDown" , detail : "Ties" , documentation : "Ties may be made to curve up or down manually; see Direction and placement." , } , { label : "\\tieNeutral" , detail : "Ties" , documentation : "Ties may be made to curve up or down manually; see Direction and placement." , } , { label : "\\tieSolid" , detail : "Ties" , documentation : "Ties may be made dashed, dotted, or a combination of solid and dashed.\n\n    \\tieDotted\n    c2~ c\n    \\tieDashed\n    c2~ c\n    \\tieHalfDashed\n    c2~ c\n    \\tieHalfSolid\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nCustom dash patterns can be specified:\n\n    \\tieDashPattern #0.3 #0.75\n    c2~ c\n    \\tieDashPattern #0.7 #1.5\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nDash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.\n\nOverride whiteout and layer layout properties for ties that collide with other objects in a staff.\n\n    \\override Tie.layer = #-2\n    \\override Staff.TimeSignature.layer = #-1\n    \\override Staff.KeySignature.layer = #-1\n    \\override Staff.TimeSignature.whiteout = ##t\n    \\override Staff.KeySignature.whiteout = ##t\n    b2 b~\n    \\time 3/4\n    \\key a \\major\n    b r4" , } , { label : "\\tieUp" , detail : "Ties" , documentation : "Ties may be made to curve up or down manually; see Direction and placement." , } , { label : "\\time" , detail : "Time signature" , documentation : "The time signature is set as follows:\n\n    \\time 2/4 c2\n    \\time 3/4 c2." , } , { label : "\\time" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\tiny" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\tiny" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\tiny" , detail : "A.10.1 Font" , documentation : "Set font size to -2.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\tiny\n      tiny\n    }" , } , { label : "\\tocItem" , detail : "Predefined commands" , documentation : "" , } , { label : "\\translate" , detail : "Text alignment" , documentation : 'Some commands can affect both the horizontal and vertical alignment of text objects in markup mode. Any object affected by these commands must be preceded with an anchor point:\n\n    d2^\\markup {\n      Acte I\n      \\translate #\'(-1 . 2) "Scène 1"\n    }\n    a\'\n    g_\\markup {\n      \\null\n      \\general-align #Y #3.2 \\bold "Très modéré"\n    }\n    a\n    d,^\\markup {\n      \\null\n      \\translate-scaled #\'(-1 . 2) \\teeny "Une forêt."\n    }\n    a\'4 a g2 a' , } , { label : "\\translate" , detail : "A.10.2 Align" , documentation : "Translate arg relative to its surroundings. offset is a pair of numbers representing the displacement in the X and Y axis.\n\n    \\markup {\n      *\n      \\translate #'(2 . 3)\n      \\line { translated two spaces right, three up }\n    }" , } , { label : "\\translate-scaled" , detail : "Text alignment" , documentation : 'Some commands can affect both the horizontal and vertical alignment of text objects in markup mode. Any object affected by these commands must be preceded with an anchor point:\n\n    d2^\\markup {\n      Acte I\n      \\translate #\'(-1 . 2) "Scène 1"\n    }\n    a\'\n    g_\\markup {\n      \\null\n      \\general-align #Y #3.2 \\bold "Très modéré"\n    }\n    a\n    d,^\\markup {\n      \\null\n      \\translate-scaled #\'(-1 . 2) \\teeny "Une forêt."\n    }\n    a\'4 a g2 a' , } , { label : "\\translate-scaled" , detail : "A.10.2 Align" , documentation : "Translate arg by offset, scaling the offset by the font-size.\n\n    \\markup {\n      \\fontsize #5 {\n        * \\translate #'(2 . 3) translate\n        \\hspace #2\n        * \\translate-scaled #'(2 . 3) translate-scaled\n      }\n    }\n\nUsed properties:\n\n - font-size (0)" , } , { label : "\\transparent" , detail : "A.10.7 Other" , documentation : "Make arg transparent.\n\n    \\markup {\n      \\transparent {\n        invisible text\n      }\n    }" , } , { label : "\\transpose" , detail : "Transpose" , documentation : "A music expression can be transposed with \\transpose. The syntax is\n\n    \\transpose frompitch topitch musicexpr\n\nThis means that musicexpr is transposed by the interval between the pitches frompitch and topitch: any note with pitch frompitch is changed to topitch and any other note is transposed by the same interval. Both pitches are entered in absolute mode.\n\nNote: Music inside a \\transpose block is absolute unless a \\relative is included in the block.\n\n\n\nConsider a piece written in the key of D-major. It can be transposed up to E-major; note that the key signature is automatically transposed as well.\n\n    \\transpose d e {\n      \\relative c' {\n        \\key d \\major\n        d4 fis a d\n      }\n    }" , } , { label : "\\transposedCueDuring" , detail : "Formatting cue notes" , documentation : 'Like \\quoteDuring, \\cueDuring takes instrument transpositions into account. Cue notes are produced at the pitches that would be written for the instrument receiving the cue to produce the sounding pitches of the source instrument.\n\nTo transpose cue notes differently, use \\transposedCueDuring. This command takes an extra argument to specify (in absolute mode) the printed pitch that you want to represent the sound of a concert middle C. This is useful for taking cues from an instrument in a completely different register.\n\n    piccoloNotes = \\relative c\'\'\' {\n      \\clef "treble^8"\n      R1\n      c8 c c e g2\n      c4 g g2\n    }\n    bassClarinetNotes = \\relative c\' {\n      \\key d \\major\n      \\transposition bes,\n      d4 r a r\n      \\transposedCueDuring #"piccolo" #UP d { R1 }\n      d4 r a r\n    }\n    \\addQuote "piccolo" { \\piccoloNotes }\n    <<\n      \\new Staff \\piccoloNotes\n      \\new Staff \\bassClarinetNotes\n    >>' , } , { label : "\\transposition" , detail : "Instrument transpositions" , documentation : 'When typesetting scores that involve transposing instruments, some parts can be typeset in a different pitch than the concert pitch. In these cases, the key of the transposing instrument should be specified; otherwise the MIDI output and cues in other parts will produce incorrect pitches. For more information about quotations, see Quoting other voices.\n\n    \\transposition pitch\n\nThe pitch to use for \\transposition should correspond to the real sound heard when a c\' written on the staff is played by the transposing instrument. This pitch is entered in absolute mode, so an instrument that produces a real sound which is one tone higher than the printed music should use \\transposition d\'. \\transposition should only be used if the pitches are not being entered in concert pitch.\n\nHere are a few notes for violin and B-flat clarinet where the parts have been entered using the notes and key as they appear in each part of the conductor’s score. The two instruments are playing in unison.\n\n    \\new GrandStaff <<\n      \\new Staff = "violin" {\n        \\relative c\'\' {\n          \\set Staff.instrumentName = #"Vln"\n          \\set Staff.midiInstrument = #"violin"\n          % not strictly necessary, but a good reminder\n          \\transposition c\'\n          \\key c \\major\n          g4( c8) r c r c4\n        }\n      }\n      \\new Staff = "clarinet" {\n        \\relative c\'\' {\n          \\set Staff.instrumentName = \\markup { Cl (B\\flat) }\n          \\set Staff.midiInstrument = #"clarinet"\n          \\transposition bes\n          \\key d \\major\n          a4( d8) r d r d4\n        }\n      }\n    >>\n\nThe \\transposition may be changed during a piece. For example, a clarinetist may be required to switch from an A clarinet to a B-flat clarinet.\n\n    flute = \\relative c\'\' {\n      \\key f \\major\n      \\cueDuring #"clarinet" #DOWN {\n        R1 _\\markup\\tiny "clarinet"\n        c4 f e d\n        R1 _\\markup\\tiny "clarinet"\n      }\n    }\n    clarinet = \\relative c\'\' {\n      \\key aes \\major\n      \\transposition a\n      aes4 bes c des\n      R1^\\markup { muta in B\\flat }\n      \\key g \\major\n      \\transposition bes\n      d2 g,\n    }\n    \\addQuote "clarinet" \\clarinet\n    <<\n      \\new Staff \\with { instrumentName = #"Flute" }\n        \\flute\n      \\new Staff \\with { instrumentName = #"Cl (A)" }\n        \\clarinet\n    >>' , } , { label : "\\transposition" , detail : "Quoting other voices" , documentation : 'It is very common for one voice to use the same notes as those from another voice. For example, first and second violins playing the same phrase during a particular passage of the music. This is done by letting one voice quote the other, without having to re-enter the music all over again for the second voice.\n\nThe \\addQuote command, used in the top level scope, defines a stream of music from which fragments can be quoted.\n\nThe \\quoteDuring command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with \\addQuote, and a music expression for the duration of the quote.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nIf the music expression used in \\quoteDuring contains notes instead of spacer or multimeasure rests then the quote will appear as polyphony and may produce unexpected results.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { e4 r8 ais b4 a }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nThe \\quoteDuring command uses the \\transposition settings of both quoted and quoting parts to produce notes for the quoting part that have the same sounding pitch as those in the quoted part.\n\n    clarinetNotes = \\relative c\'\' {\n      \\transposition bes\n      \\key d \\major\n      b4 ais a ais | cis4^"quoted" r8 bis\\p b4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"clarinet" { s1 }\n    }\n    \\addQuote "clarinet" { \\clarinetNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Clarinet" } \\clarinetNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }' , } , { label : "\\treCorde" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\triangle" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\triangle" , detail : "A.10.3 Graphic" , documentation : "A triangle, either filled or empty.\n\n    \\markup {\n      \\triangle ##t\n      \\hspace #2\n      \\triangle ##f\n    }\n\nUsed properties:\n\n - baseline-skip (2)\n - font-size (0)\n - thickness (0.1)" , } , { label : "\\trill" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\trill" , detail : "Trills" , documentation : "Short trills without an extender line are printed with \\trill; see Articulations and ornamentations.\n\nLonger trills with an extender line are made with \\startTrillSpan and \\stopTrillSpan:\n\n    d1\\startTrillSpan\n    d1\n    c2\\stopTrillSpan\n    r2\n\nA trill spanner crossing a line break will restart exactly above the first note on the new line.\n\n    d1\\startTrillSpan\n    \\break\n    d1\n    c2\\stopTrillSpan\n    r2\n\nConsecutive trill spans will work without explicit \\stopTrillSpan commands, since successive trill spanners will automatically become the right bound of the previous trill.\n\n    d1\\startTrillSpan\n    d1\n    b1\\startTrillSpan\n    d2\\stopTrillSpan\n    r2\n\nTrills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.\n\n    d1~\\afterGrace\n    d1\\startTrillSpan { c32[ d]\\stopTrillSpan }\n    c2 r2" , } , { label : "\\tuplet" , detail : "Tuplets" , documentation : "Tuplets are made from a music expression with the \\tuplet command, multiplying the speed of the music expression by a fraction:\n\n    \\tuplet fraction { music }\n\nThe fraction’s numerator will be printed over or under the notes, optionally with a bracket. The most common tuplets are triplets: 3 notes sound within the duration normally allowed for 2:\n\n    a2 \\tuplet 3/2 { b4 b b }\n    c4 c \\tuplet 3/2 { b4 a g }" , } , { label : "\\tuplet" , detail : "Polymetric notation" , documentation : "Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations." , } , { label : "\\tupletDown" , detail : "Tuplets" , documentation : "Tuplet brackets may be manually placed above or below the staff; see Direction and placement.\n\nTuplets may be nested:\n\n    \\autoBeamOff\n    c4 \\tuplet 5/4 { f8 e f \\tuplet 3/2 { e[ f g] } } f4\n\nModifying nested tuplets which begin at the same musical moment must be done with \\tweak.\n\nTo modify the duration of notes without printing a tuplet bracket, see Scaling durations." , } , { label : "\\tupletNeutral" , detail : "Tuplets" , documentation : "Tuplet brackets may be manually placed above or below the staff; see Direction and placement.\n\nTuplets may be nested:\n\n    \\autoBeamOff\n    c4 \\tuplet 5/4 { f8 e f \\tuplet 3/2 { e[ f g] } } f4\n\nModifying nested tuplets which begin at the same musical moment must be done with \\tweak.\n\nTo modify the duration of notes without printing a tuplet bracket, see Scaling durations." , } , { label : "\\tupletUp" , detail : "Tuplets" , documentation : "Tuplet brackets may be manually placed above or below the staff; see Direction and placement.\n\nTuplets may be nested:\n\n    \\autoBeamOff\n    c4 \\tuplet 5/4 { f8 e f \\tuplet 3/2 { e[ f g] } } f4\n\nModifying nested tuplets which begin at the same musical moment must be done with \\tweak.\n\nTo modify the duration of notes without printing a tuplet bracket, see Scaling durations." , } , { label : "\\turn" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\tweak" , detail : "5.3.4 The \\tweak command" , documentation : "Changing grob properties with \\override causes the changes to apply to all of the given grobs in the context at the moment the change applies. Sometimes, however, it is desirable to have changes apply to just one grob, rather than to all grobs in the affected context. This is accomplished with the \\tweak command, which has the following syntax:\n\n    \\tweak [layout-object.]grob-property value\n\nSpecifying layout-object is optional. The \\tweak command applies to the music object that immediately follows value in the music stream.\n\nFor an introduction to the syntax and uses of the tweak command see Tweaking methods.\n\nWhen several similar items are placed at the same musical moment, the \\override command cannot be used to modify just one of them – this is where the \\tweak command must be used. Items which may appear more than once at the same musical moment include the following:\n\n - note heads of notes inside a chord\n - articulation signs on a single note\n - ties between notes in a chord\n - tuplet brackets starting at the same time" , } , { label : "\\tweak" , detail : "5.3.5 \\set vs. \\override" , documentation : "The special commands \\tweak and \\overrideProperty change grob properties bypassing context properties completely. Instead they catch grobs as they are being created and then directly set properties on them when they originate from a tweaked music event or are of a particular kind, respectively." , } , { label : "\\type" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\typewriter" , detail : "A.10.1 Font" , documentation : "Use font-family typewriter for arg.\n\n    \\markup {\n      default\n      \\hspace #2\n      \\typewriter\n      typewriter\n    }" , } , { label : "\\unaCorda" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\underline" , detail : "Selecting font and font size" , documentation : "Basic font switching is supported in markup mode:\n\n    d1^\\markup {\n      \\bold { Più mosso }\n      \\italic { non troppo \\underline Vivo }\n    }\n    r2 r4 r8\n    d,_\\markup { \\italic quasi \\smallCaps Tromba }\n    f1 d2 r" , } , { label : "\\underline" , detail : "A.10.1 Font" , documentation : 'Underline arg. Looks at thickness to determine line thickness, and offset to determine line y-offset.\n\n    \\markup \\fill-line {\n      \\underline "underlined"\n      \\override #\'(offset . 5)\n      \\override #\'(thickness . 1)\n      \\underline "underlined"\n      \\override #\'(offset . 1)\n      \\override #\'(thickness . 5)\n      \\underline "underlined"\n    }\n\nUsed properties:\n\n - offset (2)\n - thickness (1)' , } , { label : "\\unfoldRepeats" , detail : "3.5.4 Repeats in MIDI" , documentation : "With a few minor additions, all types of repeats can be represented in the MIDI output. This is achieved by applying the \\unfoldRepeats music function. This function changes all repeats to unfold repeats.\n\n    \\unfoldRepeats {\n      \\repeat tremolo 8 { c'32 e' }\n      \\repeat percent 2 { c''8 d'' }\n      \\repeat volta 2 { c'4 d' e' f' }\n      \\alternative {\n        { g' a' a' g' }\n        { f' e' d' c' }\n      }\n    }\n    \\bar \"|.\"\n\nIn scores containing multiple voices, unfolding of repeats in MIDI output will only occur correctly if each voice contains fully notated repeat indications.\n\nWhen creating a score file using \\unfoldRepeats for MIDI, it is necessary to make two \\score blocks: one for MIDI (with unfolded repeats) and one for notation (with volta, tremolo, and percent repeats). For example,\n\n    \\score {\n      …music…\n      \\layout { … }\n    }\n    \\score {\n      \\unfoldRepeats …music…\n      \\midi { … }\n    }" , } , { label : "\\unHideNotes" , detail : "Hidden notes" , documentation : "Hidden (or invisible or transparent) notes can be useful in preparing theory or composition exercises.\n\n    c4 d\n    \\hideNotes\n    e4 f\n    \\unHideNotes\n    g a\n    \\hideNotes\n    b\n    \\unHideNotes\n    c\n\nNote heads, stems, and flags, and rests are invisible. Beams are invisible if they start on a hidden note. Objects that are attached to invisible notes are still visible.\n\n    e8(\\p f g a)--\n    \\hideNotes\n    e8(\\p f g a)--" , } , { label : "\\unset" , detail : "5.3.2 The \\set command" , documentation : "The \\unset command:\n\n    \\unset context.property\n\nis used to remove the definition of property from context. This command removes the definition only if it is set in context. Properties that have been set in enclosing contexts will not be altered by an unset in an enclosed context:\n\n    \\set Score.autoBeaming = ##t\n    <<\n      {\n        \\unset autoBeaming\n        e8 e e e\n        \\unset Score.autoBeaming\n        e8 e e e\n      } \\\\ {\n        c8 c c c c8 c c c\n      }\n    >>\n\nLike \\set, the context argument does not have to be specified for a bottom context, so the two statements\n\n    \\set Voice.autoBeaming = ##t\n    \\set autoBeaming = ##t\n\nare equivalent if the current bottom context is Voice." , } , { label : "\\upbow" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\upbow" , detail : "Bowing indications" , documentation : 'Bowing indications are created as articulations, which are described in Articulations and ornamentations.\n\nThe bowing commands, \\upbow and \\downbow, are used with slurs as follows:\n\n    c4(\\downbow d) e(\\upbow f)\n\nand the following example shows three ways in which an open A string on a violin might be indicated:\n\n    a4 \\open\n    a^\\markup { \\teeny "II" }\n    a2^\\markup { \\small "sul A" }' , } , { label : "\\upmordent" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\upprall" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\upright" , detail : "A.10.1 Font" , documentation : "Set font-shape to upright. This is the opposite of italic.\n\n    \\markup {\n      \\italic {\n        italic text\n        \\hspace #2\n        \\upright {\n          upright text\n        }\n        \\hspace #2\n        italic again\n      }\n    }" , } , { label : "\\varcoda" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\vcenter" , detail : "A.10.2 Align" , documentation : "Align arg to its Y center.\n\n    \\markup {\n      one\n      \\vcenter\n      two\n      three\n    }" , } , { label : "\\verbatim-file" , detail : "A.10.7 Other" , documentation : 'Read the contents of file name, and include it verbatim.\n\n    \\markup {\n      \\verbatim-file #"simple.ly"\n    }' , } , { label : "\\verylongfermata" , detail : "Articulations and ornamentations" , documentation : "A variety of symbols that denote articulations, ornamentations, and other performance indications can be attached to a note using this syntax:\n\n    note\\name\n\nThe possible values for name are listed in List of articulations. For example:\n\n    c4\\staccato c\\mordent b2\\turn\n    c1\\fermata" , } , { label : "\\virga" , detail : "Gregorian square neume ligatures" , documentation : "" , } , { label : "\\virga" , detail : "Predefined commands" , documentation : "" , } , { label : "\\virgula" , detail : "Predefined commands" , documentation : "\\virgula, \\caesura, \\divisioMinima, \\divisioMaior, \\divisioMaxima, \\finalis." , } , { label : "\\voiceFourStyle" , detail : "Voice styles" , documentation : "Voices may be given distinct colors and shapes, allowing them to be easily identified:\n\n    <<\n      { \\voiceOneStyle d4 c2 b4 }\n      \\\\\n      { \\voiceTwoStyle e,2 e }\n      \\\\\n      { \\voiceThreeStyle b2. c4 }\n      \\\\\n      { \\voiceFourStyle g'2 g }\n    >>\n\nThe \\voiceNeutralStyle command is used to revert to the standard presentation." , } , { label : "\\voiceNeutralStyle" , detail : "Voice styles" , documentation : "Voices may be given distinct colors and shapes, allowing them to be easily identified:\n\n    <<\n      { \\voiceOneStyle d4 c2 b4 }\n      \\\\\n      { \\voiceTwoStyle e,2 e }\n      \\\\\n      { \\voiceThreeStyle b2. c4 }\n      \\\\\n      { \\voiceFourStyle g'2 g }\n    >>\n\nThe \\voiceNeutralStyle command is used to revert to the standard presentation." , } , { label : "\\voiceOne" , detail : "Single-staff polyphony" , documentation : 'The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example:\n\n    \\new Staff <<\n      \\new Voice = "first"\n        { \\voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }\n      \\new Voice= "second"\n        { \\voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }\n    >>\n\nHere, voices are instantiated explicitly and are given names. The \\voiceOne … \\voiceFour commands set up the voices so that first and third voices get stems up, second and fourth voices get stems down, third and fourth voice note heads are horizontally shifted, and rests in the respective voices are automatically moved to avoid collisions. The \\oneVoice command returns all the voice settings to the neutral default directions.' , } , { label : "\\voiceOne ... \\voiceFour" , detail : "Single-staff polyphony" , documentation : 'The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example:\n\n    \\new Staff <<\n      \\new Voice = "first"\n        { \\voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }\n      \\new Voice= "second"\n        { \\voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }\n    >>\n\nHere, voices are instantiated explicitly and are given names. The \\voiceOne … \\voiceFour commands set up the voices so that first and third voices get stems up, second and fourth voices get stems down, third and fourth voice note heads are horizontally shifted, and rests in the respective voices are automatically moved to avoid collisions. The \\oneVoice command returns all the voice settings to the neutral default directions.' , } , { label : "\\voiceOneStyle" , detail : "Voice styles" , documentation : "Voices may be given distinct colors and shapes, allowing them to be easily identified:\n\n    <<\n      { \\voiceOneStyle d4 c2 b4 }\n      \\\\\n      { \\voiceTwoStyle e,2 e }\n      \\\\\n      { \\voiceThreeStyle b2. c4 }\n      \\\\\n      { \\voiceFourStyle g'2 g }\n    >>\n\nThe \\voiceNeutralStyle command is used to revert to the standard presentation." , } , { label : "\\voiceThreeStyle" , detail : "Voice styles" , documentation : "Voices may be given distinct colors and shapes, allowing them to be easily identified:\n\n    <<\n      { \\voiceOneStyle d4 c2 b4 }\n      \\\\\n      { \\voiceTwoStyle e,2 e }\n      \\\\\n      { \\voiceThreeStyle b2. c4 }\n      \\\\\n      { \\voiceFourStyle g'2 g }\n    >>\n\nThe \\voiceNeutralStyle command is used to revert to the standard presentation." , } , { label : "\\voiceTwoStyle" , detail : "Voice styles" , documentation : "Voices may be given distinct colors and shapes, allowing them to be easily identified:\n\n    <<\n      { \\voiceOneStyle d4 c2 b4 }\n      \\\\\n      { \\voiceTwoStyle e,2 e }\n      \\\\\n      { \\voiceThreeStyle b2. c4 }\n      \\\\\n      { \\voiceFourStyle g'2 g }\n    >>\n\nThe \\voiceNeutralStyle command is used to revert to the standard presentation." , } , { label : "\\void" , detail : "3.6.1 Displaying LilyPond notation" , documentation : "Note that Lilypond does not just display the music expression, but also interprets it (since \\displayLilyMusic returns it in addition to displaying it). This is convenient since you can just insert \\displayLilyMusic into existing music in order to get information about it. If you don’t actually want Lilypond to interpret the displayed music as well as display it, use \\void in order to have it ignored:\n\n    {\n      \\void \\displayLilyMusic \\transpose c a, { c4 e g a bes }\n    }" , } , { label : "\\vspace" , detail : "A.10.2 Align" , documentation : "Create an invisible object taking up vertical space of amount multiplied by 3.\n\n    \\markup {\n        \\center-column {\n        one\n        \\vspace #2\n        two\n        \\vspace #5\n        three\n      }\n    }" , } , { label : "\\walkerHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\walkerHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\whiteout" , detail : "A.10.7 Other" , documentation : "Provide a white background for arg.\n\n    \\markup {\n      \\combine\n        \\filled-box #'(-1 . 10) #'(-3 . 4) #1\n        \\whiteout whiteout\n    }" , } , { label : "\\with" , detail : "5.1.4 Modifying context plug-ins" , documentation : 'where the … should be the name of an engraver. Here is a simple example which removes Time_signature_engraver and Clef_engraver from a Staff context,\n\n    <<\n      \\new Staff {\n        f2 g\n      }\n      \\new Staff \\with {\n         \\remove "Time_signature_engraver"\n         \\remove "Clef_engraver"\n      } {\n        f2 g2\n      }\n    >>\n\nIn the second staff there are no time signature or clef symbols. This is a rather crude method of making objects disappear since it will affect the entire staff. This method also influences the spacing, which may or may not be desirable. More sophisticated methods of blanking objects are shown in Visibility and color of objects.\n\nThe next example shows a practical application. Bar lines and time signatures are normally synchronized across the score. This is done by the Timing_translator and Default_bar_line_engraver. This plug-in keeps an administration of time signature, location within the measure, etc. By moving these engraver from Score to Staff context, we can have a score where each staff has its own time signature.' , } , { label : "\\with" , detail : "Changing just one specific context" , documentation : "The context properties of just one specific context instance can be changed in a \\with block. All other context instances of the same type retain the default settings built into LilyPond and modified by any \\layout block within scope. The \\with block must be placed immediately after the \\new context-type command:\n\n    \\new Staff \\with { [context settings for this context instance only] }\n    {\n      …\n    }\n\nSince such a ‘context modification’ is specified inside of music, it will affect all outputs (typesetting and Midi) as opposed to changes within an output definition.\n\nThe following types of settings may be specified:\n\n - An \\override command, but with the context name omitted\n\\score {\n  \\new Staff {\n    \\new Voice \\with { \\override Stem.thickness = #4.0 }\n    {\n      \\relative c'' {\n        a4^\"Thick stems\" a a a\n        a4 a a a\n      }\n    }\n  }\n}\n \n\n\n - Directly setting a context property\n\\score {\n  <<\n    \\new Staff {\n      \\relative c'' {\n        a4^\"Default font\" a a a\n        a4 a a a\n      }\n    }\n    \\new Staff \\with { fontSize = #-4 }\n    {\n      \\relative c'' {\n        a4^\"Smaller font\" a a a\n        a4 a a a\n      }\n    }\n  >>\n}\n \n\n\n - A predefined command such as \\dynamicUp\n\\score {\n  <<\n    \\new Staff {\n      \\new Voice {\n        \\relative c'' {\n          a4^\"Dynamics below\" a a a\n          a4 a a\\ff a\n        }\n      }\n    }\n    \\new Staff \\with { \\accidentalStyle dodecaphonic }\n    {\n      \\new Voice \\with { \\dynamicUp }\n      {\n        \\relative c'' {\n          a4^\"Dynamics above\" a a a\n          a4 a a\\ff a\n        }\n      }\n    }\n  >>\n}\n \n\n" , } , { label : "\\with-color" , detail : "Coloring objects" , documentation : 'Individual objects may be assigned colors. Valid color names are listed in the List of colors.\n\n    \\override NoteHead.color = #red\n    c4 c\n    \\override NoteHead.color = #(x11-color \'LimeGreen)\n    d\n    \\override Stem.color = #blue\n    e\n\nThe full range of colors defined for X11 can be accessed by using the Scheme function x11-color. The function takes one argument; this can be a symbol in the form \'FooBar or a string in the form "FooBar". The first form is quicker to write and is more efficient. However, using the second form it is possible to access X11 colors by the multi-word form of its name.\n\nIf x11-color cannot make sense of the parameter then the color returned defaults to black.\n\n    \\override Staff.StaffSymbol.color = #(x11-color \'SlateBlue2)\n    \\set Staff.instrumentName = \\markup {\n      \\with-color #(x11-color \'navy) "Clarinet"\n    }\n    gis8 a\n    \\override Beam.color = #(x11-color "medium turquoise")\n    gis a\n    \\override Accidental.color = #(x11-color \'DarkRed)\n    gis a\n    \\override NoteHead.color = #(x11-color "LimeGreen")\n    gis a\n    % this is deliberate nonsense; note that the stems remain black\n    \\override Stem.color = #(x11-color \'Boggle)\n    b2 cis' , } , { label : "\\with-color" , detail : "A.10.7 Other" , documentation : "Draw arg in color specified by color.\n\n    \\markup {\n      \\with-color #red\n      red\n      \\hspace #2\n      \\with-color #green\n      green\n      \\hspace #2\n      \\with-color #blue\n      blue\n    }" , } , { label : "\\with-dimensions" , detail : "A.10.7 Other" , documentation : "Set the dimensions of arg to x and y." , } , { label : "\\with-link" , detail : "A.10.7 Other" , documentation : "Add a link to the page holding label label around arg. This only works in the PDF backend.\n\n    \\markup {\n      \\with-link #'label {\n        \\italic { This links to the page containing the label... }\n      }\n    }" , } , { label : "\\with-url" , detail : "A.10.3 Graphic" , documentation : 'Add a link to URL url around arg. This only works in the PDF backend.\n\n    \\markup {\n      \\with-url #"http://lilypond.org/" {\n        LilyPond ... \\italic {\n          music notation for everyone\n        }\n      }\n    }' , } , { label : "\\woodwind-diagram" , detail : "A.10.5 Instrument Specific Markup" , documentation : "Make a woodwind-instrument diagram. For example, say\n\n    \\markup \\woodwind-diagram\n      #'oboe #'((lh . (d ees)) (cc . (five3qT1q)) (rh . (gis)))\n\nfor an oboe with the left-hand d key, left-hand ees key, and right-hand gis key depressed while the five-hole of the central column effectuates a trill between 1/4 and 3/4 closed.\n\nThe following instruments are supported:\n\n - - piccolo\n - - flute\n - - oboe\n - - clarinet\n - - bass-clarinet\n - - saxophone\n - - bassoon\n - - contrabassoon\n\nTo see all of the callable keys for a given instrument, include the function (print-keys 'instrument) in your .ly file, where instrument is the instrument whose keys you want to print.\n\nCertain keys allow for special configurations. The entire gamut of configurations possible is as follows:\n\n - - 1q (1/4 covered)\n - - 1h (1/2 covered)\n - - 3q (3/4 covered)\n - - R (ring depressed)\n - - F (fully covered; the default if no state put)\n\nAdditionally, these configurations can be used in trills. So, for example, three3qTR effectuates a trill between 3/4 full and ring depressed on the three hole. As another example, threeRT effectuates a trill between R and open, whereas threeTR effectuates a trill between open and shut. To see all of the possibilities for all of the keys of a given instrument, invoke (print-keys-verbose 'instrument).\n\nLastly, substituting an empty list for the pressed-key alist will result in a diagram with all of the keys drawn but none filled, for example:\n\n    \\markup \\woodwind-diagram #'oboe #'()\n\nUsed properties:\n\n - graphical (#t)\n - thickness (0.1)\n - size (1)" , } , { label : "\\wordwrap" , detail : "Text alignment" , documentation : "Long text indications can also be automatically wrapped accordingly to the given line width. These will be either left-aligned or justified, as shown in the following example.\n\n    \\markup {\n      \\column {\n        \\line  \\smallCaps { La vida breve }\n        \\line \\bold { Acto I }\n        \\wordwrap \\italic {\n          (La escena representa el corral de una casa de\n          gitanos en el Albaicín de Granada.  Al fondo una\n          puerta por la que se ve el negro interior de\n          una Fragua, iluminado por los rojos resplandores\n          del fuego.)\n        }\n        \\hspace #0\n        \\line \\bold { Acto II }\n        \\override #'(line-width . 50)\n        \\justify \\italic {\n          (Calle de Granada.  Fachada de la casa de Carmela\n          y su hermano Manuel con grandes ventanas abiertas\n          a través de las que se ve el patio\n          donde se celebra una alegre fiesta)\n        }\n      }\n    }" , } , { label : "\\wordwrap" , detail : "A.10.2 Align" , documentation : "Simple wordwrap. Use \\override #'(line-width . X) to set the line width, where X is the number of staff spaces.\n\n    \\markup {\n      \\wordwrap {\n        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed\n        do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n        Ut enim ad minim veniam, quis nostrud exercitation ullamco\n        laboris nisi ut aliquip ex ea commodo consequat.\n      }\n    }\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width (#f)\n - baseline-skip" , } , { label : "\\wordwrap-field" , detail : "A.10.2 Align" , documentation : 'Wordwrap the data which has been assigned to symbol.\n\n    \\header {\n      title = "My title"\n      myText = "Lorem ipsum dolor sit amet, consectetur adipisicing\n        elit, sed do eiusmod tempor incididunt ut labore et dolore\n        magna aliqua.  Ut enim ad minim veniam, quis nostrud\n        exercitation ullamco laboris nisi ut aliquip ex ea commodo\n        consequat."\n    }\n    \\paper {\n      bookTitleMarkup = \\markup {\n        \\column {\n          \\fill-line { \\fromproperty #\'header:title }\n          \\null\n          \\wordwrap-field #\'header:myText\n        }\n      }\n    }\n    \\markup {\n      \\null\n    }' , } , { label : "\\wordwrap-internal" , detail : "A.11 Text markup list commands" , documentation : "Internal markup list command used to define \\justify and \\wordwrap.\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width (#f)" , } , { label : "\\wordwrap-lines" , detail : "Multi-page markup" , documentation : "Although standard markup objects are not breakable, a specific syntax makes it possible to enter lines of text that can spread over multiple pages:\n\n    \\markuplist {\n      \\justified-lines {\n        A very long text of justified lines.\n        ...\n      }\n      \\wordwrap-lines {\n        Another very long paragraph.\n        ...\n      }\n      ...\n    }\n\nThis syntax accepts a list of markups, that can be\n\n - the result of a markup list command,\n - a list of markups,\n - a list of markup lists.\n\nAn exhaustive list of markup list commands can be found in Text markup list commands." , } , { label : "\\wordwrap-lines" , detail : "A.11 Text markup list commands" , documentation : "Like \\wordwrap, but return a list of lines instead of a single markup. Use \\override-lines #'(line-width . X) to set the line width, where X is the number of staff spaces.\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width (#f)\n - baseline-skip" , } , { label : "\\wordwrap-string" , detail : "A.10.2 Align" , documentation : 'Wordwrap a string. Paragraphs may be separated with double newlines.\n\n    \\markup {\n      \\override #\'(line-width . 40)\n      \\wordwrap-string #"Lorem ipsum dolor sit amet, consectetur\n          adipisicing elit, sed do eiusmod tempor incididunt ut labore\n          et dolore magna aliqua.\n          Ut enim ad minim veniam, quis nostrud exercitation ullamco\n          laboris nisi ut aliquip ex ea commodo consequat.\n          Excepteur sint occaecat cupidatat non proident, sunt in culpa\n          qui officia deserunt mollit anim id est laborum"\n    }\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width\n - baseline-skip' , } , { label : "\\wordwrap-string-internal" , detail : "A.11 Text markup list commands" , documentation : "Internal markup list command used to define \\justify-string and \\wordwrap-string.\n\nUsed properties:\n\n - text-direction (1)\n - word-space\n - line-width" , } , { label : "]" , detail : "Manual beams" , documentation : "In some cases it may be necessary to override the automatic beaming algorithm. For example, the autobeamer will not put beams over rests or bar lines, and in choral scores the beaming is often set to follow the meter of the lyrics rather than the notes. Such beams can be specified manually by marking the begin and end point with [ and ].\n\n    r4 r8[ g' a r] r g[ | a] r" , } , { label : "^" , detail : "Extended and altered chords" , documentation : "Following any steps to be added, a series of steps to be removed is introduced in a modifier string with a prefix of ^. If more than one step is to be removed, the steps to be removed are separated by . following the initial ^.\n\n    \\chordmode {\n      c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7\n    }" , } , { label : "_" , detail : "Multiple syllables to one note" , documentation : "In order to assign more than one syllable to a single note with spaces between the syllables, you can surround the phrase with quotes or use a _ character. Alternatively, you can use the tilde symbol (~) to get a lyric tie.\n\n    {\n      { \\autoBeamOff\n        r8 b c fis, fis c' b e,\n      }\n      \\addlyrics\n      {\n        \\override LyricHyphen.minimum-distance = #1.0 % Ensure hyphens are visible\n        Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da\n      }\n      \\addlyrics { \"Che in\" ques -- \"ta e in\" quel -- l'al -- tr'on -- da }\n      \\addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da }\n    }" , } , { label : "|" , detail : "Bar and bar number checks" , documentation : "Bar checks help detect errors in the entered durations. A bar check may be entered using the bar symbol, |, at any place where a bar line is expected to fall. If bar check lines are encountered at other places, a list of warnings is printed in the log file, showing the line numbers and lines in which the bar checks failed. In the next example, the second bar check will signal an error.\n\n    \\time 3/4 c2 e4 | g2 |\n\nBar checks can also be used in lyrics:\n\n    \\lyricmode {\n      \\time 2/4\n      Twin -- kle | Twin -- kle |\n    }\n\nAn incorrect duration can result in a completely garbled score, especially if the score is polyphonic, so a good place to start correcting input is by scanning for failed bar checks and incorrect durations.\n\nIf successive bar checks are off by the same musical interval, only the first warning message is displayed. This allows the warning to focus on the source of the timing error." , } , { label : "|" , detail : "Bar and bar number checks" , documentation : "It is also possible to redefine the action taken when a bar check or pipe symbol, |, is encountered in the input, so that it does something other than a bar check. This is done by assigning a music expression to \"|\". In the following example | is set to insert a double bar line wherever it appears in the input, rather than checking for end of bar.\n\n    \"|\" = \\bar \"||\"\n    {\n      c'2 c' |\n      c'2 c'\n      c'2 | c'\n      c'2 c'\n    }" , } , { label : "~" , detail : "Ties" , documentation : 'A tie connects two adjacent note heads of the same pitch. The tie in effect extends the duration of a note.\n\nNote: Ties should not be confused with slurs, which indicate articulation, or phrasing slurs, which indicate musical phrasing. A tie is just a way of extending a note duration, similar to the augmentation dot.\n\n\n\nA tie is entered by appending a tilde symbol (~) to the first of each pair of notes being tied. This indicates that the note should be tied to the following note, which must be at the same pitch.\n\n    a2~ a4~ a16 r r8\n\nTies are used either when the note crosses a bar line, or when dots cannot be used to denote the rhythm. Ties should also be used when note values cross larger subdivisions of the measure:\n\n    \\relative c\' {\n      r8 c~ c2 r4 |\n      r8^"not" c2~ c8 r4\n    }\n\nIf you need to tie many notes across bar lines, it may be easier to use automatic note splitting, see Automatic note splitting. This mechanism automatically splits long notes, and ties them across bar lines.' , } , { label : "\\absolute" , detail : "Absolute octave entry" , documentation : "Music can be marked explicitly as being in absolute octave notation by preceding it with \\absolute:\n\n    \\absolute musicexpr\n\nwill be interpreted in absolute octave entry mode regardless of the context it appears in." , } , { label : "\\absolute" , detail : "A.18 Available music functions" , documentation : "Make music absolute. This does not actually change the music itself but rather hides it from surrounding \\relative commands." , } , { label : "\\accepts" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\acciaccatura" , detail : "A.18 Available music functions" , documentation : "Create an acciaccatura from the following music expression" , } , { label : "\\accidentalStyle" , detail : "A.18 Available music functions" , documentation : "Set accidental style to symbol list style in the form ‘piano-cautionary’. If style has a form like ‘Staff.piano-cautionary’, the settings are applied to that context. Otherwise, the context defaults to ‘Staff’, except for piano styles, which use ‘GrandStaff’ as a context." , } , { label : "\\addChordShape" , detail : "Predefined fret diagrams" , documentation : "In addition to fret diagrams, LilyPond stores an internal list of chord shapes. The chord shapes are fret diagrams that can be shifted along the neck to different positions to provide different chords. Chord shapes can be added to the internal list and then used to define predefined fret diagrams. Because they can be moved to various positions on the neck, chord shapes will normally not contain any open strings. Like fret diagrams, chord shapes can be entered as either fret-diagram-terse strings or fret-diagram-verbose marking lists.\n\n    \\include \"predefined-guitar-fretboards.ly\"\n    % Add a new chord shape\n    \\addChordShape #'powerf #guitar-tuning #\"1-1;3-3;3-4;x;x;x;\"\n    % add some new chords based on the power chord shape\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { f'' }\n                            #guitar-tuning\n                            #(chord-shape 'powerf guitar-tuning)\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { g'' }\n                            #guitar-tuning\n                            #(offset-fret 2 (chord-shape 'powerf guitar-tuning))\n    mychords = \\chordmode{\n      f1 f'' g g''\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>\n\nThe graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a predefined fret diagram, the interface properties belong to FretBoards.FretBoard." , } , { label : "\\addChordShape" , detail : "A.18 Available music functions" , documentation : "Add chord shape shape-definition to the chord-shape-table hash with the key (cons key-symbol tuning)." , } , { label : "\\addInstrumentDefinition" , detail : "Instrument names" , documentation : 'If an instrument switch is needed, \\addInstrumentDefinition may be used in combination with \\instrumentSwitch to create a detailed list of the necessary changes for the switch. The \\addInstrumentDefinition command has two arguments: an identifying string, and an association list of context properties and values to be used for the instrument. It must be placed in the toplevel scope. \\instrumentSwitch is used in the music expression to declare the instrument switch:\n\n    \\addInstrumentDefinition #"contrabassoon"\n      #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))\n         (shortInstrumentName . "Cbsn.")\n         (clefGlyph . "clefs.F")\n         (middleCPosition . 6)\n         (clefPosition . 2)\n         (instrumentCueName . ,(make-bold-markup "cbsn."))\n         (midiInstrument . "bassoon"))\n    \\new Staff \\with {\n      instrumentName = #"Bassoon"\n    }\n    \\relative c\' {\n      \\clef tenor\n      \\compressFullBarRests\n      c2 g\'\n      R1*16\n      \\instrumentSwitch "contrabassoon"\n      c,,2 g \\break\n      c,1 ~ | c1\n    }' , } , { label : "\\addInstrumentDefinition" , detail : "Formatting cue notes" , documentation : 'The \\killCues command removes cue notes from a music expression, so the same music expression can be used to produce the instrument part with cues and the score. The \\killCues command removes only the notes and events that were quoted by \\cueDuring. Other markup associated with cues, such as clef changes and a label identifying the source instrument, can be tagged for selective inclusion in the score; see Using tags.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\tag #\'part {\n        \\clef treble\n        \\new CueVoice { \\set instrumentCueName = "flute" }\n      }\n      \\cueDuring #"flute" #UP { R1 }\n      \\tag #\'part \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n    \\new StaffGroup <<\n      \\new Staff {\n        \\fluteNotes\n      }\n      \\new Staff {\n        \\removeWithTag #\'part { \\killCues { \\bassoonNotes } }\n      }\n    >>\n\nAlternatively, Clef changes and instrument labels can be collected into an instrument definition for repeated use, using \\addInstrumentDefinition described in Instrument names.' , } , { label : "\\addInstrumentDefinition" , detail : "A.18 Available music functions" , documentation : "Create instrument name with properties list." , } , { label : "\\additionalPitchPrefix" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\addQuote" , detail : "Quoting other voices" , documentation : 'It is very common for one voice to use the same notes as those from another voice. For example, first and second violins playing the same phrase during a particular passage of the music. This is done by letting one voice quote the other, without having to re-enter the music all over again for the second voice.\n\nThe \\addQuote command, used in the top level scope, defines a stream of music from which fragments can be quoted.\n\nThe \\quoteDuring command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with \\addQuote, and a music expression for the duration of the quote.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nIf the music expression used in \\quoteDuring contains notes instead of spacer or multimeasure rests then the quote will appear as polyphony and may produce unexpected results.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { e4 r8 ais b4 a }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nThe \\quoteDuring command uses the \\transposition settings of both quoted and quoting parts to produce notes for the quoting part that have the same sounding pitch as those in the quoted part.\n\n    clarinetNotes = \\relative c\'\' {\n      \\transposition bes\n      \\key d \\major\n      b4 ais a ais | cis4^"quoted" r8 bis\\p b4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"clarinet" { s1 }\n    }\n    \\addQuote "clarinet" { \\clarinetNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Clarinet" } \\clarinetNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }' , } , { label : "\\addQuote" , detail : "A.18 Available music functions" , documentation : "Define music as a quotable music expression named name" , } , { label : "\\aeolian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\afterGrace" , detail : "Grace notes" , documentation : "If you want to end a note with a grace, use the \\afterGrace command. It takes two arguments: the main note, and the grace notes following the main note.\n\n    c1 \\afterGrace d1 { c16[ d] } c1\n\nThis will put the grace notes after a space lasting 3/4 of the length of the main note. The default fraction 3/4 can be changed by setting afterGraceFraction. The following example shows the results from setting the space at the default, at 15/16, and finally at 1/2 of the main note.\n\n    <<\n      \\new Staff {\n        c1 \\afterGrace d1 { c16[ d] } c1\n      }\n      \\new Staff {\n        #(define afterGraceFraction (cons 15 16))\n        c1 \\afterGrace d1 { c16[ d] } c1\n      }\n      \\new Staff {\n        #(define afterGraceFraction (cons 1 2))\n        c1 \\afterGrace d1 { c16[ d] } c1\n      }\n    >>\n\nThe space between the main note and the grace note may also be specified using spacers. The following example places the grace note after a space lasting 7/8 of the main note.\n\n    \\new Voice {\n      <<\n        { d1^\\trill_( }\n        { s2 s4. \\grace { c16 d } }\n      >>\n      c1)\n    }" , } , { label : "\\afterGrace" , detail : "A.18 Available music functions" , documentation : "Create grace note(s) after a main music expression." , } , { label : "\\aikenHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\aikenHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\alias" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\alignAboveContext" , detail : "5.1.7 Context layout order" , documentation : 'Sometimes a context is required to exist for just a brief period, a good example being the staff context for an ossia. This is usually achieved by introducing the context definition at the appropriate place in parallel with corresponding section of the main music. By default, the temporary context will be placed below all the existing contexts. To reposition it above the context called “main”, it should be defined like this:\n\n    \\new Staff \\with { alignAboveContext = #"main" } \n\nA similar situation arises when positioning a temporary lyrics context within a multi-staved layout such as a ChoirStaff, for example, when adding a second verse to a repeated section. By default the temporary lyrics context will be placed beneath the lower staves. By defining the temporary lyrics context with alignBelowContext it can be positioned correctly beneath the (named) lyrics context containing the first verse.\n\nExamples showing this repositioning of temporary contexts can be found elsewhere — see Nesting music expressions, Modifying single staves and Techniques specific to lyrics.' , } , { label : "\\alignBelowContext" , detail : "Simple repeats" , documentation : 'However, if this construct is embedded within a multi-staved context such as a ChoirStaff the lyrics of the second and third verses will appear beneath the bottom staff.\n\nTo position them correctly use alignBelowContext:\n\n    \\score {\n      <<\n        \\new Staff {\n          \\new Voice = "melody" {\n            \\relative c\'\' {\n    \t  a4 a a a\n    \t  \\repeat volta 3 { b4 b b b }\n              c4 c c c\n    \t}\n          }\n        }\n        \\new Lyrics = "firstVerse" \\lyricsto "melody" {\n          Not re -- peat -- ed.\n          <<\n            { The first time words.\t}\n    \t\\new Lyrics = "secondVerse"\n            \\with { alignBelowContext = #"firstVerse" } {\n    \t  \\set associatedVoice = "melody"\n    \t  Sec -- ond time words.\n    \t}\n    \t\\new Lyrics = "thirdVerse"\n            \\with { alignBelowContext = #"secondVerse" } {\n    \t  \\set associatedVoice = "melody"\n    \t  The third time words.\n    \t}\n          >>\n          The end sec -- tion.\n        }\n        \\new Voice = "harmony" {\n          \\relative c\' {\n            f4 f f f \\repeat volta 2 { g8 g g4 g2 } a4 a8. a16 a2\n          }\n        }\n      >>\n    }' , } , { label : "\\alignBelowContext" , detail : "5.1.7 Context layout order" , documentation : 'Sometimes a context is required to exist for just a brief period, a good example being the staff context for an ossia. This is usually achieved by introducing the context definition at the appropriate place in parallel with corresponding section of the main music. By default, the temporary context will be placed below all the existing contexts. To reposition it above the context called “main”, it should be defined like this:\n\n    \\new Staff \\with { alignAboveContext = #"main" } \n\nA similar situation arises when positioning a temporary lyrics context within a multi-staved layout such as a ChoirStaff, for example, when adding a second verse to a repeated section. By default the temporary lyrics context will be placed beneath the lower staves. By defining the temporary lyrics context with alignBelowContext it can be positioned correctly beneath the (named) lyrics context containing the first verse.\n\nExamples showing this repositioning of temporary contexts can be found elsewhere — see Nesting music expressions, Modifying single staves and Techniques specific to lyrics.' , } , { label : "\\allowPageTurn" , detail : "A.18 Available music functions" , documentation : "Allow a page turn. May be used at toplevel (ie between scores or markups), or inside a score." , } , { label : "\\allowVoltaHook" , detail : "A.18 Available music functions" , documentation : "(undocumented; fixme)" , } , { label : "\\alterBroken" , detail : "A.18 Available music functions" , documentation : "Override property for pieces of broken spanner item with values arg. item may either be music in the form of a starting spanner event, or a symbol list in the form ‘Context.Grob’ or just ‘Grob’. Iff item is in the form of a spanner event, property may also have the form ‘Grob.property’ for specifying a directed tweak." , } , { label : "\\annotate-spacing" , detail : "4.6.1 Displaying spacing" , documentation : "To graphically display the dimensions of vertical layout variables that may be altered for page formatting, set annotate-spacing in the \\paper block:\n\n    \\book {\n      \\score { { c4 } }\n      \\paper { annotate-spacing = ##t }\n    }\n\nAll layout dimensions are displayed in staff-spaces, regardless of the units specified in the \\paper or \\layout block. In the above example, paper-height has a value of 59.75 staff-spaces, and the staff-size is 20 points (the default value). Note that:\n\n1 point\t= (25.4/72.27) mm\n1 staff-space\t= (staff-size)/4 pts\n= (staff-size)/4 * (25.4/72.27) mm\n\n\nIn this case, one staff-space is approximately equal to 1.757mm. Thus the paper-height measurement of 59.75 staff-spaces is equivalent to 105 millimeters, the height of a6 paper in landscape orientation. The pairs (a,b) are intervals, where a is the lower edge and b the upper edge of the interval." , } , { label : "\\appendToTag" , detail : "A.18 Available music functions" , documentation : "Append more to the elements of all music expressions in music that are tagged with tag." , } , { label : "\\applyContext" , detail : "A.18 Available music functions" , documentation : "Modify context properties with Scheme procedure proc." , } , { label : "\\applyMusic" , detail : "A.18 Available music functions" , documentation : "Apply procedure func to music." , } , { label : "\\applyOutput" , detail : "A.18 Available music functions" , documentation : "Apply function proc to every layout object in context ctx" , } , { label : "\\appoggiatura" , detail : "A.18 Available music functions" , documentation : "Create an appoggiatura from music" , } , { label : "\\arpeggio" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioArrowDown" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioArrowUp" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioBracket" , detail : "Arpeggio" , documentation : "Special bracketed arpeggio symbols can be created:\n\n    <c e g c>2\n    \\arpeggioBracket\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesis\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesisDashed\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio\n\nThe dash properties of the parenthesis arpeggio are controlled with the 'dash-details property, which is described at Slurs.\n\nArpeggios can be explicitly written out with ties. For more information, see Ties." , } , { label : "\\arpeggioNormal" , detail : "Arpeggio" , documentation : "An arpeggio on a chord (also known as a broken chord) is denoted by appending \\arpeggio to the chord construct:\n\n    <c e g c>1\\arpeggio\n\nDifferent types of arpeggios may be written. \\arpeggioNormal reverts to a normal arpeggio:\n\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowUp\n    <c e g c>2\\arpeggio\n    \\arpeggioArrowDown\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio" , } , { label : "\\arpeggioParenthesis" , detail : "Arpeggio" , documentation : "Special bracketed arpeggio symbols can be created:\n\n    <c e g c>2\n    \\arpeggioBracket\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesis\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesisDashed\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio\n\nThe dash properties of the parenthesis arpeggio are controlled with the 'dash-details property, which is described at Slurs.\n\nArpeggios can be explicitly written out with ties. For more information, see Ties." , } , { label : "\\arpeggioParenthesisDashed" , detail : "Arpeggio" , documentation : "Special bracketed arpeggio symbols can be created:\n\n    <c e g c>2\n    \\arpeggioBracket\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesis\n    <c e g c>2\\arpeggio\n    \\arpeggioParenthesisDashed\n    <c e g c>2\\arpeggio\n    \\arpeggioNormal\n    <c e g c>2\\arpeggio\n\nThe dash properties of the parenthesis arpeggio are controlled with the 'dash-details property, which is described at Slurs.\n\nArpeggios can be explicitly written out with ties. For more information, see Ties." , } , { label : "\\arrow-head" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\assertBeamQuant" , detail : "A.18 Available music functions" , documentation : "Testing function: check whether the beam quants l and r are correct" , } , { label : "\\assertBeamSlope" , detail : "A.18 Available music functions" , documentation : "Testing function: check whether the slope of the beam is the same as comp" , } , { label : "\\aug" , detail : "Common chords" , documentation : "The table below shows the actions of the quality modifiers on triads and seventh chords. The default seventh step added to chords is a minor or flatted seventh, which makes the dominant seventh the basic seventh chord. All alterations are relative to the dominant seventh. A more complete table of modifier usage is found at Common chord modifiers.\n\nModifier\tAction\tExample\nNone\tThe default action; produces a major triad.\t\n \n\nm, m7\tThe minor chord. This modifier lowers the 3rd.\t\n \n\ndim, dim7\tThe diminished chord. This modifier lowers the 3rd, 5th and (if present) the 7th step.\t\n \n\naug\tThe augmented chord. This modifier raises the 5th step.\t\n \n\nmaj, maj7\tThe major 7th chord. This modifier adds a raised 7th step. The 7 following maj is optional. Do NOT use this modifier to create a major triad.\t\n \n\n" , } , { label : "\\auto-first-page-number" , detail : "\\paper variables for page numbering" , documentation : "The page breaking algorithm is affected by the first page number being odd or even. If set to true, the page breaking algorithm will decide whether to start with an odd or even number. This will result in the first page number remaining as is or being increased by one. Default: #f." , } , { label : "\\autoBeaming" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\autoBeaming" , detail : "Output definitions - blueprints for contexts" , documentation : "Some settings affect several outputs: for example, if autoBeaming is turned off in some context, beams count as melismata for the purpose of matching music to lyrics as described in Automatic syllable durations. This matching is done both for printed output as well as for Midi. If changes made to autoBeaming within a context definition of a \\layout block are not repeated in the corresponding \\midi block, lyrics and music will get out of sync in Midi." , } , { label : "\\autoBeamOff" , detail : "Automatic beams" , documentation : "If these automatic decisions are not satisfactory, beaming can be entered explicitly; see Manual beams. Beams must be entered manually if beams are to be extended over rests.\n\nIf automatic beaming is not required, it may be turned off with \\autoBeamOff and on with \\autoBeamOn:\n\n    c4 c8 c8. c16 c8. c16 c8\n    \\autoBeamOff\n    c4 c8 c8. c16 c8.\n    \\autoBeamOn\n    c16 c8" , } , { label : "\\autoBeamOn" , detail : "Automatic beams" , documentation : "If these automatic decisions are not satisfactory, beaming can be entered explicitly; see Manual beams. Beams must be entered manually if beams are to be extended over rests.\n\nIf automatic beaming is not required, it may be turned off with \\autoBeamOff and on with \\autoBeamOn:\n\n    c4 c8 c8. c16 c8. c16 c8\n    \\autoBeamOff\n    c4 c8 c8. c16 c8.\n    \\autoBeamOn\n    c16 c8" , } , { label : "\\autochange" , detail : "Changing staff automatically" , documentation : 'Voices can be made to switch automatically between the top and the bottom staff. The syntax for this is\n\n    \\autochange …music…\n\nThis will create two staves inside the current staff group (usually a PianoStaff), called "up" and "down". The lower staff will be in the bass clef by default. The autochanger switches on the basis of the pitch (middle C is the turning point), and it looks ahead skipping over rests to switch in advance.\n\n    \\new PianoStaff {\n      \\autochange {\n        g4 a b c\'\n        d\'4 r a g\n      }\n    }' , } , { label : "\\autochange" , detail : "A.18 Available music functions" , documentation : "Make voices that switch between staves automatically" , } , { label : "\\balloonGrobText" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonGrobText" , detail : "A.18 Available music functions" , documentation : "Attach text to grob-name at offset offset (use like \\once)" , } , { label : "\\balloonLengthOff" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonLengthOn" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonText" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\balloonText" , detail : "A.18 Available music functions" , documentation : "Attach text at offset (use like \\tweak)" , } , { label : "Balloon_engraver" , detail : "Balloon help" , documentation : "Elements of notation can be marked and named with the help of a square balloon. The primary purpose of this feature is to explain notation.\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }\n\nThere are two music functions, balloonGrobText and balloonText; the former is used like \\once \\override to attach text to any grob, and the latter is used like \\tweak, typically within chords, to attach text to an individual note.\n\nBalloon text does not influence note spacing, but this can be altered:\n\n    \\new Voice \\with { \\consists \"Balloon_engraver\" }\n    {\n      \\balloonGrobText #'Stem #'(3 . 4) \\markup { \"I'm a Stem\" }\n      a8\n      \\balloonGrobText #'Rest #'(-4 . -4) \\markup { \"I'm a rest\" }\n      r\n      \\balloonLengthOn\n      <c, g'-\\balloonText #'(-2 . -2) \\markup { \"I'm a note head\" } c>2.\n    }" , } , { label : "\\banjo-c-tuning" , detail : "Banjo tablatures" , documentation : "A number of common tunings for the five-string banjo are predefined: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).\n\nThese may be converted to four-string tunings using the four-string-banjo function:\n\n    \\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)" , } , { label : "\\banjo-modal-tuning" , detail : "Banjo tablatures" , documentation : "A number of common tunings for the five-string banjo are predefined: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).\n\nThese may be converted to four-string tunings using the four-string-banjo function:\n\n    \\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)" , } , { label : "\\banjo-open-d-tuning" , detail : "Banjo tablatures" , documentation : "A number of common tunings for the five-string banjo are predefined: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).\n\nThese may be converted to four-string tunings using the four-string-banjo function:\n\n    \\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)" , } , { label : "\\banjo-open-dm-tuning" , detail : "Banjo tablatures" , documentation : "A number of common tunings for the five-string banjo are predefined: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).\n\nThese may be converted to four-string tunings using the four-string-banjo function:\n\n    \\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)" , } , { label : "\\bar" , detail : "Bar lines" , documentation : 'Bar lines delimit measures, and are also used to indicate repeats. Normally, simple bar lines are automatically inserted into the printed output at places based on the current time signature.\n\nThe simple bar lines inserted automatically can be changed to other types with the \\bar command. For example, a closing double bar line is usually placed at the end of a piece:\n\n    e4 d c2 \\bar "|."\n\nIt is not invalid if the final note in a measure does not end on the automatically entered bar line: the note is assumed to carry over into the next measure. But if a long sequence of such carry-over measures appears the music can appear compressed or even flowing off the page. This is because automatic line breaks happen only at the end of complete measures, i.e., where all notes end before the end of a measure.\n\nNote: An incorrect duration can cause line breaks to be inhibited, leading to a line of highly compressed music or music which flows off the page.\n\n' , } , { label : "\\bar" , detail : "Bar lines" , documentation : 'The command ‘\\bar bartype’ is a shortcut for ‘\\set Timing.whichBar = bartype’. A bar line is created whenever the whichBar property is set.\n\nThe default bar type used for automatically inserted bar lines is "|". This may be changed at any time with ‘\\set Timing.defaultBarType = bartype’.' , } , { label : "\\bar" , detail : "A.18 Available music functions" , documentation : "Insert a bar line of type type" , } , { label : "\\barCheckSynchronize" , detail : "Bar and bar number checks" , documentation : "Bar checks help detect errors in the entered durations. A bar check may be entered using the bar symbol, |, at any place where a bar line is expected to fall. If bar check lines are encountered at other places, a list of warnings is printed in the log file, showing the line numbers and lines in which the bar checks failed. In the next example, the second bar check will signal an error.\n\n    \\time 3/4 c2 e4 | g2 |\n\nBar checks can also be used in lyrics:\n\n    \\lyricmode {\n      \\time 2/4\n      Twin -- kle | Twin -- kle |\n    }\n\nAn incorrect duration can result in a completely garbled score, especially if the score is polyphonic, so a good place to start correcting input is by scanning for failed bar checks and incorrect durations.\n\nIf successive bar checks are off by the same musical interval, only the first warning message is displayed. This allows the warning to focus on the source of the timing error." , } , { label : "BarNumber" , detail : "Bar numbers" , documentation : 'Bar numbers can be typeset at regular intervals instead of just at the beginning of every line. To do this the default behavior must be overridden to permit bar numbers to be printed at places other than the start of a line. This is controlled by the break-visibility property of BarNumber. This takes three values which may be set to #t or #f to specify whether the corresponding bar number is visible or not. The order of the three values is end of line visible, middle of line visible, beginning of line visible. In the following example bar numbers are printed at all possible places:\n\n    \\override Score.BarNumber.break-visibility = ##(#t #t #t)\n    \\set Score.currentBarNumber = #11\n    % Permit first bar number to be printed\n    \\bar ""\n    c1 | c | c | c\n    \\break\n    c1 | c | c | c' , } , { label : "\\barNumberCheck" , detail : "Bar and bar number checks" , documentation : "When copying large pieces of music, it can be helpful to check that the LilyPond bar number corresponds to the original that you are entering from. This can be checked with \\barNumberCheck, for example,\n\n\\barNumberCheck #123\n\n\nwill print a warning if the currentBarNumber is not 123 when it is processed." , } , { label : "\\barNumberCheck" , detail : "A.18 Available music functions" , documentation : "Print a warning if the current bar number is not n." , } , { label : "\\barNumberVisibility" , detail : "Bar numbers" , documentation : 'Bar numbers can be typeset at regular intervals instead of just at the beginning of every line. To do this the default behavior must be overridden to permit bar numbers to be printed at places other than the start of a line. This is controlled by the break-visibility property of BarNumber. This takes three values which may be set to #t or #f to specify whether the corresponding bar number is visible or not. The order of the three values is end of line visible, middle of line visible, beginning of line visible. In the following example bar numbers are printed at all possible places:\n\n    \\override Score.BarNumber.break-visibility = ##(#t #t #t)\n    \\set Score.currentBarNumber = #11\n    % Permit first bar number to be printed\n    \\bar ""\n    c1 | c | c | c\n    \\break\n    c1 | c | c | c' , } , { label : "\\bartype" , detail : "Bar lines" , documentation : 'The command ‘\\bar bartype’ is a shortcut for ‘\\set Timing.whichBar = bartype’. A bar line is created whenever the whichBar property is set.\n\nThe default bar type used for automatically inserted bar lines is "|". This may be changed at any time with ‘\\set Timing.defaultBarType = bartype’.' , } , { label : "\\base-shortest-duration" , detail : "4.5.1 Horizontal spacing overview" , documentation : "Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:\n\n    c2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c\n\nIn the Essay on automated music engraving, it was explained that stem directions influence spacing (see Optical spacing). This is controlled with the stem-spacing-correction property in the NoteSpacing, object. These are generated for every Voice context. The StaffSpacing object (generated in Staff context) contains the same property for controlling the stem/bar line spacing. The following example shows these corrections, once with default settings, and once with exaggerated corrections:\n\nProportional notation is supported; see Proportional notation." , } , { label : "\\baseMoment" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\beamExceptions" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\beatStructure" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\bendAfter" , detail : "Falls and doits" , documentation : "Falls and doits can be added to notes using the \\bendAfter command. The direction of the fall or doit is indicated with a plus or minus (up or down). The number indicates the pitch interval that the fall or doit will extend beyond the main note.\n\n    c2\\bendAfter #+4\n    c2\\bendAfter #-4\n    c2\\bendAfter #+6.5\n    c2\\bendAfter #-6.5\n    c2\\bendAfter #+8\n    c2\\bendAfter #-8" , } , { label : "\\bendAfter" , detail : "A.18 Available music functions" , documentation : "Create a fall or doit of pitch interval delta." , } , { label : "\\binding-offset" , detail : "\\paper variables for two-sided mode" , documentation : "The amount inner-margin is increased to make sure nothing will be hidden by the binding. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true." , } , { label : "\\blank-after-score-page-penalty" , detail : "\\paper variables for page breaking" , documentation : "The penalty for having a blank page after the end of one score and before the next. By default, this is smaller than blank-page-penalty, so that blank pages after scores are inserted in preference to blank pages within a score. Default: 2." , } , { label : "\\blank-last-page-penalty" , detail : "\\paper variables for page breaking" , documentation : "The penalty for ending the score on an even-numbered page. If blank-last-page-penalty is large and ly:page-turn-breaking is selected, then LilyPond will be less likely to produce a score in which the last page is even-numbered. Instead, it will adjust the spacing in order to use one page more or one page less. Default: 0." , } , { label : "\\blank-page-penalty" , detail : "\\paper variables for page breaking" , documentation : "The penalty for having a blank page in the middle of a score. If blank-page-penalty is large and ly:page-turn-breaking is selected, then LilyPond will be less likely to insert a page in the middle of a score. Instead, it will space out the music further to fill the blank page and the following one. Default: 5." , } , { label : "\\bold" , detail : "Selecting font and font size" , documentation : "Basic font switching is supported in markup mode:\n\n    d1^\\markup {\n      \\bold { Più mosso }\n      \\italic { non troppo \\underline Vivo }\n    }\n    r2 r4 r8\n    d,_\\markup { \\italic quasi \\smallCaps Tromba }\n    f1 d2 r" , } , { label : "\\bookOutputName" , detail : "A.18 Available music functions" , documentation : "Direct output for the current book block to newfilename." , } , { label : "\\bookOutputSuffix" , detail : "A.18 Available music functions" , documentation : "Set the output filename suffix for the current book block to newsuffix." , } , { label : "\\bookTitleMarkup" , detail : "Custom layout for titles" , documentation : '\\markup commands in the \\header block are useful for simple text formatting, but they do not allow precise control over the placement of titles. To customize the placement of the text fields, change either or both of the following \\paper variables:\n\n - bookTitleMarkup\n - scoreTitleMarkup\n\nThe placement of titles when using the default values of these \\markup variables is shown in the examples in Default layout of bookpart and score titles.\n\nThe default settings for scoreTitleMarkup as defined in ‘ly/titling-init.ly’ are:\n\n    scoreTitleMarkup = \\markup { \\column {\n      \\on-the-fly \\print-all-headers { \\bookTitleMarkup \\hspace #1 }\n      \\fill-line {\n        \\fromproperty #\'header:piece\n        \\fromproperty #\'header:opus\n      }\n    }\n    }\n\nThis places the piece and opus text fields at opposite ends of the same line:\n\n    \\score {\n      { s1 }\n      \\header {\n        piece = "PRAELUDIUM I"\n        opus = "BWV 846"\n      }\n    }\n\nThis example redefines scoreTitleMarkup so that the piece text field is centered and in a large, bold font.\n\n    \\book {\n      \\paper {\n        indent = 0\\mm\n        scoreTitleMarkup = \\markup {\n          \\fill-line {\n            \\null\n            \\fontsize #4 \\bold \\fromproperty #\'header:piece\n            \\fromproperty #\'header:opus\n          }\n        }\n      }\n      \\header { tagline = ##f }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "PRAELUDIUM I"\n          opus = "BWV 846"\n        }\n      }\n    }\n\nText fields not normally effective in score \\header blocks can be printed in the Score Title area if print-all-headers is placed inside the \\paper block. A disadvantage of using this method is that text fields that are intended specifically for the Bookpart Title area need to be manually suppressed in every \\score block. See Titles explained.\n\nTo avoid this, add the desired text field to the scoreTitleMarkup definition. In the following example, the composer text field (normally associated with bookTitleMarkup) is added to scoreTitleMarkup, allowing each score to list a different composer:\n\n    \\book {\n      \\paper {\n        indent = 0\\mm\n        scoreTitleMarkup = \\markup {\n          \\fill-line {\n            \\null\n            \\fontsize #4 \\bold \\fromproperty #\'header:piece\n            \\fromproperty #\'header:composer\n          }\n        }\n      }\n      \\header { tagline = ##f }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "MENUET"\n          composer = "Christian Petzold"\n        }\n      }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "RONDEAU"\n          composer = "François Couperin"\n        }\n      }\n    }\n\nIt is also possible to create your own custom text fields, and refer to them in the markup definition.\n\n    \\book {\n      \\paper {\n        indent = 0\\mm\n        scoreTitleMarkup = \\markup {\n          \\fill-line {\n            \\null\n            \\override #`(direction . ,UP) {\n              \\dir-column {\n                \\center-align \\fontsize #-1 \\bold\n                  \\fromproperty #\'header:mycustomtext %% User-defined field\n                \\center-align \\fontsize #4 \\bold\n                  \\fromproperty #\'header:piece\n              }\n            }\n            \\fromproperty #\'header:opus\n          }\n        }\n      }\n      \\header { tagline = ##f }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "FUGA I"\n          mycustomtext = "A 4 VOCI" %% User-defined field\n          opus = "BWV 846"\n        }\n      }\n    }' , } , { label : "\\bottom-margin" , detail : "4.1.3 Fixed vertical spacing \\paper variables" , documentation : "The margin between the bottom of the printable area and the bottom of the page. If the paper size is modified, this dimension’s default value is scaled accordingly." , } , { label : "\\box" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\bracket" , detail : "New dynamic marks" , documentation : "In markup mode, editorial dynamics (within parentheses or square brackets) can be created. The syntax for markup mode is described in Formatting text.\n\n    roundF = \\markup {\n        \\center-align \\concat { \\bold { \\italic ( }\n               \\dynamic f \\bold { \\italic ) } } }\n    boxF = \\markup { \\bracket { \\dynamic f } }\n    \\relative c' {\n      c1_\\roundF\n      c1_\\boxF\n    }" , } , { label : "\\bracket" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\bracket" , detail : "Piano pedals" , documentation : "There are three styles of pedal indications: text, bracket, and mixed. The sustain pedal and the una corda pedal use the text style by default while the sostenuto pedal uses mixed by default.\n\n    c4\\sustainOn g c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'mixed\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'bracket\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\n    \\bar \"|.\"\n\nThe placement of the pedal commands matches the physical movement of the sustain pedal during piano performance. Pedalling to the final bar line is indicated by omitting the final pedal off command.\n\nPedal indications may be placed in a Dynamics context, which aligns them on a horizontal line." , } , { label : "\\breakable" , detail : "Predefined commands" , documentation : "Beams across line breaks\n\nLine breaks are normally forbidden when beams cross bar lines. This behavior can be changed as shown:\n\n    \\relative c'' {\n      \\override Beam.breakable = ##t\n      c8 c[ c] c[ c] c[ c] c[ \\break\n      c8] c[ c] c[ c] c[ c] c\n    }\n\nChanging beam knee gap\n\nKneed beams are inserted automatically when a large gap is detected between the note heads. This behavior can be tuned through the auto-knee-gap property. A kneed beam is drawn if the gap is larger than the value of auto-knee-gap plus the width of the beam object (which depends on the duration of the notes and the slope of the beam). By default auto-knee-gap is set to 5.5 staff spaces.\n\n    {\n      f8 f''8 f8 f''8\n      \\override Beam.auto-knee-gap = #6\n      f8 f''8 f8 f''8\n    }" , } , { label : "\\breathe" , detail : "Breath marks" , documentation : "Breath marks are entered using \\breathe:\n\n    c2. \\breathe d4\n\nA breath mark will end an automatic beam; to override this behavior, see Manual beams.\n\n    c8 \\breathe d e f g2\n\nMusical indicators for breath marks in ancient notation, divisiones, are supported. For details, see Divisiones." , } , { label : "\\breathe" , detail : "A.18 Available music functions" , documentation : "Insert a breath mark." , } , { label : "\\breve" , detail : "Durations" , documentation : "Durations are designated by numbers and dots. Durations are entered as their reciprocal values. For example, a quarter note is entered using a 4 (since it is a 1/4 note), and a half note is entered using a 2 (since it is a 1/2 note). For notes longer than a whole you must use the \\longa (a double breve) and \\breve commands. Durations as short as 128th notes may be specified. Shorter values are possible, but only as beamed notes.\n\n    \\time 8/1\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nHere are the same durations with automatic beaming turned off.\n\n    \\time 8/1\n    \\autoBeamOff\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nA note with the duration of a quadruple breve may be entered with \\maxima, but this is supported only within ancient music notation. For details, see Ancient notation." , } , { label : "\\breve" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\cadenzaOff" , detail : "Unmetered music" , documentation : 'In metered music bar lines are inserted and bar numbers are calculated automatically. In unmetered music (i.e. cadenzas), this is not desirable and can be ‘switched off’ using the command \\cadenzaOn, then ‘switched back on’ at the appropriate place using \\cadenzaOff.\n\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nBar numbering is resumed at the end of the cadenza.\n\n    % Show all bar numbers\n    \\override Score.BarNumber.break-visibility = #all-visible\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nInserting a \\bar command within a cadenza does not start a new measure, even if a bar line is printed. So any accidentals – which are usually assumed to remain in force until the end of the measure – will still be valid after the bar line printed by \\bar. If subsequent accidentals should be printed, forced accidentals or reminder accidentals need to be inserted manually, see Accidentals.\n\n    c4 d e d\n    \\cadenzaOn\n    cis4 d cis d\n    \\bar "|"\n    % First cis is printed without alteration even if it\'s after a \\bar\n    cis4 d cis! d\n    \\cadenzaOff\n    \\bar "|"\n\nAutomatic beaming is disabled by \\cadenzaOn. Therefore, all beaming in cadenzas must be entered manually. See Manual beams.\n\n    \\repeat unfold 8 { c8 }\n    \\cadenzaOn\n    cis8 c c c c\n    \\bar"|"\n    c8 c c\n    \\cadenzaOff\n    \\repeat unfold 8 { c8 }\n\nThese predefined commands affect all staves in the score, even when placed in just one Voice context. To change this, move the Timing_translator from the Score context to the Staff context. See Polymetric notation.' , } , { label : "\\cadenzaOn" , detail : "Unmetered music" , documentation : 'In metered music bar lines are inserted and bar numbers are calculated automatically. In unmetered music (i.e. cadenzas), this is not desirable and can be ‘switched off’ using the command \\cadenzaOn, then ‘switched back on’ at the appropriate place using \\cadenzaOff.\n\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nBar numbering is resumed at the end of the cadenza.\n\n    % Show all bar numbers\n    \\override Score.BarNumber.break-visibility = #all-visible\n    c4 d e d\n    \\cadenzaOn\n    c4 c d8[ d d] f4 g4.\n    \\cadenzaOff\n    \\bar "|"\n    d4 e d c\n\nInserting a \\bar command within a cadenza does not start a new measure, even if a bar line is printed. So any accidentals – which are usually assumed to remain in force until the end of the measure – will still be valid after the bar line printed by \\bar. If subsequent accidentals should be printed, forced accidentals or reminder accidentals need to be inserted manually, see Accidentals.\n\n    c4 d e d\n    \\cadenzaOn\n    cis4 d cis d\n    \\bar "|"\n    % First cis is printed without alteration even if it\'s after a \\bar\n    cis4 d cis! d\n    \\cadenzaOff\n    \\bar "|"\n\nAutomatic beaming is disabled by \\cadenzaOn. Therefore, all beaming in cadenzas must be entered manually. See Manual beams.\n\n    \\repeat unfold 8 { c8 }\n    \\cadenzaOn\n    cis8 c c c c\n    \\bar"|"\n    c8 c c\n    \\cadenzaOff\n    \\repeat unfold 8 { c8 }\n\nThese predefined commands affect all staves in the score, even when placed in just one Voice context. To change this, move the Timing_translator from the Score context to the Staff context. See Polymetric notation.' , } , { label : "\\center-align" , detail : "Text alignment" , documentation : "Markup objects may be aligned in different ways. By default, a text indication is aligned on its left edge: in the following example, there is no difference between the first and the second markup.\n\n    d1-\\markup { poco }\n    f\n    d-\\markup { \\left-align poco }\n    f\n    d-\\markup { \\center-align { poco } }\n    f\n    d-\\markup { \\right-align poco }" , } , { label : "\\center-column" , detail : "Text alignment" , documentation : 'A markup object may include several lines of text. In the following example, each element or expression is placed on its own line, either left-aligned or centered:\n\n    \\markup {\n      \\column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n      \\hspace #10\n      \\center-column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n    }' , } , { label : "\\change" , detail : "Changing staff manually" , documentation : 'Voices can be switched between staves manually, using the command\n\n    \\change Staff = staffname\n\nThe string staffname is the name of the staff. It switches the current voice from its current staff to the staff called staffname. Typical values for staffname are "up" and "down", or "RH" and "LH".\n\nThe staff to which the voice is being switched must exist at the time of the switch. If necessary, staves should be “kept alive”, see Keeping contexts alive.\n\nCross-staff notes are beamed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "up" {\n        <e\' c\'>8\n        \\change Staff = "down"\n        g8 fis g\n        \\change Staff = "up"\n        <g\'\' c\'\'>8\n        \\change Staff = "down"\n        e8 dis e\n        \\change Staff = "up"\n      }\n      \\new Staff = "down" {\n        \\clef bass\n        % keep staff alive\n        s1\n      }\n    >>\n\nIf the beaming needs to be tweaked, make any changes to the stem directions first. The beam positions are then measured from the center of the staff that is closest to the beam. For a simple example of beam tweaking, see notation Fixing overlapping notation.' , } , { label : "\\check-consistency" , detail : "\\paper variables for widths and margins" , documentation : "If set to true, print a warning if left-margin, line-width, and right-margin do not exactly add up to paper-width, and replace each of these (except paper-width) with its default value (scaled to the paper size if necessary). If set to false, ignore any inconsistencies and allow systems to run off the edge of the page." , } , { label : "\\chordChanges" , detail : "Selected Snippets" , documentation : "Showing chords at changes\n\nChord names can be displayed only at the start of lines and when the chord changes.\n\n    harmonies = \\chordmode {\n      c1:m c:m \\break c:m c:m d\n    }\n    <<\n      \\new ChordNames {\n        \\set chordChanges = ##t\n        \\harmonies\n      }\n      \\new Staff {\n        \\relative c' { \\harmonies }\n      }\n    >>\n\nSimple lead sheet\n\nWhen put together, chord names, a melody, and lyrics form a lead sheet:\n\n    <<\n      \\chords { c2 g:sus4 f e }\n      \\relative c'' {\n        a4 e c8 e r4\n        b2 c4( d)\n      }\n      \\addlyrics { One day this shall be free __ }\n    >>" , } , { label : "\\chordmode" , detail : "Predefined fret diagrams" , documentation : 'It is common that both chord names and fret diagrams are displayed together. This is achieved by putting a ChordNames context in parallel with a FretBoards context and giving both contexts the same music.\n\n    \\include "predefined-guitar-fretboards.ly"\n    mychords = \\chordmode{\n      c1 f g\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>' , } , { label : "\\chordNameExceptions" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\chordNameLowercaseMinor" , detail : "Customizing chord names" , documentation : 'German songbooks may indicate minor chords as lowercase letters, without any m suffix. This can be obtained by setting the chordNameLowercaseMinor property:\n\n    \\chords {\n      \\set chordNameLowercaseMinor = ##t\n      c2 d:m e:m f\n    }\n\nIf none of the existing settings give the desired output, the chord name display can be tuned through the following properties.\n\nchordRootNamer\nThe chord name is usually printed as a letter for the root with an optional alteration. The transformation from pitch to letter is done by this function. Special note names (for example, the German ‘H’ for a B-chord) can be produced by storing a new function in this property.\n\nmajorSevenSymbol\nThis property contains the markup object used to follow the output of chordRootNamer to identify a major 7 chord. Predefined options are whiteTriangleMarkup and blackTriangleMarkup.\n\nadditionalPitchPrefix\nWhen the chord name contains additional pitches, they can optionally be prefixed with some text. The default is no prefix, in order to avoid too much visual clutter, but for small numbers of additional pitches this can be visually effective.\n\n\\new ChordNames {\n  <c e g d\'>    % add9\n  \\set additionalPitchPrefix = #"add"\n  <c e g d\'>    % add9\n}\n \n\nchordNoteNamer\nWhen the chord name contains additional pitches other than the root (e.g., an added bass note), this function is used to print the additional pitch. By default the pitch is printed using chordRootNamer. The chordNoteNamer property can be set to a specialized function to change this behavior. For example, the bass note can be printed in lower case.\n\nchordNameSeparator\nDifferent parts of a chord name are normally separated by a small amount of horizontal space. By setting chordNameSeparator, you can use any desired markup for a separator. This does not affect the separator between a chord and its bass note; to customize that, use slashChordSeparator.\n\n\\chords {\n  c4:7.9- c:7.9-/g\n  \\set chordNameSeparator = \\markup { "/" }\n  \\break\n  c4:7.9- c:7.9-/g\n}\n \n\nslashChordSeparator\nChords can be played over a bass note other than the conventional root of the chord. These are known as “inversions” or “slash chords”, because the default way of notating them is with a forward slash between the main chord and the bass note. Therefore the value of slashChordSeparator defaults to a forward slash, but you can change it to any markup you choose.\n\n\\chords {\n  c4:7.9- c:7.9-/g\n  \\set slashChordSeparator = \\markup { " over " }\n  \\break\n  c4:7.9- c:7.9-/g\n}\n \n\nchordNameExceptions\nThis property is a list of pairs. The first item in each pair is a set of pitches used to identify the steps present in the chord. The second item is a markup that will follow the chordRootNamer output to create the chord name.\n\nminorChordModifier\nMinor chords are often denoted via a ‘m’ suffix to the right of the root of the chord. However some idioms prefer other suffices, such as a minus sign.\n\n\\chords {\n  c4:min f:min7\n  \\set minorChordModifier = \\markup { "-" }\n  \\break\n  c4:min f:min7\n}\n \n\nchordPrefixSpacer\nThe modifier for minor chords as determined by minorChordModifier is usually printed immediately to the right of the root of the chord. A spacer can be placed between the root and the modifier by setting chordPrefixSpacer. The spacer is not used when the root is altered.\n\n' , } , { label : "ChordNames" , detail : "Predefined fret diagrams" , documentation : 'It is common that both chord names and fret diagrams are displayed together. This is achieved by putting a ChordNames context in parallel with a FretBoards context and giving both contexts the same music.\n\n    \\include "predefined-guitar-fretboards.ly"\n    mychords = \\chordmode{\n      c1 f g\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>' , } , { label : "\\chordNameSeparator" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\chordNoteNamer" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\chordPrefixSpacer" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\chordRepeats" , detail : "A.18 Available music functions" , documentation : "Walk through music putting the notes of the previous chord into repeat chords, as well as an optional list of event-types such as #'(string-number-event)." , } , { label : "\\chordRootNamer" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\chords" , detail : "Printing chord names" , documentation : "\\chords { … } is a shortcut notation for \\new ChordNames { \\chordmode { … } }.\n\n    \\chords {\n      c2 f4.:m g8:maj7\n    }\n\n    \\new ChordNames {\n      \\chordmode {\n        c2 f4.:m g8:maj7\n      }\n    }" , } , { label : "\\circle" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\clef" , detail : "Clef" , documentation : "The clef may be altered. Middle C is shown in every example. The following clef names can (but do not need to) be enclosed in quotes.\n\n    \\clef treble\n    c2 c\n    \\clef alto\n    c2 c\n    \\clef tenor\n    c2 c\n    \\clef bass\n    c2 c\n\nOther clefs include:\n\n    \\clef french\n    c2 c\n    \\clef soprano\n    c2 c\n    \\clef mezzosoprano\n    c2 c\n    \\clef baritone\n    c2 c\n    \\break\n    \\clef varbaritone\n    c2 c\n    \\clef subbass\n    c2 c\n    \\clef percussion\n    c2 c\n    \\break\n    \\clef G   % synonym for treble\n    c2 c\n    \\clef F   % synonym for bass\n    c2 c\n    \\clef C   % synonym for alto\n    c2 c" , } , { label : "\\clef" , detail : "A.18 Available music functions" , documentation : "Set the current clef to type." , } , { label : "\\color" , detail : "Coloring objects" , documentation : 'Individual objects may be assigned colors. Valid color names are listed in the List of colors.\n\n    \\override NoteHead.color = #red\n    c4 c\n    \\override NoteHead.color = #(x11-color \'LimeGreen)\n    d\n    \\override Stem.color = #blue\n    e\n\nThe full range of colors defined for X11 can be accessed by using the Scheme function x11-color. The function takes one argument; this can be a symbol in the form \'FooBar or a string in the form "FooBar". The first form is quicker to write and is more efficient. However, using the second form it is possible to access X11 colors by the multi-word form of its name.\n\nIf x11-color cannot make sense of the parameter then the color returned defaults to black.\n\n    \\override Staff.StaffSymbol.color = #(x11-color \'SlateBlue2)\n    \\set Staff.instrumentName = \\markup {\n      \\with-color #(x11-color \'navy) "Clarinet"\n    }\n    gis8 a\n    \\override Beam.color = #(x11-color "medium turquoise")\n    gis a\n    \\override Accidental.color = #(x11-color \'DarkRed)\n    gis a\n    \\override NoteHead.color = #(x11-color "LimeGreen")\n    gis a\n    % this is deliberate nonsense; note that the stems remain black\n    \\override Stem.color = #(x11-color \'Boggle)\n    b2 cis' , } , { label : "\\column" , detail : "Text alignment" , documentation : 'A markup object may include several lines of text. In the following example, each element or expression is placed on its own line, either left-aligned or centered:\n\n    \\markup {\n      \\column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n      \\hspace #10\n      \\center-column {\n        a\n        "b c"\n        \\line { d e f }\n      }\n    }' , } , { label : "\\combine" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\common-shortest-duration" , detail : "4.5.1 Horizontal spacing overview" , documentation : "Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:\n\n    c2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c\n\nIn the Essay on automated music engraving, it was explained that stem directions influence spacing (see Optical spacing). This is controlled with the stem-spacing-correction property in the NoteSpacing, object. These are generated for every Voice context. The StaffSpacing object (generated in Staff context) contains the same property for controlling the stem/bar line spacing. The following example shows these corrections, once with default settings, and once with exaggerated corrections:\n\nProportional notation is supported; see Proportional notation." , } , { label : "Completion_heads_engraver" , detail : "Automatic note splitting" , documentation : 'Long notes which overrun bar lines can be converted automatically to tied notes. This is done by replacing the Note_heads_engraver with the Completion_heads_engraver. Similarly, long rests which overrun bar lines are split automatically by replacing the Rest_engraver with the Completion_rest_engraver. In the following example, notes and rests crossing the bar lines are split, notes are also tied.\n\n    \\new Voice \\with {\n      \\remove "Note_heads_engraver"\n      \\consists "Completion_heads_engraver"\n      \\remove "Rest_engraver"\n      \\consists "Completion_rest_engraver"\n    }\n    { c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }\n\nThese engravers split all running notes and rests at the bar line, and inserts ties for notes. One of its uses is to debug complex scores: if the measures are not entirely filled, then the ties show exactly how much each measure is off.' , } , { label : "Completion_rest_engraver" , detail : "Automatic note splitting" , documentation : 'Long notes which overrun bar lines can be converted automatically to tied notes. This is done by replacing the Note_heads_engraver with the Completion_heads_engraver. Similarly, long rests which overrun bar lines are split automatically by replacing the Rest_engraver with the Completion_rest_engraver. In the following example, notes and rests crossing the bar lines are split, notes are also tied.\n\n    \\new Voice \\with {\n      \\remove "Note_heads_engraver"\n      \\consists "Completion_heads_engraver"\n      \\remove "Rest_engraver"\n      \\consists "Completion_rest_engraver"\n    }\n    { c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }\n\nThese engravers split all running notes and rests at the bar line, and inserts ties for notes. One of its uses is to debug complex scores: if the measures are not entirely filled, then the ties show exactly how much each measure is off.' , } , { label : "\\compoundMeter" , detail : "A.18 Available music functions" , documentation : "Create compound time signatures. The argument is a Scheme list of lists. Each list describes one fraction, with the last entry being the denominator, while the first entries describe the summands in the enumerator. If the time signature consists of just one fraction, the list can be given directly, i.e. not as a list containing a single list. For example, a time signature of (3+1)/8 + 2/4 would be created as \\compoundMeter #'((3 1 8) (2 4)), and a time signature of (3+2)/8 as \\compoundMeter #'((3 2 8)) or shorter \\compoundMeter #'(3 2 8)." , } , { label : "\\compressFullBarRests" , detail : "Full measure rests" , documentation : "By default a multi-measure rest is expanded in the printed score to show all the rest measures explicitly. Alternatively, a multi-measure rest can be shown as a single measure containing a multi-measure rest symbol, with the number of measures of rest printed above the measure:\n\n    % Default behavior\n    \\time 3/4 r2. | R2.*2 |\n    \\time 2/4 R2 |\n    \\time 4/4\n    % Rest measures contracted to single measure\n    \\compressFullBarRests\n    r1 | R1*17 | R1*4 |\n    % Rest measures expanded\n    \\expandFullBarRests\n    \\time 3/4\n    R2.*2 |" , } , { label : "\\compressFullBarRests" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\consists" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\controlpitch" , detail : "Octave checks" , documentation : "In relative mode, it is easy to forget an octave changing mark. Octave checks make such errors easier to find by displaying a warning and correcting the octave if a note is found in an unexpected octave.\n\nTo check the octave of a note, specify the absolute octave after the = symbol. This example will generate a warning (and change the pitch) because the second note is the absolute octave d'' instead of d' as indicated by the octave correction.\n\n    \\relative c'' {\n      c2 d='4 d\n      e2 f\n    }\n\nThe octave of notes may also be checked with the \\octaveCheck controlpitch command. controlpitch is specified in absolute mode. This checks that the interval between the previous note and the controlpitch is within a fourth (i.e., the normal calculation of relative mode). If this check fails, a warning is printed, but the previous note is not changed. Future notes are relative to the controlpitch.\n\n    \\relative c'' {\n      c2 d\n      \\octaveCheck c'\n      e2 f\n    }\n\nCompare the two bars below. The first and third \\octaveCheck checks fail, but the second one does not fail.\n\n    \\relative c'' {\n      c4 f g f\n      c4\n      \\octaveCheck c'\n      f\n      \\octaveCheck c'\n      g\n      \\octaveCheck c'\n      f\n    }" , } , { label : "\\cr" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\cresc" , detail : "Dynamics" , documentation : "Textual crescendo marks begin with \\cresc. Textual decrescendos begin with \\decresc or \\dim. Extender lines are engraved as required.\n\n    g8\\cresc a b c b c d e\\mf |\n    f8\\decresc e d c e\\> d c b |\n    a1\\dim ~ |\n    a2. r4\\! |" , } , { label : "\\crescHairpin" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\crescTextCresc" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\cross" , detail : "Special note heads" , documentation : "The appearance of note heads may be altered:\n\n    c4 b\n    \\override NoteHead.style = #'cross\n    c4 b\n    \\revert NoteHead.style\n    a b\n    \\override NoteHead.style = #'harmonic\n    a b\n    \\revert NoteHead.style\n    c4 d e f\n\nTo see all note head styles, see Note head styles.\n\nThe cross style is used to represent a variety of musical intentions. The following generic predefined commands modify the note head in both staff and tablature contexts and can be used to represent any musical meaning:\n\n    c4 b\n    \\xNotesOn\n     a b c4 b\n    \\xNotesOff\n    c4 d\n\nThe music function form of this predefined command may be used inside and outside chords to generate crossed note heads in both staff and tablature contexts:\n\n    c4 b\n    \\xNote { e f }\n    c b < g \\xNote c f > b\n\nAs synonyms for \\xNote, \\xNotesOn and \\xNotesOff, \\deadNote, \\deadNotesOn and \\deadNotesOff can be used. The term dead note is commonly used by guitarists.\n\nThere is also a similar shorthand for diamond shapes:\n\n    <c f\\harmonic>2 <d a'\\harmonic>4 <c g'\\harmonic> f\\harmonic" , } , { label : "\\crossStaff" , detail : "A.18 Available music functions" , documentation : "Create cross-staff stems" , } , { label : "\\cueClef" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\cueClef" , detail : "A.18 Available music functions" , documentation : "Set the current cue clef to type." , } , { label : "\\cueClefUnset" , detail : "A.18 Available music functions" , documentation : "Unset the current cue clef." , } , { label : "\\cueDuring" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\cueDuring" , detail : "A.18 Available music functions" , documentation : "Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir." , } , { label : "\\cueDuringWithClef" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\cueDuringWithClef" , detail : "A.18 Available music functions" , documentation : "Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir." , } , { label : "\\currentBarNumber" , detail : "Bar numbers" , documentation : "Bar numbers are typeset by default at the start of every line except the first line. The number itself is stored in the currentBarNumber property, which is normally updated automatically for every measure. It may also be set manually:\n\n    c1 c c c\n    \\break\n    \\set Score.currentBarNumber = #50\n    c1 c c c" , } , { label : "\\currentBarNumber" , detail : "Time administration" , documentation : "Time is administered by the Timing_translator, which by default is to be found in the Score context. An alias, Timing, is added to the context in which the Timing_translator is placed. To ensure that the Timing alias is available, you may need to explicitly instantiate the containing context (such as Voice or Staff).\n\nThe following properties of Timing are used to keep track of timing within the score." , } , { label : "\\deadNote" , detail : "A.18 Available music functions" , documentation : "Print note with a cross-shaped note head." , } , { label : "\\decr" , detail : "Dynamics" , documentation : "A crescendo mark is started with \\< and terminated with \\!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \\> and is also terminated with \\!, an absolute dynamic, or another crescendo or decrescendo mark. \\cr and \\decr may be used instead of \\< and \\>. Hairpins are engraved by default using this notation.\n\n    c2\\< c\\!\n    d2\\< d\\f\n    e2\\< e\\>\n    f2\\> f\\!\n    e2\\> e\\mp\n    d2\\> d\\>\n    c1\\!\n\nA hairpin that is terminated with \\! will end at the right edge of the note that has the \\! assigned to it. In the case where it is terminated with the start of another crescendo or decrescendo mark, it will end at the centre of the note that has the next \\< or \\> assigned to it. The next hairpin will then start at the right edge of the same note instead of the usual left edge had it been terminated with \\! before.\n\n    c1\\< | c4 a c\\< a | c4 a c\\! a\\< | c4 a c a\\!\n\nHairpins that are terminated with absolute dynamic marks instead of \\! will also be engraved in a similar way. However, the length of the absolute dynamic itself can alter where the preceding hairpin ends.\n\n    c1\\< | c4 a c\\mf a | c1\\< | c4 a c\\ffff a" , } , { label : "\\decresc" , detail : "Dynamics" , documentation : "Textual crescendo marks begin with \\cresc. Textual decrescendos begin with \\decresc or \\dim. Extender lines are engraved as required.\n\n    g8\\cresc a b c b c d e\\mf |\n    f8\\decresc e d c e\\> d c b |\n    a1\\dim ~ |\n    a2. r4\\! |" , } , { label : "\\default" , detail : "Automatic accidentals" , documentation : "There are many different conventions on how to typeset accidentals. LilyPond provides a function to specify which accidental style to use. This function is called as follows:\n\n    \\new Staff <<\n      \\accidentalStyle voice\n      { … }\n    >>\n\nThe accidental style applies to the current Staff by default (with the exception of the styles piano and piano-cautionary, which are explained below). Optionally, the function can take a second argument that determines in which scope the style should be changed. For example, to use the same style in all staves of the current StaffGroup, use:\n\n    \\accidentalStyle StaffGroup.voice\n\nThe following accidental styles are supported. To demonstrate each style, we use the following example:\n\n    musicA = {\n      <<\n        \\relative c' {\n          cis'8 fis, bes4 <a cis>8 f bis4 |\n          cis2. <c, g'>4 |\n        }\n        \\\\\n        \\relative c' {\n          ais'2 cis, |\n          fis8 b a4 cis2 |\n        }\n      >>\n    }\n    musicB = {\n      \\clef bass\n      \\new Voice {\n        \\voiceTwo \\relative c' {\n          <fis, a cis>8[ <fis a cis>\n          \\change Staff = up\n          cis' cis\n          \\change Staff = down\n          <fis, a> <fis a>]\n          \\showStaffSwitch\n          \\change Staff = up\n          dis'4 |\n          \\change Staff = down\n          <fis, a cis>4 gis <f a d>2 |\n        }\n      }\n    }\n    \\new PianoStaff {\n      <<\n        \\context Staff = \"up\" {\n          \\accidentalStyle default\n          \\musicA\n        }\n        \\context Staff = \"down\" {\n          \\accidentalStyle default\n          \\musicB\n        }\n      >>\n    }\n\nNote that the last lines of this example can be replaced by the following, as long as the same accidental style should be used in both staves.\n\n    \\new PianoStaff {\n      <<\n        \\context Staff = \"up\" {\n          %%% change the next line as desired:\n          \\accidentalStyle Score.default\n          \\musicA\n        }\n        \\context Staff = \"down\" {\n          \\musicB\n        }\n      >>\n    }\n\ndefault\nThis is the default typesetting behavior. It corresponds to eighteenth-century common practice: accidentals are remembered to the end of the measure in which they occur and only in their own octave. Thus, in the example below, no natural signs are printed before the b in the second measure or the last c:\n\n \n\nvoice\nThe normal behavior is to remember the accidentals at Staff-level. In this style, however, accidentals are typeset individually for each voice. Apart from that, the rule is similar to default.\n\nAs a result, accidentals from one voice do not get canceled in other voices, which is often an unwanted result: in the following example, it is hard to determine whether the second a should be played natural or sharp. The voice option should therefore be used only if the voices are to be read solely by individual musicians. If the staff is to be used by one musician (e.g., a conductor or in a piano score) then modern or modern-cautionary should be used instead.\n\n \n\nmodern\nThis rule corresponds to the common practice in the twentieth century. It omits some extra natural signs, which were traditionally prefixed to a sharp following a double sharp, or a flat following a double flat. The modern rule prints the same accidentals as default, with two additions that serve to avoid ambiguity: after temporary accidentals, cancellation marks are printed also in the following measure (for notes in the same octave) and, in the same measure, for notes in other octaves. Hence the naturals before the b and the c in the second measure of the upper staff:\n\n \n\nmodern-cautionary\nThis rule is similar to modern, but the ‘extra’ accidentals (the ones not typeset by default) are typeset as cautionary accidentals. They are by default printed with parentheses, but they can also be printed in reduced size by defining the cautionary-style property of AccidentalSuggestion.\n\n \n\nmodern-voice\nThis rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice, but they are canceled across voices in the same Staff. Hence, the a in the last measure is canceled because the previous cancellation was in a different voice, and the d in the lower staff is canceled because of the accidental in a different voice in the previous measure:\n\n \n\nmodern-voice-cautionary\nThis rule is the same as modern-voice, but with the extra accidentals (the ones not typeset by voice) typeset as cautionaries. Even though all accidentals typeset by default are typeset with this rule, some of them are typeset as cautionaries.\n\n \n\npiano\nThis rule reflects twentieth-century practice for piano notation. Its behavior is very similar to modern style, but here accidentals also get canceled across the staves in the same GrandStaff or PianoStaff, hence all the cancellations of the final notes.\n\nThis accidental style applies to the current GrandStaff or PianoStaff by default.\n\n \n\npiano-cautionary\nThis is the same as piano but with the extra accidentals typeset as cautionaries.\n\n \n\nneo-modern\nThis rule reproduces a common practice in contemporary music: accidentals are printed like with modern, but they are printed again if the same note appears later in the same measure – except if the note is immediately repeated.\n\n \n\nneo-modern-cautionary\nThis rule is similar to neo-modern, but the extra accidentals are printed as cautionary accidentals.\n\n \n\nneo-modern-voice\nThis rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice as with neo-modern, but they are canceled across voices in the same Staff.\n\n \n\nneo-modern-voice-cautionary\nThis rule is similar to neo-modern-voice, but the extra accidentals are printed as cautionary accidentals.\n\n \n\ndodecaphonic\nThis rule reflects a practice introduced by composers at the beginning of the 20th century, in an attempt to abolish the hierarchy between natural and non-natural notes. With this style, every note gets an accidental sign, including natural signs.\n\n \n\nteaching\nThis rule is intended for students, and makes it easy to create scale sheets with automatically created cautionary accidentals. Accidentals are printed like with modern, but cautionary accidentals are added for all sharp or flat tones specified by the key signature, except if the note is immediately repeated.\n\n \n\nno-reset\nThis is the same as default but with accidentals lasting ‘forever’ and not only within the same measure:\n\n \n\nforget\nThis is the opposite of no-reset: Accidentals are not remembered at all – and hence all accidentals are typeset relative to the key signature, regardless of what came before in the music.\n\n \n\n" , } , { label : "\\default" , detail : "Automatic accidentals" , documentation : "This is the default typesetting behavior. It corresponds to eighteenth-century common practice: accidentals are remembered to the end of the measure in which they occur and only in their own octave. Thus, in the example below, no natural signs are printed before the b in the second measure or the last c:" , } , { label : "\\default-staff-staff-spacing" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\defaultBarType" , detail : "Bar lines" , documentation : 'The command ‘\\bar bartype’ is a shortcut for ‘\\set Timing.whichBar = bartype’. A bar line is created whenever the whichBar property is set.\n\nThe default bar type used for automatically inserted bar lines is "|". This may be changed at any time with ‘\\set Timing.defaultBarType = bartype’.' , } , { label : "\\defaultNoteHeads" , detail : "A.18 Available music functions" , documentation : "Revert to the default note head style." , } , { label : "\\defaultTimeSignature" , detail : "Time signature" , documentation : "The time signature symbol that is used in 2/2 and 4/4 time can be changed to a numeric style:\n\n    % Default style\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Change to numeric style\n    \\numericTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Revert to default style\n    \\defaultTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n\nMensural time signatures are covered in Mensural time signatures." , } , { label : "\\defineBarLine" , detail : "Bar lines" , documentation : 'New bar line types can be defined with \\defineBarLine:\n\n    \\defineBarLine bartype #\'(end begin span)\n\nThe \\defineBarline variables can include the ‘empty’ string "", which is equivalent to an invisible bar line being printed. Or they can be set to #f which prints no bar line at all.\n\nAfter the definiton, the new bar line can be used by \\bar bartype.\n\nThere are currently ten bar line elements available:\n\n    \\defineBarLine ":" #\'("" ":" "")\n    \\defineBarLine "=" #\'("=" "" "")\n    \\defineBarLine "[" #\'("" "[" "")\n    \\defineBarLine "]" #\'("]" "" "")\n    \\new Staff {\n      s1 \\bar "|"\n      s1 \\bar "."\n      s1 \\bar "!"\n      s1 \\bar ";"\n      s1 \\bar ":"\n      s1 \\bar "k"\n      s1 \\bar "S"\n      s1 \\bar "="\n      s1 \\bar "["\n      s1 \\bar "]"\n      s1 \\bar ""\n    }\n\nThe "=" bar line provides the double span bar line, used in combination with the segno sign. Do not use it as a standalone double thin bar line; here, \\bar "||" is preferred.\n\nThe "-" sign starts annotations to bar lines which are useful to distinguish those with identical appearance but different behavior at line breaks and/or different span bars. The part following the "-" sign is not used for building up the bar line.\n\n    \\defineBarLine "||-dashedSpan" #\'("||" "" "!!")\n    \\new StaffGroup <<\n      \\new Staff {\n        c1 \\bar "||"\n        c1 \\bar "||-dashedSpan"\n        c1\n      }\n      \\new Staff {\n        c1\n        c1\n        c1\n      }\n    >>\n\nFurthermore, the space character " " serves as a placeholder for defining span bars correctly aligned to the main bar lines:\n\n    \\defineBarLine ":|.-wrong" #\'(":|." "" "|.")\n    \\defineBarLine ":|.-right" #\'(":|." "" " |.")\n    \\new StaffGroup <<\n      \\new Staff {\n        c1 \\bar ":|.-wrong"\n        c1 \\bar ":|.-right"\n        c1\n      }\n      \\new Staff {\n        c1\n        c1\n        c1\n      }\n    >>\n\nIf additional elements are needed, LilyPond provides a simple way to define them. For more informations on modifying or adding bar lines, see file ‘scm/bar-line.scm’.\n\nIn scores with many staves, a \\bar command in one staff is automatically applied to all staves. The resulting bar lines are connected between different staves of a StaffGroup, PianoStaff, or GrandStaff.\n\n    <<\n      \\new StaffGroup <<\n        \\new Staff {\n          e4 d\n          \\bar "||"\n          f4 e\n        }\n        \\new Staff { \\clef bass c4 g e g }\n      >>\n      \\new Staff { \\clef bass c2 c2 }\n    >>' , } , { label : "\\defineBarLine" , detail : "A.18 Available music functions" , documentation : "Define bar line settings for bar line bar. The list glyph-list must have three entries which define the appearance at the end of line, at the beginning of the next line, and the span bar, respectively." , } , { label : "\\denies" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\dim" , detail : "Dynamics" , documentation : "Textual crescendo marks begin with \\cresc. Textual decrescendos begin with \\decresc or \\dim. Extender lines are engraved as required.\n\n    g8\\cresc a b c b c d e\\mf |\n    f8\\decresc e d c e\\> d c b |\n    a1\\dim ~ |\n    a2. r4\\! |" , } , { label : "\\dim" , detail : "Common chords" , documentation : "The table below shows the actions of the quality modifiers on triads and seventh chords. The default seventh step added to chords is a minor or flatted seventh, which makes the dominant seventh the basic seventh chord. All alterations are relative to the dominant seventh. A more complete table of modifier usage is found at Common chord modifiers.\n\nModifier\tAction\tExample\nNone\tThe default action; produces a major triad.\t\n \n\nm, m7\tThe minor chord. This modifier lowers the 3rd.\t\n \n\ndim, dim7\tThe diminished chord. This modifier lowers the 3rd, 5th and (if present) the 7th step.\t\n \n\naug\tThe augmented chord. This modifier raises the 5th step.\t\n \n\nmaj, maj7\tThe major 7th chord. This modifier adds a raised 7th step. The 7 following maj is optional. Do NOT use this modifier to create a major triad.\t\n \n\n" , } , { label : "\\dimHairpin" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dimTextDecr" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dimTextDecresc" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\dimTextDim" , detail : "Dynamics" , documentation : "Textual marks for dynamic changes can also replace hairpins:\n\n    \\crescTextCresc\n    c4\\< d e f\\! |\n    \\dimTextDecresc\n    g4\\> e d c\\! |\n    \\dimTextDecr\n    e4\\> d c b\\! |\n    \\dimTextDim\n    d4\\> c b a\\! |\n    \\crescHairpin\n    \\dimHairpin\n    c4\\< d\\! e\\> d\\! |\n\nTo create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks." , } , { label : "\\displayLilyMusic" , detail : "A.18 Available music functions" , documentation : "Display the LilyPond input representation of music to the console." , } , { label : "\\displayMusic" , detail : "A.18 Available music functions" , documentation : "Display the internal representation of music to the console." , } , { label : "\\displayScheme" , detail : "A.18 Available music functions" , documentation : "Display the internal representation of expr to the console." , } , { label : "\\dodecaphonic" , detail : "Automatic accidentals" , documentation : "This rule reflects a practice introduced by composers at the beginning of the 20th century, in an attempt to abolish the hierarchy between natural and non-natural notes. With this style, every note gets an accidental sign, including natural signs." , } , { label : "\\dorian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\dotsDown" , detail : "Durations" , documentation : "Dots are normally moved up to avoid staff lines, except in polyphonic situations. Dots may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\dotsNeutral" , detail : "Durations" , documentation : "Dots are normally moved up to avoid staff lines, except in polyphonic situations. Dots may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\dotsUp" , detail : "Durations" , documentation : "Dots are normally moved up to avoid staff lines, except in polyphonic situations. Dots may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\draw-circle" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\draw-line" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\drummode" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "DrumStaff" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "\\dynamic" , detail : "New dynamic marks" , documentation : "In markup mode, editorial dynamics (within parentheses or square brackets) can be created. The syntax for markup mode is described in Formatting text.\n\n    roundF = \\markup {\n        \\center-align \\concat { \\bold { \\italic ( }\n               \\dynamic f \\bold { \\italic ) } } }\n    boxF = \\markup { \\bracket { \\dynamic f } }\n    \\relative c' {\n      c1_\\roundF\n      c1_\\boxF\n    }" , } , { label : "\\dynamicDown" , detail : "Dynamics" , documentation : "" , } , { label : "DynamicLineSpanner" , detail : "Dynamics" , documentation : "Vertical positioning of dynamics is handled by DynamicLineSpanner.\n\nA Dynamics context is available to engrave dynamics on their own horizontal line. Use spacer rests to indicate timing. (Notes in a Dynamics context will also take up musical time, but will not be engraved.) The Dynamics context can usefully contain some other items such as text scripts, text spanners, and piano pedal marks.\n\n    <<\n      \\new Staff \\relative c' {\n        c2 d4 e |\n        c4 e e,2 |\n        g'4 a g a |\n        c1 |\n      }\n      \\new Dynamics {\n        s1\\< |\n        s1\\f |\n        s2\\dim s2-\"rit.\" |\n        s1\\p |\n      }\n    >>" , } , { label : "\\dynamicNeutral" , detail : "Dynamics" , documentation : "" , } , { label : "\\dynamicUp" , detail : "Dynamics" , documentation : "" , } , { label : "\\easyHeadsOff" , detail : "Easy notation note heads" , documentation : "The ‘easy play’ note head includes a note name inside the head. It is used in music for beginners. To make the letters readable, it should be printed in a large font size. To print with a larger font, see Setting the staff size.\n\n    #(set-global-staff-size 26)\n    \\relative c' {\n      \\easyHeadsOn\n      c2 e4 f\n      g1\n      \\easyHeadsOff\n      c,1\n    }" , } , { label : "\\easyHeadsOn" , detail : "Easy notation note heads" , documentation : "The ‘easy play’ note head includes a note name inside the head. It is used in music for beginners. To make the letters readable, it should be printed in a large font size. To print with a larger font, see Setting the staff size.\n\n    #(set-global-staff-size 26)\n    \\relative c' {\n      \\easyHeadsOn\n      c2 e4 f\n      g1\n      \\easyHeadsOff\n      c,1\n    }" , } , { label : "\\endSpanners" , detail : "A.18 Available music functions" , documentation : "Terminate the next spanner prematurely after exactly one note without the need of a specific end spanner." , } , { label : "\\epsfile" , detail : "Graphic notation inside markup" , documentation : 'Advanced graphic features include the ability to include external image files converted to the Encapsulated PostScript format (eps), or to directly embed graphics into the input file, using native PostScript code. In such a case, it may be useful to explicitly specify the size of the drawing, as demonstrated below:\n\n    c1^\\markup {\n      \\combine\n        \\epsfile #X #10 #"./context-example.eps"\n        \\with-dimensions #\'(0 . 6) #\'(0 . 10)\n        \\postscript #"\n          -2 3 translate\n          2.7 2 scale\n          newpath\n          2 -1 moveto\n          4 -2 4 1 1 arct\n          4 2 3 3 1 arct\n          0 4 0 3 1 arct\n          0 0 1 -1 1 arct\n          closepath\n          stroke"\n      }\n    c\n\nAn exhaustive list of graphics-specific commands can be found in Graphic.' , } , { label : "\\espressivo" , detail : "Dynamics" , documentation : "The \\espressivo command can be used to indicate a crescendo and decrescendo on the same note. However, be warned that this is implemented as an articulation, not a dynamic.\n\n    c2 b4 a\n    g1\\espressivo" , } , { label : "\\eventChords" , detail : "A.18 Available music functions" , documentation : "Compatibility function wrapping EventChord around isolated rhythmic events occuring since version 2.15.28, after expanding repeat chords ‘q’." , } , { label : "\\expandFullBarRests" , detail : "Full measure rests" , documentation : "By default a multi-measure rest is expanded in the printed score to show all the rest measures explicitly. Alternatively, a multi-measure rest can be shown as a single measure containing a multi-measure rest symbol, with the number of measures of rest printed above the measure:\n\n    % Default behavior\n    \\time 3/4 r2. | R2.*2 |\n    \\time 2/4 R2 |\n    \\time 4/4\n    % Rest measures contracted to single measure\n    \\compressFullBarRests\n    r1 | R1*17 | R1*4 |\n    % Rest measures expanded\n    \\expandFullBarRests\n    \\time 3/4\n    R2.*2 |" , } , { label : "\\expandFullBarRests" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\extra-offset" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\f" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\featherDurations" , detail : "Feathered beams" , documentation : "Feathered beams are used to indicate that a small group of notes should be played at an increasing (or decreasing) tempo, without changing the overall tempo of the piece. The extent of the feathered beam must be indicated manually using [ and ], and the beam feathering is turned on by specifying a direction to the Beam property grow-direction.\n\nIf the placement of the notes and the sound in the MIDI output is to reflect the ritardando or accelerando indicated by the feathered beam the notes must be grouped as a music expression delimited by braces and preceded by a featherDurations command which specifies the ratio between the durations of the first and last notes in the group.\n\nThe square brackets show the extent of the beam and the braces show which notes are to have their durations modified. Normally these would delimit the same group of notes, but this is not required: the two commands are independent.\n\nIn the following example the eight 16th notes occupy exactly the same time as a half note, but the first note is one half as long as the last one, with the intermediate notes gradually lengthening. The first four 32nd notes gradually speed up, while the last four 32nd notes are at a constant tempo.\n\n    \\override Beam.grow-direction = #LEFT\n    \\featherDurations #(ly:make-moment 2/1)\n    { c16[ c c c c c c c] }\n    \\override Beam.grow-direction = #RIGHT\n    \\featherDurations #(ly:make-moment 2/3)\n    { c32[ d e f] }\n    % revert to non-feathered beams\n    \\override Beam.grow-direction = #'()\n    { g32[ a b c] }\n\nThe spacing in the printed output represents the note durations only approximately, but the MIDI output is exact." , } , { label : "\\featherDurations" , detail : "A.18 Available music functions" , documentation : "Adjust durations of music in argument by rational factor." , } , { label : "\\fermataMarkup" , detail : "Full measure rests" , documentation : 'Markups can be added to multi-measure rests. The predefined command \\fermataMarkup is provided for adding fermatas.\n\n    \\compressFullBarRests\n    \\time 3/4\n    R2.*10^\\markup { \\italic "ad lib." }\n    R2.^\\fermataMarkup\n\nNote: Markups attached to a multi-measure rest are objects of type MultiMeasureRestText, not TextScript. Overrides must be directed to the correct object, or they will be ignored. See the following example:\n\n\n\n    % This fails, as the wrong object name is specified\n    \\override TextScript.padding = #5\n    R1^"wrong"\n    % This is the correct object name to be specified\n    \\override MultiMeasureRestText.padding = #5\n    R1^"right"\n\nWhen a multi-measure rest immediately follows a \\partial setting, resulting bar-check warnings may not be displayed.' , } , { label : "\\fermataMarkup" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\ff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\ffff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fffff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fill-line" , detail : "Text alignment" , documentation : 'Similarly, a list of elements or expressions may be spread to fill the entire horizontal line width (if there is only one element, it will be centered on the page). These expressions can, in turn, include multi-line text or any other markup expression:\n\n    \\markup {\n      \\fill-line {\n        \\line { William S. Gilbert }\n        \\center-column {\n          \\huge \\smallCaps "The Mikado"\n          or\n          \\smallCaps "The Town of Titipu"\n        }\n        \\line { Sir Arthur Sullivan }\n      }\n    }\n    \\markup {\n      \\fill-line { 1885 }\n    }' , } , { label : "\\filled-box" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\finger" , detail : "Fingering instructions" , documentation : 'Fingering instructions can be entered using ‘note-digit’:\n\n    c4-1 d-2 f-4 e-3\n\nMarkup texts or strings may be used for finger changes.\n\n    c4-1 d-2 f\\finger \\markup \\tied-lyric #"4~3" c\\finger "2 - 3"' , } , { label : "\\finger" , detail : "A.18 Available music functions" , documentation : "Apply finger as a fingering indication." , } , { label : "\\first-page-number" , detail : "\\paper variables for page numbering" , documentation : "The value of the page number on the first page." , } , { label : "\\followVoice" , detail : "Staff-change lines" , documentation : 'Whenever a voice switches to another staff, a line connecting the notes can be printed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "one" {\n        \\showStaffSwitch\n        c1\n        \\change Staff = "two"\n        b2 a\n      }\n      \\new Staff = "two" {\n        \\clef bass\n        s1*2\n      }\n    >>' , } , { label : "\\font-interface" , detail : "Selecting notation font size" , documentation : "Font size changes are achieved by scaling the design size that is closest to the desired size. The standard font size (for font-size = #0) depends on the standard staff height. For a 20pt staff, a 10pt font is selected.\n\nThe font-size property can only be set on layout objects that use fonts. These are the ones supporting the font-interface layout interface." , } , { label : "\\font-interface" , detail : "Fonts explained" , documentation : "Fonts are handled through several libraries. FontConfig is used to detect available fonts on the system; the selected fonts are rendered using Pango.\n\nMusic notation fonts can be described as a set of specific glyphs, ordered in several families. The following syntax allows various LilyPond feta non-text fonts to be used directly in markup mode:\n\n    a1^\\markup {\n      \\vcenter {\n        \\override #'(font-encoding . fetaBraces)\n        \\lookup #\"brace120\"\n        \\override #'(font-encoding . fetaText)\n        \\column { 1 3 sf }\n        \\override #'(font-encoding . fetaMusic)\n        \\lookup #\"noteheads.s0petrucci\"\n      }\n    }\n\nHowever, all these glyphs except the braces of various sizes contained in fetaBraces are available using the simpler syntax described in Music notation inside markup.\n\nWhen using the glyphs contained in fetaBraces, the size of the brace is specified by the numerical part of the glyph name, in arbitrary units. Any integer from 0 to 575 inclusive may be specified, 0 giving the smallest brace. The optimum value must be determined by trial and error. These glyphs are all left braces; right braces may be obtained by rotation, see Rotating objects.\n\nThree families of text fonts are made available: the roman (serif) font, that defaults to New Century Schoolbook, the sans font and the monospaced typewriter font – these last two families are determined by the Pango installation.\n\nNote: There are no default fonts associated with the sans and typewriter font-families. An input file that specifies either of these can lead to different output on different computers. To ensure consistent output among multiple platforms, fonts must be specified by name, and those fonts must be available on any system that processes the file. See Single entry fonts and Entire document fonts.\n\n\n\nEach family may include different shapes and series. The following example demonstrates the ability to select alternate families, shapes, series and sizes. The value supplied to font-size is the required change from the default size.\n\n    \\override Score.RehearsalMark.font-family = #'typewriter\n    \\mark \\markup \"Ouverture\"\n    \\override Voice.TextScript.font-shape = #'italic\n    \\override Voice.TextScript.font-series = #'bold\n    d2.^\\markup \"Allegro\"\n    \\override Voice.TextScript.font-size = #-3\n    c4^smaller\n\nA similar syntax may be used in markup mode; however in this case it is preferable to use the simpler syntax explained in Selecting font and font size:\n\n    \\markup {\n      \\column {\n        \\line {\n          \\override #'(font-shape . italic)\n          \\override #'(font-size . 4)\n          Idomeneo,\n        }\n        \\line {\n          \\override #'(font-family . typewriter)\n          {\n            \\override #'(font-series . bold)\n            re\n            di\n          }\n          \\override #'(font-family . sans)\n          Creta\n        }\n      }\n    }\n\nAlthough it is easy to switch between preconfigured fonts, it is also possible to use other fonts, as explained in the following sections: Single entry fonts and Entire document fonts." , } , { label : "\\font-size" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\font-size" , detail : "Selecting notation font size" , documentation : "Font size changes are achieved by scaling the design size that is closest to the desired size. The standard font size (for font-size = #0) depends on the standard staff height. For a 20pt staff, a 10pt font is selected.\n\nThe font-size property can only be set on layout objects that use fonts. These are the ones supporting the font-interface layout interface." , } , { label : "\\fontsize" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\fontSize" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\footnote" , detail : "A.18 Available music functions" , documentation : "Make the markup footnote a footnote on item. The footnote is marked with a markup mark moved by offset with respect to the marked music.\n\nIf mark is not given or specified as \\default, it is replaced by an automatically generated sequence number. If item is a symbol list of form ‘Grob’ or ‘Context.Grob’, then grobs of that type will be marked at the current time step in the given context (default Bottom).\n\nIf item is music, the music will get a footnote attached to a grob immediately attached to the event, like \\tweak does. For attaching a footnote to an indirectly caused grob, write \\single\\footnote, use item to specify the grob, and follow it with the music to annotate.\n\nLike with \\tweak, if you use a footnote on a following post-event, the \\footnote command itself needs to be attached to the preceding note or rest as a post-event with -." , } , { label : "\\forget" , detail : "Automatic accidentals" , documentation : "This is the opposite of no-reset: Accidentals are not remembered at all – and hence all accidentals are typeset relative to the key signature, regardless of what came before in the music." , } , { label : "\\four-string-banjo" , detail : "Banjo tablatures" , documentation : "A number of common tunings for the five-string banjo are predefined: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).\n\nThese may be converted to four-string tunings using the four-string-banjo function:\n\n    \\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)" , } , { label : "\\fp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\fret-diagram" , detail : "Fret diagram markups" , documentation : 'The size of the fret diagram, and the number of frets in the diagram can be changed in the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n         \\chordmode {\n           f1 g\n         }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <f, c f a c\' f\'>1^\\markup {\n          \\fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"\n        }\n        <g, b, d g b g\'>1^\\markup {\n          \\fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"\n        }\n      }\n    >>\n\nThe number of strings in a fret diagram can be changed to accommodate different instruments such as banjos and ukuleles with the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          a1\n        }\n      }\n      \\new Staff {\n        % An \'A\' chord for ukulele\n        a\'1^\\markup {\n          \\fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"\n        }\n      }\n    >>\n\nFingering indications can be added, and the location of fingering labels can be controlled by the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"\n        }\n      }\n    >>\n\nDot radius and dot position can be controlled with the fret-diagram markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"\n        }\n      }\n    >>' , } , { label : "\\fret-diagram-interface" , detail : "Fret diagram markups" , documentation : "The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a fret diagram markup, the interface properties belong to Voice.TextScript." , } , { label : "\\fret-diagram-terse" , detail : "Fret diagram markups" , documentation : 'The fret-diagram-terse markup string omits string numbers; the string number is implied by the presence of semicolons. There is one semicolon for each string in the diagram. The first semicolon corresponds to the highest string number and the last semicolon corresponds to the first string. Mute strings, open strings, and fret numbers can be indicated.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram-terse #"x;3;2;o;1;o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram-terse #"x;x;o;2;3;1;"\n        }\n      }\n    >>\n\nBarre indicators can be included in the fret-diagram-terse markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          f1 g\n        }\n      }\n      \\new Staff {\n        \\clef "treble_8"\n        <f, c f a c\' f\'>1^\\markup {\n          \\fret-diagram-terse #"1-(;3;3;2;1;1-);"\n        }\n        <g, d g b d\' g\'>1^\\markup {\n          \\fret-diagram-terse #"3-(;5;5;4;3;3-);"\n        }\n      }\n    >>\n\nFingering indications can be included in the fret-diagram-terse markup string.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 d:m\n        }\n      }\n      \\new Staff {\n        \\override Voice.TextScript.fret-diagram-details.finger-code = #\'below-string\n        \\clef "treble_8"\n        <c e g c\' e\'>1^\\markup {\n          \\fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"\n        }\n        <d a d\' f\'>1^\\markup {\n          \\fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"\n        }\n      }\n    >>\n\nOther fret diagram properties must be adjusted using \\override when using the fret-diagram-terse markup.' , } , { label : "\\fret-diagram-verbose" , detail : "Fret diagram markups" , documentation : "The fret-diagram-verbose markup string is in the format of a Scheme list. Each element of the list indicates an item to be placed on the fret diagram.\n\n    <<\n        \\new ChordNames {\n          \\chordmode {\n            c1 d:m\n          }\n        }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <c e g c' e'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (mute 6)\n            (place-fret 5 3)\n            (place-fret 4 2)\n            (open 3)\n            (place-fret 2 1)\n            (open 1)\n          )\n        }\n        <d a d' f'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (mute 6)\n            (mute 5)\n            (open 4)\n            (place-fret 3 2)\n            (place-fret 2 3)\n            (place-fret 1 1)\n          )\n        }\n      }\n    >>\n\nFingering indications and barres can be included in a fret-diagram-verbose markup string. Unique to the fret-diagram-verbose interface is a capo indication that can be placed on the fret diagram. The capo indication is a thick bar that covers all strings. The fret with the capo will be the lowest fret in the fret diagram.\n\n    <<\n        \\new ChordNames {\n          \\chordmode {\n            f1 g c\n          }\n        }\n      \\new Staff {\n        \\clef \"treble_8\"\n        \\override Voice.TextScript.fret-diagram-details.finger-code = #'below-string\n        <f, c f a c' f'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (place-fret 6 1)\n            (place-fret 5 3)\n            (place-fret 4 3)\n            (place-fret 3 2)\n            (place-fret 2 1)\n            (place-fret 1 1)\n            (barre 6 1 1)\n          )\n        }\n        <g, b, d g b g'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (place-fret 6 3 2)\n            (place-fret 5 2 1)\n            (open 4)\n            (open 3)\n            (open 2)\n            (place-fret 1 3 3)\n          )\n        }\n        <c g c' e' g'>1^\\markup {\n          \\fret-diagram-verbose #'(\n            (capo 3)\n            (mute 6)\n            (place-fret 4 5 1)\n            (place-fret 3 5 2)\n            (place-fret 2 5 3)\n          )\n        }\n      }\n    >>\n\nAll other fret diagram properties must be adjusted using \\override when using the fret-diagram-verbose markup." , } , { label : "FretBoards" , detail : "Predefined fret diagrams" , documentation : 'Fret diagrams can be displayed using the FretBoards context. By default, the FretBoards context will display fret diagrams that are stored in a lookup table:\n\n    \\include "predefined-guitar-fretboards.ly"\n    \\new FretBoards {\n      \\chordmode {\n        c1 d\n      }\n    }\n\nThe default predefined fret diagrams are contained in the file ‘predefined-guitar-fretboards.ly’. Fret diagrams are stored based on the pitches of a chord and the value of stringTunings that is currently in use. ‘predefined-guitar-fretboards.ly’ contains predefined fret diagrams only for guitar-tuning. Predefined fret diagrams can be added for other instruments or other tunings by following the examples found in ‘predefined-guitar-fretboards.ly’.\n\nFret diagrams for the ukulele are contained in the file \n‘predefined-ukulele-fretboards.ly’.\n\n    \\include "predefined-ukulele-fretboards.ly"\n    myChords = \\chordmode { a1 a:m a:aug }\n    \\new ChordNames {\n      \\myChords\n    }\n    \\new FretBoards {\n      \\set Staff.stringTunings = #ukulele-tuning\n      \\myChords\n    }\n\nFret diagrams for the mandolin are contained in the file \n‘predefined-mandolin-fretboards.ly’.\n\n    \\include "predefined-mandolin-fretboards.ly"\n    myChords = \\chordmode { c1 c:m7.5- c:aug }\n    \\new ChordNames {\n      \\myChords\n    }\n    \\new FretBoards {\n      \\set Staff.stringTunings = #mandolin-tuning\n      \\myChords\n    }\n\nChord pitches can be entered either as simultaneous music or using chord mode (see Chord mode overview).\n\n    \\include "predefined-guitar-fretboards.ly"\n    \\new FretBoards {\n      \\chordmode { c1 }\n      <c\' e\' g\'>1\n    }' , } , { label : "\\funkHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\funkHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\general-align" , detail : "Text alignment" , documentation : 'Some commands can affect both the horizontal and vertical alignment of text objects in markup mode. Any object affected by these commands must be preceded with an anchor point:\n\n    d2^\\markup {\n      Acte I\n      \\translate #\'(-1 . 2) "Scène 1"\n    }\n    a\'\n    g_\\markup {\n      \\null\n      \\general-align #Y #3.2 \\bold "Très modéré"\n    }\n    a\n    d,^\\markup {\n      \\null\n      \\translate-scaled #\'(-1 . 2) \\teeny "Une forêt."\n    }\n    a\'4 a g2 a' , } , { label : "\\glissando" , detail : "Glissando" , documentation : "A glissando is created by appending \\glissando to a note:\n\n    g2\\glissando g'\n    c2\\glissando c,\n    \\afterGrace f,1\\glissando f'16\n\nA glissando can connect notes across staves:\n\n    \\new PianoStaff <<\n      \\new Staff = \"right\" {\n        e'''2\\glissando\n        \\change Staff = \"left\"\n        a,,4\\glissando\n        \\change Staff = \"right\"\n        b''8 r |\n      }\n      \\new Staff = \"left\" {\n        \\clef bass\n        s1\n      }\n    >>\n\nA glissando can connect notes in chords. If anything other than a direct one-to-one pairing of the notes in the two chords is required the connections between the notes are defined by setting \\glissandoMap, where the notes of a chord are assumed to be numbered from zero in the order in which they appear in the input ‘.ly’ file.\n\n    <c, e>1\\glissando g' |\n    <c, e>1\\glissando |\n    <g' b> |\n    \\break\n    \\set glissandoMap = #'((0 . 1) (1 . 0))\n    <c, g'>1\\glissando |\n    <d a'> |\n    \\set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))\n    c1\\glissando |\n    <d f a> |\n    \\set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))\n    <f d a'>1\\glissando |\n    <c c'> |\n\nDifferent styles of glissandi can be created. For details, see Line styles." , } , { label : "\\grace" , detail : "A.18 Available music functions" , documentation : "Insert music as grace notes." , } , { label : "GregorianTranscriptionStaff" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "\\gridInterval" , detail : "Grid lines" , documentation : 'Vertical lines can be drawn between staves synchronized with the notes.\n\nThe Grid_point_engraver must be used to create the end points of the lines, while the Grid_line_span_engraver must be used to actually draw the lines. By default this centers grid lines horizontally below and to the left side of each note head. Grid lines extend from the middle lines of each staff. The gridInterval must specify the duration between the grid lines.\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\consists "Grid_point_engraver"\n        gridInterval = #(ly:make-moment 1/4)\n      }\n      \\context {\n        \\Score\n        \\consists "Grid_line_span_engraver"\n      }\n    }\n    \\score {\n      \\new ChoirStaff <<\n        \\new Staff \\relative c\'\' {\n          \\stemUp\n          c4. d8 e8 f g4\n        }\n        \\new Staff \\relative c {\n          \\clef bass\n          \\stemDown\n          c4 g\' f e\n        }\n      >>\n    }' , } , { label : "Grid_line_span_engraver" , detail : "Grid lines" , documentation : 'Vertical lines can be drawn between staves synchronized with the notes.\n\nThe Grid_point_engraver must be used to create the end points of the lines, while the Grid_line_span_engraver must be used to actually draw the lines. By default this centers grid lines horizontally below and to the left side of each note head. Grid lines extend from the middle lines of each staff. The gridInterval must specify the duration between the grid lines.\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\consists "Grid_point_engraver"\n        gridInterval = #(ly:make-moment 1/4)\n      }\n      \\context {\n        \\Score\n        \\consists "Grid_line_span_engraver"\n      }\n    }\n    \\score {\n      \\new ChoirStaff <<\n        \\new Staff \\relative c\'\' {\n          \\stemUp\n          c4. d8 e8 f g4\n        }\n        \\new Staff \\relative c {\n          \\clef bass\n          \\stemDown\n          c4 g\' f e\n        }\n      >>\n    }' , } , { label : "Grid_point_engraver" , detail : "Grid lines" , documentation : 'Vertical lines can be drawn between staves synchronized with the notes.\n\nThe Grid_point_engraver must be used to create the end points of the lines, while the Grid_line_span_engraver must be used to actually draw the lines. By default this centers grid lines horizontally below and to the left side of each note head. Grid lines extend from the middle lines of each staff. The gridInterval must specify the duration between the grid lines.\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\consists "Grid_point_engraver"\n        gridInterval = #(ly:make-moment 1/4)\n      }\n      \\context {\n        \\Score\n        \\consists "Grid_line_span_engraver"\n      }\n    }\n    \\score {\n      \\new ChoirStaff <<\n        \\new Staff \\relative c\'\' {\n          \\stemUp\n          c4. d8 e8 f g4\n        }\n        \\new Staff \\relative c {\n          \\clef bass\n          \\stemDown\n          c4 g\' f e\n        }\n      >>\n    }' , } , { label : "\\grobdescriptions" , detail : "A.18 Available music functions" , documentation : "Create a context modification from descriptions, a list in the format of all-grob-descriptions." , } , { label : "\\grow-direction" , detail : "Feathered beams" , documentation : "Feathered beams are used to indicate that a small group of notes should be played at an increasing (or decreasing) tempo, without changing the overall tempo of the piece. The extent of the feathered beam must be indicated manually using [ and ], and the beam feathering is turned on by specifying a direction to the Beam property grow-direction.\n\nIf the placement of the notes and the sound in the MIDI output is to reflect the ritardando or accelerando indicated by the feathered beam the notes must be grouped as a music expression delimited by braces and preceded by a featherDurations command which specifies the ratio between the durations of the first and last notes in the group.\n\nThe square brackets show the extent of the beam and the braces show which notes are to have their durations modified. Normally these would delimit the same group of notes, but this is not required: the two commands are independent.\n\nIn the following example the eight 16th notes occupy exactly the same time as a half note, but the first note is one half as long as the last one, with the intermediate notes gradually lengthening. The first four 32nd notes gradually speed up, while the last four 32nd notes are at a constant tempo.\n\n    \\override Beam.grow-direction = #LEFT\n    \\featherDurations #(ly:make-moment 2/1)\n    { c16[ c c c c c c c] }\n    \\override Beam.grow-direction = #RIGHT\n    \\featherDurations #(ly:make-moment 2/3)\n    { c32[ d e f] }\n    % revert to non-feathered beams\n    \\override Beam.grow-direction = #'()\n    { g32[ a b c] }\n\nThe spacing in the printed output represents the note durations only approximately, but the MIDI output is exact." , } , { label : "\\halign" , detail : "Text alignment" , documentation : "Horizontal alignment may be fine-tuned using a numeric value:\n\n    a1-\\markup { \\halign #-1 poco }\n    e'\n    a,-\\markup { \\halign #0 poco }\n    e'\n    a,-\\markup { \\halign #0.5 poco }\n    e'\n    a,-\\markup { \\halign #2 poco }\n\nSome objects may have alignment procedures of their own, and therefore are not affected by these commands. It is possible to move such markup objects as a whole, as shown for instance in Text marks." , } , { label : "\\harmonicByFret" , detail : "A.18 Available music functions" , documentation : "Convert music into mixed harmonics; the resulting notes resemble harmonics played on a fretted instrument by touching the strings at fret." , } , { label : "\\harmonicByRatio" , detail : "A.18 Available music functions" , documentation : "Convert music into mixed harmonics; the resulting notes resemble harmonics played on a fretted instrument by touching the strings at the point given through ratio." , } , { label : "\\harmonicNote" , detail : "A.18 Available music functions" , documentation : "Print note with a diamond-shaped note head." , } , { label : "\\harmonicsOn" , detail : "A.18 Available music functions" , documentation : "Set the default note head style to a diamond-shaped style." , } , { label : "\\hbracket" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\hide" , detail : "A.18 Available music functions" , documentation : "Set item’s ‘transparent’ property to #t, making it invisible while still retaining its dimensions.\n\nIf item is a symbol list of form GrobName or Context.GrobName, the result is an override for the grob name specified by it. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it." , } , { label : "\\hideKeySignature" , detail : "Bagpipe definitions" , documentation : 'LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add\n\n    \\include "bagpipe.ly"\n\nto the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \\taor instead of\n\n    \\grace { \\small G32[ d G e] }\n\n‘bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \\relative or \\transpose.\n\n    \\include "bagpipe.ly"\n    { \\grg G4 \\grg a \\grg b \\grg c \\grg d \\grg e \\grg f \\grA g A }\n\nBagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \\hideKeySignature. If you for some reason want to show the key signature, you can use \\showKeySignature instead.\n\nSome modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.' , } , { label : "\\hideNotes" , detail : "Hidden notes" , documentation : "Hidden (or invisible or transparent) notes can be useful in preparing theory or composition exercises.\n\n    c4 d\n    \\hideNotes\n    e4 f\n    \\unHideNotes\n    g a\n    \\hideNotes\n    b\n    \\unHideNotes\n    c\n\nNote heads, stems, and flags, and rests are invisible. Beams are invisible if they start on a hidden note. Objects that are attached to invisible notes are still visible.\n\n    e8(\\p f g a)--\n    \\hideNotes\n    e8(\\p f g a)--" , } , { label : "\\hideStaffSwitch" , detail : "Staff-change lines" , documentation : 'Whenever a voice switches to another staff, a line connecting the notes can be printed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "one" {\n        \\showStaffSwitch\n        c1\n        \\change Staff = "two"\n        b2 a\n      }\n      \\new Staff = "two" {\n        \\clef bass\n        s1*2\n      }\n    >>' , } , { label : "\\horizontal-shift" , detail : "\\paper variables for shifts and indents" , documentation : "The amount that all systems (including titles and system separators) are shifted to the right. Default: 0.0\\mm." , } , { label : "Horizontal_bracket_engraver" , detail : "Analysis brackets" , documentation : "Brackets are used in musical analysis to indicate structure in musical pieces. Simple horizontal brackets are supported.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c2\\startGroup\n      d\\stopGroup\n    }\n\nAnalysis brackets may be nested.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c4\\startGroup\\startGroup\n      d4\\stopGroup\n      e4\\startGroup\n      d4\\stopGroup\\stopGroup\n    }" , } , { label : "\\huge" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\huge" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\improvisationOff" , detail : "Improvisation" , documentation : 'Improvisation is sometimes denoted with slashed note heads, where the performer may choose any pitch but should play the specified rhythm. Such note heads can be created:\n\n    \\new Voice \\with {\n      \\consists "Pitch_squash_engraver"\n    } {\n      e8 e g a a16( bes) a8 g\n      \\improvisationOn\n      e8 ~\n      e2 ~ e8 f4 f8 ~\n      f2\n      \\improvisationOff\n      a16( bes) a8 g e\n    }' , } , { label : "\\improvisationOff" , detail : "Showing melody rhythms" , documentation : "Guitar chord charts often show the strumming rhythms. This can be done with the Pitch_squash_engraver and \\improvisationOn.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 f g c\n        }\n      }\n      \\new Voice \\with {\n        \\consists \"Pitch_squash_engraver\"\n      } \\relative c'' {\n        \\improvisationOn\n        c4 c8 c c4 c8 c\n        f4 f8 f f4 f8 f\n        g4 g8 g g4 g8 g\n        c4 c8 c c4 c8 c\n      }\n    >>" , } , { label : "\\improvisationOn" , detail : "Improvisation" , documentation : 'Improvisation is sometimes denoted with slashed note heads, where the performer may choose any pitch but should play the specified rhythm. Such note heads can be created:\n\n    \\new Voice \\with {\n      \\consists "Pitch_squash_engraver"\n    } {\n      e8 e g a a16( bes) a8 g\n      \\improvisationOn\n      e8 ~\n      e2 ~ e8 f4 f8 ~\n      f2\n      \\improvisationOff\n      a16( bes) a8 g e\n    }' , } , { label : "\\improvisationOn" , detail : "Showing melody rhythms" , documentation : "Guitar chord charts often show the strumming rhythms. This can be done with the Pitch_squash_engraver and \\improvisationOn.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 f g c\n        }\n      }\n      \\new Voice \\with {\n        \\consists \"Pitch_squash_engraver\"\n      } \\relative c'' {\n        \\improvisationOn\n        c4 c8 c c4 c8 c\n        f4 f8 f f4 f8 f\n        g4 g8 g g4 g8 g\n        c4 c8 c c4 c8 c\n      }\n    >>" , } , { label : "\\indent" , detail : "Instrument names" , documentation : 'However, if the instrument names are longer, the instrument names in a staff group may not be centered unless the indent and short-indent settings are increased. For details about these settings, see \\paper variables for shifts and indents.\n\n    \\relative c\'\' {\n      <<\n        \\new Staff \\with {\n          instrumentName = #"Alto Flute in G"\n          shortInstrumentName = #"Flt."\n        }\n        {\n          f2 g4 f \\break\n          g4 f g2\n        }\n        \\new Staff \\with {\n          instrumentName = #"Clarinet"\n          shortInstrumentName = #"Clar."\n        }\n        {\n          c,4 b c2 \\break\n          c2 b4 c\n        }\n      >>\n    }\n    \\layout {\n      indent = 3.0\\cm\n      short-indent = 1.5\\cm\n    }' , } , { label : "\\indent" , detail : "\\paper variables for shifts and indents" , documentation : "The level of indentation for the first system in a score. If the paper size is modified, this dimension’s default value is scaled accordingly. This variable can also be set in a \\layout block." , } , { label : "\\indent" , detail : "4.5.4 Line length" , documentation : "The most basic settings influencing the spacing are indent and line-width. They are set in the \\layout block. They control the indentation of the first line of music, and the lengths of the lines.\n\nIf ragged-right is set to true in the \\layout block, then systems ends at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is. The normal default setting is false, but if the score has only one system the default value is true." , } , { label : "\\inner-margin" , detail : "\\paper variables for two-sided mode" , documentation : "The margin all pages have at the inner side if they are part of a book. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true." , } , { label : "\\inStaffSegno" , detail : "A.18 Available music functions" , documentation : "Put the segno variant ’varsegno’ at this position into the staff, compatible with the repeat command." , } , { label : "\\instrumentSwitch" , detail : "Instrument names" , documentation : 'If an instrument switch is needed, \\addInstrumentDefinition may be used in combination with \\instrumentSwitch to create a detailed list of the necessary changes for the switch. The \\addInstrumentDefinition command has two arguments: an identifying string, and an association list of context properties and values to be used for the instrument. It must be placed in the toplevel scope. \\instrumentSwitch is used in the music expression to declare the instrument switch:\n\n    \\addInstrumentDefinition #"contrabassoon"\n      #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))\n         (shortInstrumentName . "Cbsn.")\n         (clefGlyph . "clefs.F")\n         (middleCPosition . 6)\n         (clefPosition . 2)\n         (instrumentCueName . ,(make-bold-markup "cbsn."))\n         (midiInstrument . "bassoon"))\n    \\new Staff \\with {\n      instrumentName = #"Bassoon"\n    }\n    \\relative c\' {\n      \\clef tenor\n      \\compressFullBarRests\n      c2 g\'\n      R1*16\n      \\instrumentSwitch "contrabassoon"\n      c,,2 g \\break\n      c,1 ~ | c1\n    }' , } , { label : "\\instrumentSwitch" , detail : "A.18 Available music functions" , documentation : "Switch instrument to name, which must be predefined with \\addInstrumentDefinition." , } , { label : "\\inversion" , detail : "A.18 Available music functions" , documentation : "Invert music about around and transpose from around to to." , } , { label : "\\ionian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\italic" , detail : "Selecting font and font size" , documentation : "Basic font switching is supported in markup mode:\n\n    d1^\\markup {\n      \\bold { Più mosso }\n      \\italic { non troppo \\underline Vivo }\n    }\n    r2 r4 r8\n    d,_\\markup { \\italic quasi \\smallCaps Tromba }\n    f1 d2 r" , } , { label : "\\justified-lines" , detail : "Multi-page markup" , documentation : "Although standard markup objects are not breakable, a specific syntax makes it possible to enter lines of text that can spread over multiple pages:\n\n    \\markuplist {\n      \\justified-lines {\n        A very long text of justified lines.\n        ...\n      }\n      \\wordwrap-lines {\n        Another very long paragraph.\n        ...\n      }\n      ...\n    }\n\nThis syntax accepts a list of markups, that can be\n\n - the result of a markup list command,\n - a list of markups,\n - a list of markup lists.\n\nAn exhaustive list of markup list commands can be found in Text markup list commands." , } , { label : "\\justify" , detail : "Text alignment" , documentation : "Long text indications can also be automatically wrapped accordingly to the given line width. These will be either left-aligned or justified, as shown in the following example.\n\n    \\markup {\n      \\column {\n        \\line  \\smallCaps { La vida breve }\n        \\line \\bold { Acto I }\n        \\wordwrap \\italic {\n          (La escena representa el corral de una casa de\n          gitanos en el Albaicín de Granada.  Al fondo una\n          puerta por la que se ve el negro interior de\n          una Fragua, iluminado por los rojos resplandores\n          del fuego.)\n        }\n        \\hspace #0\n        \\line \\bold { Acto II }\n        \\override #'(line-width . 50)\n        \\justify \\italic {\n          (Calle de Granada.  Fachada de la casa de Carmela\n          y su hermano Manuel con grandes ventanas abiertas\n          a través de las que se ve el patio\n          donde se celebra una alegre fiesta)\n        }\n      }\n    }" , } , { label : "\\keepWithTag" , detail : "A.18 Available music functions" , documentation : "Include only elements of music that are either untagged or tagged with one of the tags in tag. tag may be either a single symbol or a list of symbols." , } , { label : "\\key" , detail : "Key signature" , documentation : "The key signature indicates the tonality in which a piece is played. It is denoted by a set of alterations (flats or sharps) at the start of the staff. The key signature may be altered:\n\n    \\key pitch mode" , } , { label : "\\key" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\key" , detail : "A.18 Available music functions" , documentation : "Set key to tonic and scale pitch-alist. If both are null, just generate KeyChangeEvent." , } , { label : "\\killCues" , detail : "Formatting cue notes" , documentation : 'The \\killCues command removes cue notes from a music expression, so the same music expression can be used to produce the instrument part with cues and the score. The \\killCues command removes only the notes and events that were quoted by \\cueDuring. Other markup associated with cues, such as clef changes and a label identifying the source instrument, can be tagged for selective inclusion in the score; see Using tags.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\tag #\'part {\n        \\clef treble\n        \\new CueVoice { \\set instrumentCueName = "flute" }\n      }\n      \\cueDuring #"flute" #UP { R1 }\n      \\tag #\'part \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n    \\new StaffGroup <<\n      \\new Staff {\n        \\fluteNotes\n      }\n      \\new Staff {\n        \\removeWithTag #\'part { \\killCues { \\bassoonNotes } }\n      }\n    >>\n\nAlternatively, Clef changes and instrument labels can be collected into an instrument definition for repeated use, using \\addInstrumentDefinition described in Instrument names.' , } , { label : "\\killCues" , detail : "A.18 Available music functions" , documentation : "Remove cue notes from music." , } , { label : "\\label" , detail : "A.18 Available music functions" , documentation : "Create label as a bookmarking label." , } , { label : "\\laissezVibrer" , detail : "Ties" , documentation : "L.v. ties (laissez vibrer) indicate that notes must not be damped at the end. It is used in notation for piano, harp and other string and percussion instruments. They can be entered as follows:\n\n    <c f g>1\\laissezVibrer" , } , { label : "\\language" , detail : "A.18 Available music functions" , documentation : "Set note names for language language." , } , { label : "\\languageRestore" , detail : "A.18 Available music functions" , documentation : "Restore a previously-saved pitchnames alist." , } , { label : "\\languageSaveAndChange" , detail : "A.18 Available music functions" , documentation : "Store the previous pitchnames alist, and set a new one." , } , { label : "\\large" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\large" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\larger" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\larger" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\last-bottom-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance from the last system or top-level markup on a page to the bottom of the printable area (i.e. the top of the bottom margin)." , } , { label : "\\layout file" , detail : "4.2.2 Setting the staff size" , documentation : "The default staff size is set to 20 points. This may be changed in two ways:\n\nTo set the staff size globally for all scores in a file (or in a book block, to be precise), use set-global-staff-size.\n\n    #(set-global-staff-size 14)\n\nThis sets the global default size to 14pt staff height and scales all fonts accordingly.\n\nTo set the staff size individually for each score, use\n\n    \\score{\n      …\n      \\layout {\n        #(layout-set-staff-size 15)\n      }\n    }\n\nThe Feta font provides musical symbols at eight different sizes. Each font is tuned for a different staff size: at a smaller size the font becomes heavier, to match the relatively heavier staff lines. The recommended font sizes are listed in the following table:\n\n    font name\n    staff height (pt)\n    staff height (mm)\n    use\n    feta11\n    11.22\n    3.9\n    pocket scores\n    feta13\n    12.60\n    4.4\n    feta14\n    14.14\n    5.0\n    feta16\n    15.87\n    5.6\n    feta18\n    17.82\n    6.3\n    song books\n    feta20\n    20\n    7.0\n    standard parts\n    feta23\n    22.45\n    7.9\n    feta26\n    25.2\n    8.9\n\nThese fonts are available in any sizes. The context property fontSize and the layout property staff-space (in StaffSymbol) can be used to tune the size for individual staves. The sizes of individual staves are relative to the global size." , } , { label : "\\left-align" , detail : "Text alignment" , documentation : "Markup objects may be aligned in different ways. By default, a text indication is aligned on its left edge: in the following example, there is no difference between the first and the second markup.\n\n    d1-\\markup { poco }\n    f\n    d-\\markup { \\left-align poco }\n    f\n    d-\\markup { \\center-align { poco } }\n    f\n    d-\\markup { \\right-align poco }" , } , { label : "\\left-margin" , detail : "\\paper variables for widths and margins" , documentation : "The margin between the left edge of the page and the start of the staff lines in unindented systems. If the paper size is modified, this dimension’s default value is scaled accordingly. If left-margin is unset, and both line-width and right-margin are set, then left-margin is set to (paper-width - line-width - right-margin). If only line-width is set, then both margins are set to ((paper-width - line-width) / 2), and the systems are consequently centered on the page. Also see check-consistency." , } , { label : "\\line-width" , detail : "\\paper variables for widths and margins" , documentation : "The horizontal extent of the staff lines in unindented, non-ragged systems, equal to (paper-width - left-margin - right-margin) when unset. If line-width is set, and both left-margin and right-margin are unset, then the margins will be updated to center the systems on the page automatically. Also see check-consistency. This variable can also be set in a \\layout block." , } , { label : "\\line-width" , detail : "4.5.4 Line length" , documentation : "The most basic settings influencing the spacing are indent and line-width. They are set in the \\layout block. They control the indentation of the first line of music, and the lengths of the lines.\n\nIf ragged-right is set to true in the \\layout block, then systems ends at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is. The normal default setting is false, but if the score has only one system the default value is true." , } , { label : "\\locrian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\longa" , detail : "Durations" , documentation : "Durations are designated by numbers and dots. Durations are entered as their reciprocal values. For example, a quarter note is entered using a 4 (since it is a 1/4 note), and a half note is entered using a 2 (since it is a 1/2 note). For notes longer than a whole you must use the \\longa (a double breve) and \\breve commands. Durations as short as 128th notes may be specified. Shorter values are possible, but only as beamed notes.\n\n    \\time 8/1\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nHere are the same durations with automatic beaming turned off.\n\n    \\time 8/1\n    \\autoBeamOff\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nA note with the duration of a quadruple breve may be entered with \\maxima, but this is supported only within ancient music notation. For details, see Ancient notation." , } , { label : "\\longa" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\lower" , detail : "Text alignment" , documentation : "Vertical alignment is a bit more complex. As stated above, markup objects can be moved as a whole; however, it is also possible to move specific elements inside a markup block. In this case, the element to be moved needs to be preceded with an anchor point, that can be another markup element or an invisible object. The following example demonstrates these two possibilities; the last markup in this example has no anchor point, and therefore is not moved.\n\n    d2^\\markup {\n      Acte I\n      \\raise #2 { Scène 1 }\n    }\n    a'\n    g_\\markup {\n      \\null\n      \\lower #4 \\bold { Très modéré }\n    }\n    a\n    d,^\\markup {\n      \\raise #4 \\italic { Une forêt. }\n    }\n    a'4 a g2 a" , } , { label : "\\ly:minimal-breaking" , detail : "4.3.5 Minimal page breaking" , documentation : "The ly:minimal-breaking function performs minimal computations to calculate the page breaking: it fills a page with as many systems as possible before moving to the next one. Thus, it may be preferred for scores with many pages, where the other page breaking functions could be too slow or memory demanding, or a lot of texts. It is enabled using:\n\n    \\paper {\n      page-breaking = #ly:minimal-breaking\n    }" , } , { label : "\\ly:one-line-breaking" , detail : "4.3.6 One-line page breaking" , documentation : "The ly:one-line-breaking function is a special-purpose page breaking algorithm that puts each score on its own page, and on a single line. This page breaking function does not typeset titles or margins; only the score will be displayed.\n\nThe page width will be adjusted so that the longest score fits on one line. In particular, paper-width, line-width and indent variables in the \\paper block will be ignored, although left-margin and right-margin will still be honored. The height of the page will be left unmodified." , } , { label : "\\ly:optimal-breaking" , detail : "4.3.3 Optimal page breaking" , documentation : "The ly:optimal-breaking function is LilyPond’s default method of determining page breaks. It attempts to find a page breaking that minimizes cramping and stretching, both horizontally and vertically. Unlike ly:page-turn-breaking, it has no concept of page turns." , } , { label : "\\ly:page-turn-breaking" , detail : "4.3.4 Optimal page turning" , documentation : "Often it is necessary to find a page breaking configuration so that there is a rest at the end of every second page. This way, the musician can turn the page without having to miss notes. The ly:page-turn-breaking function attempts to find a page breaking minimizing cramping and stretching, but with the additional restriction that it is only allowed to introduce page turns in specified places.\n\nThere are two steps to using this page breaking function. First, you must enable it in the \\paper block, as explained in Page breaking. Then you must tell the function where you would like to allow page breaks.\n\nThere are two ways to achieve the second step. First, you can specify each potential page turn manually, by inserting \\allowPageTurn into your input file at the appropriate places.\n\nIf this is too tedious, you can add a Page_turn_engraver to a Staff or Voice context. The Page_turn_engraver will scan the context for sections without notes (note that it does not scan for rests; it scans for the absence of notes. This is so that single-staff polyphony with rests in one of the parts does not throw off the Page_turn_engraver). When it finds a sufficiently long section without notes, the Page_turn_engraver will insert an \\allowPageTurn at the final bar line in that section, unless there is a ‘special’ bar line (such as a double bar), in which case the \\allowPageTurn will be inserted at the final ‘special’ bar line in the section." , } , { label : "\\lydian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\m" , detail : "Common chords" , documentation : "The table below shows the actions of the quality modifiers on triads and seventh chords. The default seventh step added to chords is a minor or flatted seventh, which makes the dominant seventh the basic seventh chord. All alterations are relative to the dominant seventh. A more complete table of modifier usage is found at Common chord modifiers.\n\nModifier\tAction\tExample\nNone\tThe default action; produces a major triad.\t\n \n\nm, m7\tThe minor chord. This modifier lowers the 3rd.\t\n \n\ndim, dim7\tThe diminished chord. This modifier lowers the 3rd, 5th and (if present) the 7th step.\t\n \n\naug\tThe augmented chord. This modifier raises the 5th step.\t\n \n\nmaj, maj7\tThe major 7th chord. This modifier adds a raised 7th step. The 7 following maj is optional. Do NOT use this modifier to create a major triad.\t\n \n\n" , } , { label : "\\magnify" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\magstep" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\magstep" , detail : "5.4.3 Distances and measurements" , documentation : "If just a section of a score needs to be rendered to a different scale, for example an ossia section or a footnote, the global staff size cannot simply be changed as this would affect the entire score. In such cases the change in size is made by overriding both the staff-space property of StaffSymbol and the size of the fonts. A Scheme function, magstep, is available to convert from a font size change to the equivalent change in staff-space. For an explanation and an example of its use, see Length and thickness of objects." , } , { label : "\\maj" , detail : "Common chords" , documentation : "The table below shows the actions of the quality modifiers on triads and seventh chords. The default seventh step added to chords is a minor or flatted seventh, which makes the dominant seventh the basic seventh chord. All alterations are relative to the dominant seventh. A more complete table of modifier usage is found at Common chord modifiers.\n\nModifier\tAction\tExample\nNone\tThe default action; produces a major triad.\t\n \n\nm, m7\tThe minor chord. This modifier lowers the 3rd.\t\n \n\ndim, dim7\tThe diminished chord. This modifier lowers the 3rd, 5th and (if present) the 7th step.\t\n \n\naug\tThe augmented chord. This modifier raises the 5th step.\t\n \n\nmaj, maj7\tThe major 7th chord. This modifier adds a raised 7th step. The 7 following maj is optional. Do NOT use this modifier to create a major triad.\t\n \n\n" , } , { label : "\\major" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\major seven symbols" , detail : "Predefined commands" , documentation : "\\whiteTriangleMarkup, \\blackTriangleMarkup, \\germanChords, \\semiGermanChords, \\italianChords, \\frenchChords." , } , { label : "\\majorSevenSymbol" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\make-dynamic-script" , detail : "New dynamic marks" , documentation : 'Simple, centered dynamic marks are easily created with the make-dynamic-script function.\n\n    sfzp = #(make-dynamic-script "sfzp")\n    \\relative c\' {\n      c4 c c\\sfzp c\n    }\n\nIn general, make-dynamic-script takes any markup object as its argument. The dynamic font only contains the characters f,m,p,r,s and z, so if a dynamic mark that includes plain text or punctuation symbols is desired, markup commands that reverts font family and font encoding to normal text should be used, for example \\normal-text. The interest of using make-dynamic-script instead of an ordinary markup is ensuring the vertical alignment of markup objects and hairpins that are attached to the same note head.\n\n    roundF = \\markup { \\center-align \\concat {\n               \\normal-text { \\bold { \\italic ( } }\n               \\dynamic f\n               \\normal-text { \\bold { \\italic ) } } } }\n    boxF = \\markup { \\bracket { \\dynamic f } }\n    mfEspress = \\markup { \\center-align \\line {\n                  \\hspace #3.7 mf \\normal-text \\italic espress. } }\n    roundFdynamic = #(make-dynamic-script roundF)\n    boxFdynamic = #(make-dynamic-script boxF)\n    mfEspressDynamic = #(make-dynamic-script mfEspress)\n    \\relative c\' {\n      c4_\\roundFdynamic\\< d e f\n      g,1~_\\boxFdynamic\\>\n      g1\n      g\'1~\\mfEspressDynamic\n      g1\n    }\n\nThe Scheme form of markup mode may be used instead. Its syntax is explained in Markup construction in Scheme.\n\n    moltoF = #(make-dynamic-script\n                (markup #:normal-text "molto"\n                        #:dynamic "f"))\n    \\relative c\' {\n      <d e>16 <d e>\n      <d e>2..\\moltoF\n    }\n\nTo left-align the dynamic text rather than centering it on a note use a \\tweak:\n\n    moltoF = \\tweak DynamicText.self-alignment-X #LEFT\n             #(make-dynamic-script\n                (markup #:normal-text "molto"\n                        #:dynamic "f"))\n    \\relative c\' {\n      <d e>16 <d e>\n      <d e>2..\\moltoF <d e>1\n    }\n\nFont settings in markup mode are described in Selecting font and font size.' , } , { label : "\\make-pango-font-tree" , detail : "Entire document fonts" , documentation : "Notation Reference: Fonts explained, Single entry fonts, Selecting font and font size, Font." , } , { label : "\\makeClusters" , detail : "Clusters" , documentation : "A cluster indicates a continuous range of pitches to be played. They can be denoted as the envelope of a set of notes. They are entered by applying the function \\makeClusters to a sequence of chords, e.g.,\n\n    \\makeClusters { <g b>2 <c g'> }\n\nOrdinary notes and clusters can be put together in the same staff, even simultaneously. In such a case no attempt is made to automatically avoid collisions between ordinary notes and clusters." , } , { label : "\\makeClusters" , detail : "A.18 Available music functions" , documentation : "Display chords in arg as clusters." , } , { label : "\\makeDefaultStringTuning" , detail : "A.18 Available music functions" , documentation : "This defines a string tuning symbol via a list of pitches. The symbol also gets registered in defaultStringTunings for documentation purposes." , } , { label : "\\mark" , detail : "Rehearsal marks" , documentation : "To print a rehearsal mark, use the \\mark command.\n\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark \\default\n\nThe mark is incremented automatically if you use \\mark \\default, but you can also use an integer argument to set the mark manually. The value to use is stored in the property rehearsalMark.\n\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark #8\n    c1 \\mark \\default\n    c1 \\mark \\default\n\nThe letter ‘I’ is skipped in accordance with engraving traditions. If you wish to include the letter ‘I’, then use one of the following commands, depending on which style of rehearsal mark you want (letters only, letters in a hollow box, or letters in a hollow circle).\n\n    \\set Score.markFormatter = #format-mark-alphabet\n    \\set Score.markFormatter = #format-mark-box-alphabet\n    \\set Score.markFormatter = #format-mark-circle-alphabet\n\n    \\set Score.markFormatter = #format-mark-box-alphabet\n    c1 \\mark \\default\n    c1 \\mark \\default\n    c1 \\mark #8\n    c1 \\mark \\default\n    c1 \\mark \\default" , } , { label : "\\mark" , detail : "Text marks" , documentation : 'Various text elements may be added to a score using the syntax described in Rehearsal marks:\n\n    c4\n    \\mark "Allegro"\n    c c c\n\nThis syntax makes it possible to put any text on a bar line; more complex text formatting may be added using a \\markup block, as described in Formatting text:\n\n    <c e>1\n    \\mark \\markup { \\italic { colla parte } }\n    <d f>2 <e g>\n    <c f aes>1\n\nThis syntax also allows to print special signs, like coda, segno or fermata, by specifying the appropriate symbol name as explained in Music notation inside markup:\n\n    <bes f>2 <aes d>\n    \\mark \\markup { \\musicglyph #"scripts.ufermata" }\n    <e g>1\n\nSuch objects are only typeset above the top staff of the score; depending on whether they are specified at the end or the middle of a bar, they can be placed above the bar line or between notes. When specified at a line break, the mark will be printed at the beginning of the next line.\n\n    \\mark "Allegro"\n    c1 c\n    \\mark "assai" \\break\n    c  c' , } , { label : "\\mark" , detail : "A.18 Available music functions" , documentation : "Make the music for the \\mark command." , } , { label : "\\markLengthOff" , detail : "Metronome marks" , documentation : 'In a part for an instrument with long periods of rests, tempo indications sometimes follow each other closely. The command \\markLengthOn provides extra horizontal space to prevent tempo indications from overlapping, and \\markLengthOff restores the default behavior of ignoring tempo marks for horizontal spacing.\n\n    \\compressFullBarRests\n    \\markLengthOn\n    \\tempo "Molto vivace"\n    R1*12\n    \\tempo "Meno mosso"\n    R1*16\n    \\markLengthOff\n    \\tempo "Tranquillo"\n    R1*20' , } , { label : "\\markLengthOff" , detail : "Text marks" , documentation : "\\markLengthOn, \\markLengthOff." , } , { label : "\\markLengthOn" , detail : "Metronome marks" , documentation : 'In a part for an instrument with long periods of rests, tempo indications sometimes follow each other closely. The command \\markLengthOn provides extra horizontal space to prevent tempo indications from overlapping, and \\markLengthOff restores the default behavior of ignoring tempo marks for horizontal spacing.\n\n    \\compressFullBarRests\n    \\markLengthOn\n    \\tempo "Molto vivace"\n    R1*12\n    \\tempo "Meno mosso"\n    R1*16\n    \\markLengthOff\n    \\tempo "Tranquillo"\n    R1*20' , } , { label : "\\markLengthOn" , detail : "Text marks" , documentation : "\\markLengthOn, \\markLengthOff." , } , { label : "\\markup" , detail : "Text marks" , documentation : 'Various text elements may be added to a score using the syntax described in Rehearsal marks:\n\n    c4\n    \\mark "Allegro"\n    c c c\n\nThis syntax makes it possible to put any text on a bar line; more complex text formatting may be added using a \\markup block, as described in Formatting text:\n\n    <c e>1\n    \\mark \\markup { \\italic { colla parte } }\n    <d f>2 <e g>\n    <c f aes>1\n\nThis syntax also allows to print special signs, like coda, segno or fermata, by specifying the appropriate symbol name as explained in Music notation inside markup:\n\n    <bes f>2 <aes d>\n    \\mark \\markup { \\musicglyph #"scripts.ufermata" }\n    <e g>1\n\nSuch objects are only typeset above the top staff of the score; depending on whether they are specified at the end or the middle of a bar, they can be placed above the bar line or between notes. When specified at a line break, the mark will be printed at the beginning of the next line.\n\n    \\mark "Allegro"\n    c1 c\n    \\mark "assai" \\break\n    c  c' , } , { label : "\\markup" , detail : "Separate text" , documentation : "A \\markup block can exist by itself, outside of any \\score block, as a “top-level expression”. This syntax is described in File structure.\n\n    \\markup {\n      Tomorrow, and tomorrow, and tomorrow...\n    }\n\nThis allows printing text separately from the music, which is particularly useful when the input file contains several music pieces, as described in Multiple scores in a book.\n\n    \\score {\n      c'1\n    }\n    \\markup {\n      Tomorrow, and tomorrow, and tomorrow...\n    }\n    \\score {\n      c'1\n    }\n\nSeparate text blocks can be spread over multiple pages, making it possible to print text documents or books entirely within LilyPond. This feature, and the specific syntax it requires, are described in Multi-page markup." , } , { label : "\\markup" , detail : "Separate text" , documentation : "\\markup, \\markuplist." , } , { label : "\\markup" , detail : "Text markup introduction" , documentation : "A \\markup block is used to typeset text with an extensible syntax called “markup mode”." , } , { label : "\\markup-markup-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance between two (title or top-level) markups." , } , { label : "\\markup-system-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance between a (title or top-level) markup and the system that follows it." , } , { label : "\\markuplist" , detail : "Separate text" , documentation : "\\markup, \\markuplist." , } , { label : "\\markuplist" , detail : "Multi-page markup" , documentation : "Although standard markup objects are not breakable, a specific syntax makes it possible to enter lines of text that can spread over multiple pages:\n\n    \\markuplist {\n      \\justified-lines {\n        A very long text of justified lines.\n        ...\n      }\n      \\wordwrap-lines {\n        Another very long paragraph.\n        ...\n      }\n      ...\n    }\n\nThis syntax accepts a list of markups, that can be\n\n - the result of a markup list command,\n - a list of markups,\n - a list of markup lists.\n\nAn exhaustive list of markup list commands can be found in Text markup list commands." , } , { label : "\\max-systems-per-page" , detail : "\\paper variables for line breaking" , documentation : "The maximum number of systems that will be placed on a page. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset." , } , { label : "\\maxima" , detail : "Durations" , documentation : "Durations are designated by numbers and dots. Durations are entered as their reciprocal values. For example, a quarter note is entered using a 4 (since it is a 1/4 note), and a half note is entered using a 2 (since it is a 1/2 note). For notes longer than a whole you must use the \\longa (a double breve) and \\breve commands. Durations as short as 128th notes may be specified. Shorter values are possible, but only as beamed notes.\n\n    \\time 8/1\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nHere are the same durations with automatic beaming turned off.\n\n    \\time 8/1\n    \\autoBeamOff\n    c\\longa c\\breve c1 c2\n    c4 c8 c16 c32 c64 c128 c128\n\nA note with the duration of a quadruple breve may be entered with \\maxima, but this is supported only within ancient music notation. For details, see Ancient notation." , } , { label : "\\maxima" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\measureLength" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\measureLength" , detail : "Time administration" , documentation : "Time is administered by the Timing_translator, which by default is to be found in the Score context. An alias, Timing, is added to the context in which the Timing_translator is placed. To ensure that the Timing alias is available, you may need to explicitly instantiate the containing context (such as Voice or Staff).\n\nThe following properties of Timing are used to keep track of timing within the score." , } , { label : "\\measurePosition" , detail : "Upbeats" , documentation : "Partial or pick-up measures, such as an anacrusis or an upbeat, are entered using the \\partial command,\n\n    \\partial duration\n\nwhere duration is the remaining length of the partial measure before the start of the next full measure.\n\n    \\time 3/4\n    \\partial 8\n    e8 | a4 c8 b c4 |\n\nThe duration can be any value less than a full measure:\n\n    \\time 3/4\n    \\partial 4.\n    r4 e8 | a4 c8 b c4 |\n\n\\partial duration can also be written as:\n\n    \\set Timing.measurePosition -duration\n\nSo the first example above could be written:\n\n    \\time 3/4\n    \\set Timing.measurePosition = #(ly:make-moment -1/8)\n    e8 | a4 c8 b c4 |\n\nThe property measurePosition contains a rational number, which is usually positive and indicates how much of the measure has passed at this point. The \\partial duration command sets it to a negative number, when it has a different meaning: it then says that the current (first) bar will be preceded by a bar 0 (the partial bar) with a duration given by duration." , } , { label : "\\measurePosition" , detail : "Time administration" , documentation : "Time is administered by the Timing_translator, which by default is to be found in the Score context. An alias, Timing, is added to the context in which the Timing_translator is placed. To ensure that the Timing alias is available, you may need to explicitly instantiate the containing context (such as Voice or Staff).\n\nThe following properties of Timing are used to keep track of timing within the score." , } , { label : "MensuralStaff" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "\\mergeDifferentlyDottedOff" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mergeDifferentlyDottedOn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mergeDifferentlyHeadedOff" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mergeDifferentlyHeadedOn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\mf" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\min-systems-per-page" , detail : "\\paper variables for line breaking" , documentation : "The minimum number of systems that will be placed on a page. This may cause pages to be overfilled if it is made too large. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset." , } , { label : "\\minimum-Y-extent" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\minimumFret" , detail : "Default tablatures" , documentation : 'By default pitches are assigned to the lowest playing position on the fret-board (first position). Open strings are automatically preferred. If you would like a certain pitch to be played on a specific string you can add a string number indication to the pitch name. If you don’t want to have string number indications appear in traditional notation, you can override the respective stencil. Usually it will be more comfortable to define the playing position by using the value of minimumFret. The default value for minimumFret is 0.\n\nEven when minimumFret is set, open strings are used whenever possible. This behaviour can be changed by setting restrainOpenStrings to #t.\n\n    \\layout { \\omit Voice.StringNumber }\n    \\new StaffGroup <<\n       \\new Staff \\relative c {\n         \\clef "treble_8"\n         \\time 2/4\n         c16 d e f g4\n         c,16\\5 d\\5 e\\4 f\\4 g4\\4\n         c,16 d e f g4\n       }\n       \\new TabStaff \\relative c {\n         c16 d e f g4\n         c,16\\5 d\\5 e\\4 f\\4 g4\\4\n         \\set TabStaff.minimumFret = #5\n         \\set TabStaff.restrainOpenStrings = ##t\n         c,16 d e f g4\n       }\n    >>' , } , { label : "\\minimumFret" , detail : "Automatic fret diagrams" , documentation : "The minimum fret to be used in calculating strings and frets for the FretBoard context can be set with the minimumFret property.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          d1:m d:m\n        }\n      }\n      \\new FretBoards {\n        <d a d' f'>1\n        \\set FretBoards.minimumFret = #5\n        <d a d' f'>1\n      }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <d a d' f'>1\n        <d a d' f'>1\n      }\n    >>\n\nThe strings and frets for the FretBoards context depend on the stringTunings property, which has the same meaning as in the TabStaff context. See Custom tablatures for information on the stringTunings property.\n\nThe graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a FretBoards fret diagram, the interface properties belong to FretBoards.FretBoard." , } , { label : "\\minimumPageTurnLength" , detail : "4.3.4 Optimal page turning" , documentation : 'The Page_turn_engraver reads the context property minimumPageTurnLength to determine how long a note-free section must be before a page turn is considered. The default value for minimumPageTurnLength is (ly:make-moment 1/1). If you want to disable page turns, you can set it to something very large.\n\n    \\new Staff \\with { \\consists "Page_turn_engraver" }\n    {\n      a4 b c d |\n      R1 | % a page turn will be allowed here\n      a4 b c d |\n      \\set Staff.minimumPageTurnLength = #(ly:make-moment 5/2)\n      R1 | % a page turn will not be allowed here\n      a4 b r2 |\n      R1*2 | % a page turn will be allowed here\n      a1\n    }' , } , { label : "\\minimumRepeatLengthForPageTurn" , detail : "4.3.4 Optimal page turning" , documentation : "The Page_turn_engraver detects volta repeats. It will only allow a page turn during the repeat if there is enough time at the beginning and end of the repeat to turn the page back. The Page_turn_engraver can also disable page turns if the repeat is very short. If you set the context property minimumRepeatLengthForPageTurn then the Page_turn_engraver will only allow turns in repeats whose duration is longer than this value.\n\nThe page turning commands, \\pageTurn, \\noPageTurn and \\allowPageTurn, may also be used at top-level, between scores and top-level markups." , } , { label : "\\minor" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\minorChordModifier" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\mixed" , detail : "Piano pedals" , documentation : "There are three styles of pedal indications: text, bracket, and mixed. The sustain pedal and the una corda pedal use the text style by default while the sostenuto pedal uses mixed by default.\n\n    c4\\sustainOn g c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'mixed\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'bracket\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\n    \\bar \"|.\"\n\nThe placement of the pedal commands matches the physical movement of the sustain pedal during piano performance. Pedalling to the final bar line is indicated by omitting the final pedal off command.\n\nPedal indications may be placed in a Dynamics context, which aligns them on a horizontal line." , } , { label : "\\mixolydian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\modalInversion" , detail : "Modal inversion" , documentation : "A motif can be inverted within a given scale around a given pivot note and transposed in a single operation with:\n\n    \\modalInversion around-pitch to-pitch scale motif\n\nThe notes of motif are placed the same number of scale degrees from the around-pitch note within the scale, but in the opposite direction, and the result is then shifted within the scale by the number of scale degrees given by the interval between to-pitch and around-pitch.\n\nSo to simply invert around a note in the scale use the same value for around-pitch and to-pitch:\n\n    octatonicScale = \\relative c' { ees f fis gis a b c d }\n    motif = \\relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }\n    \\new Staff {\n      \\motif\n      \\modalInversion fis' fis' \\octatonicScale \\motif\n    }\n\nTo invert around a pivot between two notes in the scale, invert around one of the notes and then transpose by one scale degree. The two notes specified can be interpreted as bracketing the pivot point:\n\n    scale = \\relative c' { c g' }\n    motive = \\relative c' { c c g' c, }\n    \\new Staff {\n      \\motive\n      \\modalInversion c' g' \\scale \\motive\n    }\n\nThe combined operation of inversion and retrograde produce the retrograde-inversion:\n\n    octatonicScale = \\relative c' { ees f fis gis a b c d }\n    motif = \\relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }\n    \\new Staff {\n      \\motif\n      \\retrograde \\modalInversion c' c' \\octatonicScale \\motif\n    }" , } , { label : "\\modalInversion" , detail : "A.18 Available music functions" , documentation : "Invert music about around using scale and transpose from around to to." , } , { label : "\\modalTranspose" , detail : "Modal transposition" , documentation : "A motif can be transposed within a given scale with:\n\n    \\modalTranspose from-pitch to-pitch scale motif\n\nThe notes of motif are shifted within the scale by the number of scale degrees given by the interval between to-pitch and from-pitch:\n\n    diatonicScale = \\relative c' { c d e f g a b }\n    motif = \\relative c' { c8 d e f g a b c }\n    \\new Staff {\n      \\motif\n      \\modalTranspose c f \\diatonicScale \\motif\n      \\modalTranspose c b, \\diatonicScale \\motif\n    }\n\nAn ascending scale of any length and with any intervals may be specified:\n\n    pentatonicScale = \\relative c' { ges aes bes des ees }\n    motif = \\relative c' { ees8 des ges,4 <ges' bes,> <ges bes,> }\n    \\new Staff {\n      \\motif\n      \\modalTranspose ges ees' \\pentatonicScale \\motif\n    }\n\nWhen used with a chromatic scale \\modalTranspose has a similar effect to \\transpose, but with the ability to specify the names of the notes to be used:\n\n    chromaticScale = \\relative c' { c cis d dis e f fis g gis a ais b }\n    motif = \\relative c' { c8 d e f g a b c }\n    \\new Staff {\n      \\motif\n      \\transpose c f \\motif\n      \\modalTranspose c f \\chromaticScale \\motif\n    }" , } , { label : "\\modalTranspose" , detail : "A.18 Available music functions" , documentation : "Transpose music from pitch from to pitch to using scale." , } , { label : "\\modern" , detail : "Automatic accidentals" , documentation : "This rule corresponds to the common practice in the twentieth century. It omits some extra natural signs, which were traditionally prefixed to a sharp following a double sharp, or a flat following a double flat. The modern rule prints the same accidentals as default, with two additions that serve to avoid ambiguity: after temporary accidentals, cancellation marks are printed also in the following measure (for notes in the same octave) and, in the same measure, for notes in other octaves. Hence the naturals before the b and the c in the second measure of the upper staff:" , } , { label : "\\modern-cautionary" , detail : "Automatic accidentals" , documentation : "This rule is similar to modern, but the ‘extra’ accidentals (the ones not typeset by default) are typeset as cautionary accidentals. They are by default printed with parentheses, but they can also be printed in reduced size by defining the cautionary-style property of AccidentalSuggestion." , } , { label : "\\modern-voice" , detail : "Automatic accidentals" , documentation : "This rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice, but they are canceled across voices in the same Staff. Hence, the a in the last measure is canceled because the previous cancellation was in a different voice, and the d in the lower staff is canceled because of the accidental in a different voice in the previous measure:" , } , { label : "\\modern-voice-cautionary" , detail : "Automatic accidentals" , documentation : "" , } , { label : "\\mp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "MultiMeasureRestText" , detail : "Full measure rests" , documentation : 'Markups can be added to multi-measure rests. The predefined command \\fermataMarkup is provided for adding fermatas.\n\n    \\compressFullBarRests\n    \\time 3/4\n    R2.*10^\\markup { \\italic "ad lib." }\n    R2.^\\fermataMarkup\n\nNote: Markups attached to a multi-measure rest are objects of type MultiMeasureRestText, not TextScript. Overrides must be directed to the correct object, or they will be ignored. See the following example:\n\n\n\n    % This fails, as the wrong object name is specified\n    \\override TextScript.padding = #5\n    R1^"wrong"\n    % This is the correct object name to be specified\n    \\override MultiMeasureRestText.padding = #5\n    R1^"right"\n\nWhen a multi-measure rest immediately follows a \\partial setting, resulting bar-check warnings may not be displayed.' , } , { label : "\\musicglyph" , detail : "Rehearsal marks" , documentation : 'Music glyphs (such as the segno sign) may be printed inside a \\mark\n\n    c1 \\mark \\markup { \\musicglyph #"scripts.segno" }\n    c1 \\mark \\markup { \\musicglyph #"scripts.coda" }\n    c1 \\mark \\markup { \\musicglyph #"scripts.ufermata" }\n    c1\n\nSee The Feta font, for a list of symbols which may be printed with \\musicglyph.\n\nFor common tweaks to the positioning of rehearsal marks, see Formatting text. For more precise control, see break-alignable-interface in Aligning objects.\n\nThe file ‘scm/translation-functions.scm’ contains the definitions of format-mark-numbers and format-mark-letters. They can be used as inspiration for other formatting functions.' , } , { label : "\\musicMap" , detail : "A.18 Available music functions" , documentation : "Apply proc to mus and all of the music it contains." , } , { label : "\\name" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\neo-modern" , detail : "Automatic accidentals" , documentation : "This rule reproduces a common practice in contemporary music: accidentals are printed like with modern, but they are printed again if the same note appears later in the same measure – except if the note is immediately repeated." , } , { label : "\\neo-modern-cautionary" , detail : "Automatic accidentals" , documentation : "This rule is similar to neo-modern, but the extra accidentals are printed as cautionary accidentals." , } , { label : "\\neo-modern-voice" , detail : "Automatic accidentals" , documentation : "This rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice as with neo-modern, but they are canceled across voices in the same Staff." , } , { label : "\\neo-modern-voice-cautionary" , detail : "Automatic accidentals" , documentation : "This rule is similar to neo-modern-voice, but the extra accidentals are printed as cautionary accidentals." , } , { label : "\\no-reset" , detail : "Automatic accidentals" , documentation : "This is the same as default but with accidentals lasting ‘forever’ and not only within the same measure:" , } , { label : "\\noBeam" , detail : "Manual beams" , documentation : "Individual notes may be marked with \\noBeam to prevent them from being beamed:\n\n    \\time 2/4\n    c8 c\\noBeam c c\n\nGrace note beams and normal note beams can occur simultaneously. Unbeamed grace notes are not put into normal note beams.\n\n    c4 d8[\n    \\grace { e32 d c d }\n    e8] e[ e\n    \\grace { f16 }\n    e8 e]" , } , { label : "\\nonstaff-nonstaff-spacing" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\nonstaff-relatedstaff-spacing" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\nonstaff-unrelatedstaff-spacing" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\noPageBreak" , detail : "A.18 Available music functions" , documentation : "Forbid a page break. May be used at toplevel (i.e., between scores or markups), or inside a score." , } , { label : "\\noPageTurn" , detail : "A.18 Available music functions" , documentation : "Forbid a page turn. May be used at toplevel (i.e., between scores or markups), or inside a score." , } , { label : "\\normal-size-super" , detail : "Selecting font and font size" , documentation : "Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well:\n\n    \\markup {\n      \\column {\n        \\line { 1 \\super st movement }\n        \\line { 1 \\normal-size-super st movement\n          \\sub { (part two) }  }\n      }\n    }" , } , { label : "\\normalsize" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\normalsize" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "Note_heads_engraver" , detail : "Automatic note splitting" , documentation : 'Long notes which overrun bar lines can be converted automatically to tied notes. This is done by replacing the Note_heads_engraver with the Completion_heads_engraver. Similarly, long rests which overrun bar lines are split automatically by replacing the Rest_engraver with the Completion_rest_engraver. In the following example, notes and rests crossing the bar lines are split, notes are also tied.\n\n    \\new Voice \\with {\n      \\remove "Note_heads_engraver"\n      \\consists "Completion_heads_engraver"\n      \\remove "Rest_engraver"\n      \\consists "Completion_rest_engraver"\n    }\n    { c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 }\n\nThese engravers split all running notes and rests at the bar line, and inserts ties for notes. One of its uses is to debug complex scores: if the measures are not entirely filled, then the ties show exactly how much each measure is off.' , } , { label : "\\null" , detail : "Text alignment" , documentation : "Vertical alignment is a bit more complex. As stated above, markup objects can be moved as a whole; however, it is also possible to move specific elements inside a markup block. In this case, the element to be moved needs to be preceded with an anchor point, that can be another markup element or an invisible object. The following example demonstrates these two possibilities; the last markup in this example has no anchor point, and therefore is not moved.\n\n    d2^\\markup {\n      Acte I\n      \\raise #2 { Scène 1 }\n    }\n    a'\n    g_\\markup {\n      \\null\n      \\lower #4 \\bold { Très modéré }\n    }\n    a\n    d,^\\markup {\n      \\raise #4 \\italic { Une forêt. }\n    }\n    a'4 a g2 a" , } , { label : "\\numericTimeSignature" , detail : "Time signature" , documentation : "The time signature symbol that is used in 2/2 and 4/4 time can be changed to a numeric style:\n\n    % Default style\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Change to numeric style\n    \\numericTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n    % Revert to default style\n    \\defaultTimeSignature\n    \\time 4/4 c1\n    \\time 2/2 c1\n\nMensural time signatures are covered in Mensural time signatures." , } , { label : "\\octaveCheck" , detail : "Octave checks" , documentation : "In relative mode, it is easy to forget an octave changing mark. Octave checks make such errors easier to find by displaying a warning and correcting the octave if a note is found in an unexpected octave.\n\nTo check the octave of a note, specify the absolute octave after the = symbol. This example will generate a warning (and change the pitch) because the second note is the absolute octave d'' instead of d' as indicated by the octave correction.\n\n    \\relative c'' {\n      c2 d='4 d\n      e2 f\n    }\n\nThe octave of notes may also be checked with the \\octaveCheck controlpitch command. controlpitch is specified in absolute mode. This checks that the interval between the previous note and the controlpitch is within a fourth (i.e., the normal calculation of relative mode). If this check fails, a warning is printed, but the previous note is not changed. Future notes are relative to the controlpitch.\n\n    \\relative c'' {\n      c2 d\n      \\octaveCheck c'\n      e2 f\n    }\n\nCompare the two bars below. The first and third \\octaveCheck checks fail, but the second one does not fail.\n\n    \\relative c'' {\n      c4 f g f\n      c4\n      \\octaveCheck c'\n      f\n      \\octaveCheck c'\n      g\n      \\octaveCheck c'\n      f\n    }" , } , { label : "\\octaveCheck" , detail : "A.18 Available music functions" , documentation : "Octave check." , } , { label : "\\offset" , detail : "A.18 Available music functions" , documentation : "Offset the default value of property of item by offsets. If item is a string, the result is \\override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied." , } , { label : "\\omit" , detail : "A.18 Available music functions" , documentation : "Set item’s ‘stencil’ property to #f, effectively omitting it without taking up space.\n\nIf item is a symbol list of form GrobName or Context.GrobName, the result is an override for the grob name specified by it. If item is a music expression, the result is the same music expression with an appropriate tweak applied to it." , } , { label : "\\once" , detail : "A.18 Available music functions" , documentation : "Set once to #t on all layout instruction events in music. This will complain about music with an actual duration. As a special exception, if music contains ‘tweaks’ it will be silently ignored in order to allow for \\once \\tweak to work as both one-time override and proper tweak." , } , { label : "\\oneVoice" , detail : "Single-staff polyphony" , documentation : 'The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example:\n\n    \\new Staff <<\n      \\new Voice = "first"\n        { \\voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }\n      \\new Voice= "second"\n        { \\voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }\n    >>\n\nHere, voices are instantiated explicitly and are given names. The \\voiceOne … \\voiceFour commands set up the voices so that first and third voices get stems up, second and fourth voices get stems down, third and fourth voice note heads are horizontally shifted, and rests in the respective voices are automatically moved to avoid collisions. The \\oneVoice command returns all the voice settings to the neutral default directions.' , } , { label : "\\ottava" , detail : "Ottava brackets" , documentation : "Ottava brackets introduce an extra transposition of an octave for the staff:\n\n    a2 b\n    \\ottava #-2\n    a2 b\n    \\ottava #-1\n    a2 b\n    \\ottava #0\n    a2 b\n    \\ottava #1\n    a2 b\n    \\ottava #2\n    a2 b" , } , { label : "\\ottava" , detail : "A.18 Available music functions" , documentation : "Set the octavation." , } , { label : "\\outer-margin" , detail : "\\paper variables for two-sided mode" , documentation : "The margin all pages have at the outer side if they are part of a book. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true." , } , { label : "\\outside-staff-horizontal-padding" , detail : "4.4.3 Vertical collision avoidance" , documentation : 'Intuitively, there are some objects in musical notation that belong to the staff and there are other objects that should be placed outside the staff. Objects belonging outside the staff include things such as rehearsal marks, text and dynamic markings (from now on, these will be called outside-staff objects). LilyPond’s rule for the vertical placement of outside-staff objects is to place them as close to the staff as possible but not so close that they collide with another object.\n\nLilyPond uses the outside-staff-priority property to determine whether a grob is an outside-staff object: if outside-staff-priority is a number, the grob is an outside-staff object. In addition, outside-staff-priority tells LilyPond in which order the objects should be placed.\n\nFirst, LilyPond places all the objects that do not belong outside the staff. Then it sorts the outside-staff objects according to their outside-staff-priority (in increasing order). One by one, LilyPond takes the outside-staff objects and places them so that they do not collide with any objects that have already been placed. That is, if two outside-staff grobs are competing for the same space, the one with the lower outside-staff-priority will be placed closer to the staff.\n\n    c4_"Text"\\pp\n    r2.\n    \\once \\override TextScript.outside-staff-priority = #1\n    c4_"Text"\\pp % this time the text will be closer to the staff\n    r2.\n    % by setting outside-staff-priority to a non-number,\n    % we disable the automatic collision avoidance\n    \\once \\override TextScript.outside-staff-priority = ##f\n    \\once \\override DynamicLineSpanner.outside-staff-priority = ##f\n    c4_"Text"\\pp % now they will collide\n\nThe vertical padding around outside-staff objects can be controlled with outside-staff-padding.\n\n    \\once \\override TextScript.outside-staff-padding = #0\n    a4-"outside-staff-padding = #0"\n    \\once \\override TextScript.outside-staff-padding = #3\n    d-"outside-staff-padding = #3"\n    c-"default outside-staff-padding"\n    b-"default outside-staff-padding"\n    R1\n\nBy default, outside-staff objects are placed so they avoid a horizontal collision with previously-positioned grobs. This can lead to situations in which objects are placed close to each other horizontally. As shown in the example below, setting outside-staff-horizontal-padding increases the horizontal spacing required, and in this case moves the text up to prevent it from getting too close to the ledger lines.\n\n    c4^"Word" c c\'\'2\n    R1\n    \\once \\override TextScript.outside-staff-horizontal-padding = #1\n    c,,4^"Word" c c\'\'2' , } , { label : "\\outside-staff-padding" , detail : "4.4.3 Vertical collision avoidance" , documentation : 'Intuitively, there are some objects in musical notation that belong to the staff and there are other objects that should be placed outside the staff. Objects belonging outside the staff include things such as rehearsal marks, text and dynamic markings (from now on, these will be called outside-staff objects). LilyPond’s rule for the vertical placement of outside-staff objects is to place them as close to the staff as possible but not so close that they collide with another object.\n\nLilyPond uses the outside-staff-priority property to determine whether a grob is an outside-staff object: if outside-staff-priority is a number, the grob is an outside-staff object. In addition, outside-staff-priority tells LilyPond in which order the objects should be placed.\n\nFirst, LilyPond places all the objects that do not belong outside the staff. Then it sorts the outside-staff objects according to their outside-staff-priority (in increasing order). One by one, LilyPond takes the outside-staff objects and places them so that they do not collide with any objects that have already been placed. That is, if two outside-staff grobs are competing for the same space, the one with the lower outside-staff-priority will be placed closer to the staff.\n\n    c4_"Text"\\pp\n    r2.\n    \\once \\override TextScript.outside-staff-priority = #1\n    c4_"Text"\\pp % this time the text will be closer to the staff\n    r2.\n    % by setting outside-staff-priority to a non-number,\n    % we disable the automatic collision avoidance\n    \\once \\override TextScript.outside-staff-priority = ##f\n    \\once \\override DynamicLineSpanner.outside-staff-priority = ##f\n    c4_"Text"\\pp % now they will collide\n\nThe vertical padding around outside-staff objects can be controlled with outside-staff-padding.\n\n    \\once \\override TextScript.outside-staff-padding = #0\n    a4-"outside-staff-padding = #0"\n    \\once \\override TextScript.outside-staff-padding = #3\n    d-"outside-staff-padding = #3"\n    c-"default outside-staff-padding"\n    b-"default outside-staff-padding"\n    R1\n\nBy default, outside-staff objects are placed so they avoid a horizontal collision with previously-positioned grobs. This can lead to situations in which objects are placed close to each other horizontally. As shown in the example below, setting outside-staff-horizontal-padding increases the horizontal spacing required, and in this case moves the text up to prevent it from getting too close to the ledger lines.\n\n    c4^"Word" c c\'\'2\n    R1\n    \\once \\override TextScript.outside-staff-horizontal-padding = #1\n    c,,4^"Word" c c\'\'2' , } , { label : "\\outside-staff-priority" , detail : "4.4.3 Vertical collision avoidance" , documentation : 'Intuitively, there are some objects in musical notation that belong to the staff and there are other objects that should be placed outside the staff. Objects belonging outside the staff include things such as rehearsal marks, text and dynamic markings (from now on, these will be called outside-staff objects). LilyPond’s rule for the vertical placement of outside-staff objects is to place them as close to the staff as possible but not so close that they collide with another object.\n\nLilyPond uses the outside-staff-priority property to determine whether a grob is an outside-staff object: if outside-staff-priority is a number, the grob is an outside-staff object. In addition, outside-staff-priority tells LilyPond in which order the objects should be placed.\n\nFirst, LilyPond places all the objects that do not belong outside the staff. Then it sorts the outside-staff objects according to their outside-staff-priority (in increasing order). One by one, LilyPond takes the outside-staff objects and places them so that they do not collide with any objects that have already been placed. That is, if two outside-staff grobs are competing for the same space, the one with the lower outside-staff-priority will be placed closer to the staff.\n\n    c4_"Text"\\pp\n    r2.\n    \\once \\override TextScript.outside-staff-priority = #1\n    c4_"Text"\\pp % this time the text will be closer to the staff\n    r2.\n    % by setting outside-staff-priority to a non-number,\n    % we disable the automatic collision avoidance\n    \\once \\override TextScript.outside-staff-priority = ##f\n    \\once \\override DynamicLineSpanner.outside-staff-priority = ##f\n    c4_"Text"\\pp % now they will collide\n\nThe vertical padding around outside-staff objects can be controlled with outside-staff-padding.\n\n    \\once \\override TextScript.outside-staff-padding = #0\n    a4-"outside-staff-padding = #0"\n    \\once \\override TextScript.outside-staff-padding = #3\n    d-"outside-staff-padding = #3"\n    c-"default outside-staff-padding"\n    b-"default outside-staff-padding"\n    R1\n\nBy default, outside-staff objects are placed so they avoid a horizontal collision with previously-positioned grobs. This can lead to situations in which objects are placed close to each other horizontally. As shown in the example below, setting outside-staff-horizontal-padding increases the horizontal spacing required, and in this case moves the text up to prevent it from getting too close to the ledger lines.\n\n    c4^"Word" c c\'\'2\n    R1\n    \\once \\override TextScript.outside-staff-horizontal-padding = #1\n    c,,4^"Word" c c\'\'2' , } , { label : "\\overrideProperty" , detail : "A.18 Available music functions" , documentation : "Set the grob property specified by grob-property-path to value. grob-property-path is a symbol list of the form Context.GrobName.property or GrobName.property, possibly with subproperties given as well." , } , { label : "\\overrideTimeSignatureSettings" , detail : "A.18 Available music functions" , documentation : "Override timeSignatureSettings for time signatures of time-signature to have settings of base-moment, beat-structure, and beam-exceptions." , } , { label : "\\p" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\pad-around" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-markup" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-to-box" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\pad-x" , detail : "Graphic notation inside markup" , documentation : 'Some commands may require an increase in the padding around the text; this is achieved with some markup commands exhaustively described in Align.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\box "Charles Ives (1874 - 1954)"\n        \\null\n        \\box \\pad-markup #2 "THE UNANSWERED QUESTION"\n        \\box \\pad-x #8 "A Cosmic Landscape"\n        \\null\n      }\n    }\n    \\markup \\column {\n      \\line {\n        \\hspace #10\n        \\box \\pad-to-box #\'(-5 . 20) #\'(0 . 5)\n          \\bold "Largo to Presto"\n      }\n      \\pad-around #3\n          "String quartet keeps very even time,\n    Flute quartet keeps very uneven time."\n    }' , } , { label : "\\page-breaking" , detail : "\\paper variables for page breaking" , documentation : "The page-breaking algorithm to use. Choices are ly:minimal-breaking, ly:page-turn-breaking, ly:one-line-breaking and ly:optimal-breaking (the default)." , } , { label : "\\page-breaking-system-system-spacing" , detail : "\\paper variables for page breaking" , documentation : "Tricks the page breaker into thinking that system-system-spacing is set to something different than it really is. For example, if page-breaking-system-system-spacing #'padding is set to something substantially larger than system-system-spacing #'padding, then the page-breaker will put fewer systems on each page. Default: unset." , } , { label : "\\page-count" , detail : "\\paper variables for page breaking" , documentation : "The number of pages to be used for a score, unset by default." , } , { label : "\\page-spacing-weight" , detail : "Miscellaneous \\paper variables" , documentation : "The relative importance of page (vertical) spacing and line (horizontal) spacing. High values will make page spacing more important. Default: 10." , } , { label : "\\pageBreak" , detail : "A.18 Available music functions" , documentation : "Force a page break. May be used at toplevel (i.e., between scores or markups), or inside a score." , } , { label : "\\pageTurn" , detail : "A.18 Available music functions" , documentation : "Force a page turn between two scores or top-level markups." , } , { label : "\\palmMute" , detail : "A.18 Available music functions" , documentation : "Print note with a triangle-shaped note head." , } , { label : "\\palmMuteOn" , detail : "A.18 Available music functions" , documentation : "Set the default note head style to a triangle-shaped style." , } , { label : "\\paper-height" , detail : "4.1.3 Fixed vertical spacing \\paper variables" , documentation : "The height of the page, unset by default. Note that the automatic scaling of some vertical dimensions is not affected by this." , } , { label : "\\paper-width" , detail : "\\paper variables for widths and margins" , documentation : "The width of the page, unset by default. While paper-width has no effect on the automatic scaling of some horizontal dimensions, it does influence the line-width variable. If both paper-width and line-width are set, then left-margin and right-margin will also be updated. Also see check-consistency." , } , { label : "\\parallelMusic" , detail : "Writing music in parallel" , documentation : "Music for multiple parts can be interleaved in input code. The function \\parallelMusic accepts a list with the names of a number of variables to be created, and a musical expression. The content of alternate measures from the expression become the value of the respective variables, so you can use them afterwards to print the music.\n\nNote: Bar checks | must be used, and the measures must be of the same length.\n\n\n\n    \\parallelMusic #'(voiceA voiceB voiceC) {\n      % Bar 1\n      r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |\n      r16 e'8.~   e'4            r16 e'8.~   e'4            |\n      c'2                        c'2                        |\n      % Bar 2\n      r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |\n      r16 d'8.~   d'4            r16 d'8.~   d'4            |\n      c'2                        c'2                        |\n    }\n    \\new StaffGroup <<\n      \\new Staff << \\voiceA \\\\ \\voiceB >>\n      \\new Staff { \\clef bass \\voiceC }\n    >>\n\nRelative mode may be used. Note that the \\relative command is not used inside \\parallelMusic itself. The notes are relative to the preceding note in the voice, not to the previous note in the input – in other words, relative notes for voiceA ignore the notes in voiceB.\n\n    \\parallelMusic #'(voiceA voiceB voiceC) {\n      % Bar 1\n      r8 g16 c e g, c e r8 g,16 c e g, c e  |\n      r16 e8.~ e4       r16 e8.~  e4        |\n      c2                c                   |\n      % Bar 2\n      r8 a,16 d f a, d f r8 a,16 d f a, d f |\n      r16 d8.~  d4       r16 d8.~  d4       |\n      c2                 c                  |\n     }\n    \\new StaffGroup <<\n      \\new Staff << \\relative c'' \\voiceA \\\\ \\relative c' \\voiceB >>\n      \\new Staff \\relative c' { \\clef bass \\voiceC }\n    >>\n\nThis works quite well for piano music. This example maps four consecutive measures to four variables:\n\n    global = {\n      \\key g \\major\n      \\time 2/4\n    }\n    \\parallelMusic #'(voiceA voiceB voiceC voiceD) {\n      % Bar 1\n      a8    b     c   d     |\n      d4          e         |\n      c16 d e fis d e fis g |\n      a4          a         |\n      % Bar 2\n      e8      fis  g     a   |\n      fis4         g         |\n      e16 fis g  a fis g a b |\n      a4           a         |\n      % Bar 3 ...\n    }\n    \\score {\n      \\new PianoStaff <<\n         \\new Staff {\n           \\global\n           <<\n             \\relative c'' \\voiceA\n             \\\\\n             \\relative c'  \\voiceB\n           >>\n         }\n         \\new Staff {\n           \\global \\clef bass\n           <<\n             \\relative c \\voiceC\n             \\\\\n             \\relative c \\voiceD\n           >>\n         }\n      >>\n    }" , } , { label : "\\parallelMusic" , detail : "A.18 Available music functions" , documentation : "Define parallel music sequences, separated by ’|’ (bar check signs), and assign them to the identifiers provided in voice-ids.\n\nvoice-ids: a list of music identifiers (symbols containing only letters)\n\nmusic: a music sequence, containing BarChecks as limiting expressions.\n\nExample:\n\n  \\parallelMusic #'(A B C) {\n    c c | d d | e e |\n    d d | e e | f f |\n  }\n<==>\n  A = { c c | d d | }\n  B = { d d | e e | }\n  C = { e e | f f | }\n" , } , { label : "\\parenthesize" , detail : "Parentheses" , documentation : "Objects may be parenthesized by prefixing \\parenthesize to the music event. When prefixed to a chord, it parenthesizes every note. Individual notes inside a chord may also be parenthesized.\n\n    c2 \\parenthesize d\n    c2 \\parenthesize <c e g>\n    c2 <c \\parenthesize e g>\n\nNon-note objects may be parenthesized as well. For articulations, a hyphen is needed before the \\parenthesize command.\n\n    c2-\\parenthesize -. d\n    c2 \\parenthesize r" , } , { label : "\\parenthesize" , detail : "A.18 Available music functions" , documentation : "Tag arg to be parenthesized." , } , { label : "\\partcombine" , detail : "Automatic part combining" , documentation : "Automatic part combining is used to merge two separate parts of music onto a single staff. This can be especially helpful when typesetting orchestral scores. A single Voice is printed while the two parts of music are the same, but in places where they differ, a second Voice is printed. Stem directions are set up & down accordingly while Solo and a due parts are also identified and marked appropriately.\n\nThe syntax for automatic part combining is:\n\n    \\partcombine musicexpr1 musicexpr2\n\nThe following example demonstrates the basic functionality, putting parts on a single staff as polyphony and setting stem directions accordingly. The same variables are used for the independent parts and the combined staff.\n\n    instrumentOne = \\relative c' {\n      c4 d e f |\n      R1 |\n      d'4 c b a |\n      b4 g2 f4 |\n      e1 |\n    }\n    instrumentTwo = \\relative g' {\n      R1 |\n      g4 a b c |\n      d4 c b a |\n      g4 f( e) d |\n      e1 |\n    }\n    <<\n      \\new Staff \\instrumentOne\n      \\new Staff \\instrumentTwo\n      \\new Staff \\partcombine \\instrumentOne \\instrumentTwo\n    >>\n\nBoth parts have identical notes in the third measure, so only one instance of the notes is printed. Stem, slur, and tie directions are set automatically, depending on whether the parts are playing solo or in unison. When needed in polyphony situations, the first part (with context called one) gets “up” stems, while the second (called two) always gets “down” stems. In solo situations, the first and second parts get marked with “Solo” and “Solo II”, respectively. The unison (a due) parts are marked with the text “a2”.\n\nBoth arguments to \\partcombine will be interpreted as separate Voice contexts, so if the music is being specified in relative mode then both parts must contain a \\relative function, i.e.,\n\n    \\partcombine\n      \\relative … musicexpr1\n      \\relative … musicexpr2\n\nA \\relative section that encloses a \\partcombine has no effect on the pitches of musicexpr1 or musicexpr2." , } , { label : "\\partcombine" , detail : "A.18 Available music functions" , documentation : "Take the music in part1 and part2 and typeset so that they share a staff." , } , { label : "\\partcombineApart" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineAutomatic" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineChords" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineDown" , detail : "A.18 Available music functions" , documentation : "Take the music in part1 and part2 and typeset so that they share a staff with stems directed downward." , } , { label : "\\partcombineForce" , detail : "A.18 Available music functions" , documentation : "Override the part-combiner." , } , { label : "\\partcombineSoloI" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineSoloII" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineUnisono" , detail : "Automatic part combining" , documentation : 'In professional scores, voices are often kept apart from each other for long passages of music even if some of the notes are the same in both voices, and could just as easily be printed as unison. Combining notes into a chord, or showing one voice as solo is, therefore, not ideal as the \\partcombine function considers each note separately. In this case the \\partcombine function can be overriden with the following commands:\n\nCommands ending in …Once apply only to the next note in the music expression.\n\n - \\partcombineApart and \\partcombineApartOnce keep the notes as two separate voices, even if they can be combined into a chord or unison.\n - \\partcombineChords and \\partcombineChordsOnce combine the notes into a chord.\n - \\partcombineUnisono and \\partcombineUnisonoOnce combine both voices as “unison”.\n - \\partcombineSoloI and \\partcombineSoloIOnce print only voice one, and mark it as a “Solo”.\n - \\partcombineSoloII or \\partcombineSoloIIOnce print only voice two and mark it as a “Solo”.\n - \\partcombineAutomatic and \\partcombineAutomaticOnce end the functions of the commands above, and revert back to the standard \\partcombine functionality.\n\n    instrumentOne = \\relative c\' {\n      \\partcombineApart c2^"apart" e |\n      \\partcombineAutomatic e2^"auto" e |\n      \\partcombineChords e\'2^"chord" e |\n      \\partcombineAutomatic c2^"auto" c |\n      \\partcombineApart c2^"apart" \\partcombineChordsOnce e^"chord once" |\n      c2 c |\n    }\n    instrumentTwo = \\relative c\' {\n      c2 c |\n      e2 e |\n      a,2 c |\n      c2 c\' |\n      c2 c |\n      c2 c |\n    }\n    <<\n      \\new Staff { \\instrumentOne }\n      \\new Staff { \\instrumentTwo }\n      \\new Staff { \\partcombine \\instrumentOne \\instrumentTwo }\n    >>' , } , { label : "\\partcombineUp" , detail : "A.18 Available music functions" , documentation : "Take the music in part1 and part2 and typeset so that they share a staff with stems directed upward." , } , { label : "\\partial" , detail : "Upbeats" , documentation : "Partial or pick-up measures, such as an anacrusis or an upbeat, are entered using the \\partial command,\n\n    \\partial duration\n\nwhere duration is the remaining length of the partial measure before the start of the next full measure.\n\n    \\time 3/4\n    \\partial 8\n    e8 | a4 c8 b c4 |\n\nThe duration can be any value less than a full measure:\n\n    \\time 3/4\n    \\partial 4.\n    r4 e8 | a4 c8 b c4 |\n\n\\partial duration can also be written as:\n\n    \\set Timing.measurePosition -duration\n\nSo the first example above could be written:\n\n    \\time 3/4\n    \\set Timing.measurePosition = #(ly:make-moment -1/8)\n    e8 | a4 c8 b c4 |\n\nThe property measurePosition contains a rational number, which is usually positive and indicates how much of the measure has passed at this point. The \\partial duration command sets it to a negative number, when it has a different meaning: it then says that the current (first) bar will be preceded by a bar 0 (the partial bar) with a duration given by duration." , } , { label : "\\partial" , detail : "A.18 Available music functions" , documentation : "Make a partial measure." , } , { label : "\\pedalSustainStyle" , detail : "Piano pedals" , documentation : "There are three styles of pedal indications: text, bracket, and mixed. The sustain pedal and the una corda pedal use the text style by default while the sostenuto pedal uses mixed by default.\n\n    c4\\sustainOn g c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'mixed\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'bracket\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\n    \\bar \"|.\"\n\nThe placement of the pedal commands matches the physical movement of the sustain pedal during piano performance. Pedalling to the final bar line is indicated by omitting the final pedal off command.\n\nPedal indications may be placed in a Dynamics context, which aligns them on a horizontal line." , } , { label : "\\percent" , detail : "Percent repeats" , documentation : "Repeated short patterns are printed once, and the repeated pattern is replaced with a special sign.\n\nThe syntax is\n\n    \\repeat percent number musicexpr\n\nwhere musicexpr is a music expression.\n\nPatterns that are shorter than one measure are replaced by slashes.\n\n    \\repeat percent 4 { c128 d e f }\n    \\repeat percent 4 { c64 d e f }\n    \\repeat percent 5 { c32 d e f }\n    \\repeat percent 4 { c16 d e f }\n    \\repeat percent 4 { c8 d }\n    \\repeat percent 4 { c4 }\n    \\repeat percent 2 { c2 }\n\nPatterns of one or two measures are replaced by percent-like symbols.\n\n    \\repeat percent 2 { c4 d e f }\n    \\repeat percent 2 { c2 d }\n    \\repeat percent 2 { c1 }\n\n    \\repeat percent 3 { c4 d e f | c2 g' }\n\nPatterns that are shorter than one measure but contain mixed durations use a double-percent symbol.\n\n    \\repeat percent 4 { c8. <d f>16 }\n    \\repeat percent 2 { \\tuplet 3/2 { r8 c d } e4 }" , } , { label : "\\phrasingSlurDashed" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can be solid, dotted, or dashed. Solid is the default style for phrasing slurs:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashed\n    g4\\( e c2\\)\n    \\phrasingSlurDotted\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurDashPattern" , detail : "Phrasing slurs" , documentation : "Custom dash patterns for phrasing slurs can be defined:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashPattern #0.7 #0.75\n    g4\\( e c2\\)\n    \\phrasingSlurDashPattern #0.5 #2.0\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)\n\nDash pattern definitions for phrasing slurs have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see the snippets under Slurs." , } , { label : "\\phrasingSlurDashPattern" , detail : "A.18 Available music functions" , documentation : "Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval for phrasing slurs." , } , { label : "\\phrasingSlurDotted" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can be solid, dotted, or dashed. Solid is the default style for phrasing slurs:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashed\n    g4\\( e c2\\)\n    \\phrasingSlurDotted\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurDown" , detail : "Phrasing slurs" , documentation : "Typographically, a phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects; a \\slurUp will have no effect on a phrasing slur. Phrasing may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\phrasingSlurHalfDashed" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4\\( e g2\\)\n    \\phrasingSlurHalfDashed\n    g4\\( e c2\\)\n    \\phrasingSlurHalfSolid\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurHalfSolid" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4\\( e g2\\)\n    \\phrasingSlurHalfDashed\n    g4\\( e c2\\)\n    \\phrasingSlurHalfSolid\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurNeutral" , detail : "Phrasing slurs" , documentation : "Typographically, a phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects; a \\slurUp will have no effect on a phrasing slur. Phrasing may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\phrasingSlurSolid" , detail : "Phrasing slurs" , documentation : "Phrasing slurs can be solid, dotted, or dashed. Solid is the default style for phrasing slurs:\n\n    c4\\( e g2\\)\n    \\phrasingSlurDashed\n    g4\\( e c2\\)\n    \\phrasingSlurDotted\n    c4\\( e g2\\)\n    \\phrasingSlurSolid\n    g4\\( e c2\\)" , } , { label : "\\phrasingSlurUp" , detail : "Phrasing slurs" , documentation : "Typographically, a phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects; a \\slurUp will have no effect on a phrasing slur. Phrasing may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\phrygian" , detail : "Key signature" , documentation : 'Here, mode should be \\major or \\minor to get a key signature of pitch-major or pitch-minor, respectively. You may also use the standard mode names, also called church modes: \\ionian, \\dorian, \\phrygian, \\lydian, \\mixolydian, \\aeolian, and \\locrian.\n\n    \\key g \\major\n    fis1\n    f\n    fis\n\nAdditional modes can be defined, by listing the alterations for each scale step when the mode starts on C.\n\n    freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)\n        (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))\n    \\relative c\' {\n      \\key c \\freygish c4 des e f\n      \\bar "||" \\key d \\freygish d es fis g\n    }\n\nAccidentals in the key signature may be printed in octaves other than their traditional positions, or in multiple octaves, by using the flat-positions and sharp-positions properties of KeySignature. Entries in these properties specify the range of staff-positions where accidentals will be printed. If a single position is specified in an entry, the accidentals are placed within the octave ending at that staff position.\n\n    \\override Staff.KeySignature.flat-positions = #\'((-5 . 5))\n    \\override Staff.KeyCancellation.flat-positions = #\'((-5 . 5))\n    \\clef bass \\key es \\major es g bes d\n    \\clef treble \\bar "||" \\key es \\major es g bes d\n    \\override Staff.KeySignature.sharp-positions = #\'(2)\n    \\bar "||" \\key b \\major b fis b2' , } , { label : "\\piano" , detail : "Automatic accidentals" , documentation : "This rule reflects twentieth-century practice for piano notation. Its behavior is very similar to modern style, but here accidentals also get canceled across the staves in the same GrandStaff or PianoStaff, hence all the cancellations of the final notes.\n\nThis accidental style applies to the current GrandStaff or PianoStaff by default." , } , { label : "\\piano-cautionary" , detail : "Automatic accidentals" , documentation : "This is the same as piano but with the extra accidentals typeset as cautionaries." , } , { label : "PianoStaff" , detail : "References for keyboards" , documentation : "Keyboard instruments are usually notated with Piano staves. These are two or more normal staves coupled with a brace. The same notation is also used for other keyed instruments. Organ music is normally written with two staves inside a PianoStaff group and third, normal staff for the pedals.\n\nThe staves in keyboard music are largely independent, but sometimes voices can cross between the two staves. This section discusses notation techniques particular to keyboard music.\n\nSeveral common issues in keyboard music are covered elsewhere:\n\n - Keyboard music usually contains multiple voices and the number of voices may change regularly; this is described in Collision resolution.\n - Keyboard music can be written in parallel, as described in Writing music in parallel.\n - Dynamics may be placed in a Dynamics context, between the two Staff contexts to align the dynamic marks on a horizontal line centered between the staves; see Dynamics.\n - Fingerings are indicated with Fingering instructions.\n - Organ pedal indications are inserted as articulations, see List of articulations.\n - Vertical grid lines can be shown with Grid lines.\n - Keyboard music often contains Laissez vibrer ties as well as ties on arpeggios and tremolos, described in Ties.\n - Placing arpeggios across multiple voices and staves is covered in Arpeggio.\n - Tremolo marks are described in Tremolo repeats.\n - Several of the tweaks that can occur in keyboard music are demonstrated in Real music example.\n - Hidden notes can be used to produce ties that cross voices, as shown in Other uses for tweaks." , } , { label : "PianoStaff" , detail : "Changing staff automatically" , documentation : 'Voices can be made to switch automatically between the top and the bottom staff. The syntax for this is\n\n    \\autochange …music…\n\nThis will create two staves inside the current staff group (usually a PianoStaff), called "up" and "down". The lower staff will be in the bass clef by default. The autochanger switches on the basis of the pitch (middle C is the turning point), and it looks ahead skipping over rests to switch in advance.\n\n    \\new PianoStaff {\n      \\autochange {\n        g4 a b c\'\n        d\'4 r a g\n      }\n    }' , } , { label : "\\pitchedTrill" , detail : "Trills" , documentation : "Trills that require an auxiliary note with an explicit pitch can be typeset with the \\pitchedTrill command. The first argument is the main note, and the second is the trilled note, printed as a stemless note head in parentheses.\n\n    \\pitchedTrill\n    d2\\startTrillSpan fis\n    d2\n    c2\\stopTrillSpan\n    r2" , } , { label : "\\pitchedTrill" , detail : "A.18 Available music functions" , documentation : "Print a trill with main-note as the main note of the trill and print secondary-note as a stemless note head in parentheses." , } , { label : "Pitch_squash_engraver" , detail : "Showing melody rhythms" , documentation : "Guitar chord charts often show the strumming rhythms. This can be done with the Pitch_squash_engraver and \\improvisationOn.\n\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 f g c\n        }\n      }\n      \\new Voice \\with {\n        \\consists \"Pitch_squash_engraver\"\n      } \\relative c'' {\n        \\improvisationOn\n        c4 c8 c c4 c8 c\n        f4 f8 f f4 f8 f\n        g4 g8 g g4 g8 g\n        c4 c8 c c4 c8 c\n      }\n    >>" , } , { label : "\\pointAndClickOff" , detail : "A.18 Available music functions" , documentation : "Suppress generating extra code in final-format (e.g. pdf) files to point back to the lilypond source statement." , } , { label : "\\pointAndClickOn" , detail : "A.18 Available music functions" , documentation : "Enable generation of code in final-format (e.g. pdf) files to reference the originating lilypond source statement; this is helpful when developing a score but generates bigger final-format files." , } , { label : "\\pointAndClickTypes" , detail : "A.18 Available music functions" , documentation : "Set a type or list of types (such as #'note-event) for which point-and-click info is generated." , } , { label : "\\postscript" , detail : "Graphic notation inside markup" , documentation : 'Advanced graphic features include the ability to include external image files converted to the Encapsulated PostScript format (eps), or to directly embed graphics into the input file, using native PostScript code. In such a case, it may be useful to explicitly specify the size of the drawing, as demonstrated below:\n\n    c1^\\markup {\n      \\combine\n        \\epsfile #X #10 #"./context-example.eps"\n        \\with-dimensions #\'(0 . 6) #\'(0 . 10)\n        \\postscript #"\n          -2 3 translate\n          2.7 2 scale\n          newpath\n          2 -1 moveto\n          4 -2 4 1 1 arct\n          4 2 3 3 1 arct\n          0 4 0 3 1 arct\n          0 0 1 -1 1 arct\n          closepath\n          stroke"\n      }\n    c\n\nAn exhaustive list of graphics-specific commands can be found in Graphic.' , } , { label : "\\powerChords" , detail : "Indicating power chords" , documentation : 'Power chords and their symbols can be engraved in chord mode or as chord constructs:\n\n    ChordsAndSymbols = {\n      \\chordmode {\n        \\powerChords\n        e,,1:1.5\n        a,,1:1.5.8\n        \\set minimumFret = #8\n        c,1:1.5\n        f,1:1.5.8\n      }\n      \\set minimumFret = #5\n      <a, e>1\n      <g d\' g\'>1\n    }\n    \\score {\n      <<\n        \\new ChordNames {\n        \\ChordsAndSymbols\n        }\n        \\new Staff {\n          \\clef "treble_8"\n          \\ChordsAndSymbols\n        }\n        \\new TabStaff {\n          \\ChordsAndSymbols\n        }\n      >>\n    }\n\nPower chord symbols are automatically switched off as soon as one of the other common chord modifier is used:\n\n    mixedChords = \\chordmode {\n      c,1\n      \\powerChords\n      b,,1:1.5\n      fis,,1:1.5.8\n      g,,1:m\n    }\n    \\score {\n      <<\n        \\new ChordNames {\n          \\mixedChords\n        }\n        \\new Staff {\n          \\clef "treble_8"\n          \\mixedChords\n        }\n        \\new TabStaff {\n          \\mixedChords\n        }\n      >>\n    }' , } , { label : "\\pp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\ppp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\pppp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\ppppp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\predefinedFretboardsOff" , detail : "Automatic fret diagrams" , documentation : "As no predefined diagrams are loaded by default, automatic calculation of fret diagrams is the default behavior. Once default diagrams are loaded, automatic calculation can be enabled and disabled with predefined commands:\n\n    \\storePredefinedDiagram #default-fret-table\n                            <c e g c' e'>\n                            #guitar-tuning\n                            #\"x;3-1-(;5-2;5-3;5-4;3-1-1-);\"\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 c c\n        }\n      }\n      \\new FretBoards {\n        <c e g c' e'>1\n        \\predefinedFretboardsOff\n        <c e g c' e'>1\n        \\predefinedFretboardsOn\n        <c e g c' e'>1\n      }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <c e g c' e'>1\n        <c e g c' e'>1\n        <c e g c' e'>1\n      }\n    >>\n\nSometimes the fretboard calculator will be unable to find an acceptable diagram. This can often be remedied by manually assigning a note to a string. In many cases, only one note need be manually placed on a string; the rest of the notes will then be placed appropriately by the FretBoards context." , } , { label : "\\predefinedFretboardsOn" , detail : "Automatic fret diagrams" , documentation : "As no predefined diagrams are loaded by default, automatic calculation of fret diagrams is the default behavior. Once default diagrams are loaded, automatic calculation can be enabled and disabled with predefined commands:\n\n    \\storePredefinedDiagram #default-fret-table\n                            <c e g c' e'>\n                            #guitar-tuning\n                            #\"x;3-1-(;5-2;5-3;5-4;3-1-1-);\"\n    <<\n      \\new ChordNames {\n        \\chordmode {\n          c1 c c\n        }\n      }\n      \\new FretBoards {\n        <c e g c' e'>1\n        \\predefinedFretboardsOff\n        <c e g c' e'>1\n        \\predefinedFretboardsOn\n        <c e g c' e'>1\n      }\n      \\new Staff {\n        \\clef \"treble_8\"\n        <c e g c' e'>1\n        <c e g c' e'>1\n        <c e g c' e'>1\n      }\n    >>\n\nSometimes the fretboard calculator will be unable to find an acceptable diagram. This can often be remedied by manually assigning a note to a string. In many cases, only one note need be manually placed on a string; the rest of the notes will then be placed appropriately by the FretBoards context." , } , { label : "\\print-all-headers" , detail : "Miscellaneous \\paper variables" , documentation : "If set to true, this will print all headers for each \\score in the output. Normally only the piece and opus header variables are printed. Default: #f." , } , { label : "\\print-first-page-number" , detail : "\\paper variables for page numbering" , documentation : "If set to true, a page number is printed on the first page." , } , { label : "\\print-page-number" , detail : "\\paper variables for page numbering" , documentation : "If set to false, page numbers are not printed." , } , { label : "\\pushToTag" , detail : "A.18 Available music functions" , documentation : "Add more to the front of elements of all music expressions in music that are tagged with tag." , } , { label : "\\quotedCueEventTypes" , detail : "Quoting other voices" , documentation : 'By default quoted music will include all articulations, dynamics, markups, etc., in the quoted expression. It is possible to choose which of these objects from the quoted music are displayed by using the quotedEventTypes context property.\n\n    fluteNotes = \\relative c\'\' {\n      a2 g2 |\n      b4\\<^"quoted" r8 ais a4\\f( c->)\n     }\n    oboeNotes = \\relative c\'\' {\n      c2. b4 |\n      \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\set Score.quotedEventTypes = #\'(note-event articulation-event\n                                         crescendo-event rest-event\n                                         slur-event dynamic-event)\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n     }\n\nQuotes can also be tagged, see Using tags.' , } , { label : "\\quotedEventTypes" , detail : "Quoting other voices" , documentation : 'By default quoted music will include all articulations, dynamics, markups, etc., in the quoted expression. It is possible to choose which of these objects from the quoted music are displayed by using the quotedEventTypes context property.\n\n    fluteNotes = \\relative c\'\' {\n      a2 g2 |\n      b4\\<^"quoted" r8 ais a4\\f( c->)\n     }\n    oboeNotes = \\relative c\'\' {\n      c2. b4 |\n      \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\set Score.quotedEventTypes = #\'(note-event articulation-event\n                                         crescendo-event rest-event\n                                         slur-event dynamic-event)\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n     }\n\nQuotes can also be tagged, see Using tags.' , } , { label : "\\quoteDuring" , detail : "Quoting other voices" , documentation : 'It is very common for one voice to use the same notes as those from another voice. For example, first and second violins playing the same phrase during a particular passage of the music. This is done by letting one voice quote the other, without having to re-enter the music all over again for the second voice.\n\nThe \\addQuote command, used in the top level scope, defines a stream of music from which fragments can be quoted.\n\nThe \\quoteDuring command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with \\addQuote, and a music expression for the duration of the quote.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nIf the music expression used in \\quoteDuring contains notes instead of spacer or multimeasure rests then the quote will appear as polyphony and may produce unexpected results.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { e4 r8 ais b4 a }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nThe \\quoteDuring command uses the \\transposition settings of both quoted and quoting parts to produce notes for the quoting part that have the same sounding pitch as those in the quoted part.\n\n    clarinetNotes = \\relative c\'\' {\n      \\transposition bes\n      \\key d \\major\n      b4 ais a ais | cis4^"quoted" r8 bis\\p b4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"clarinet" { s1 }\n    }\n    \\addQuote "clarinet" { \\clarinetNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Clarinet" } \\clarinetNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }' , } , { label : "\\quoteDuring" , detail : "Formatting cue notes" , documentation : 'The simplest way to format cue notes is to explicitly create a CueVoice context within the part.\n\nR1\n<<\n  { e2\\rest r4. e8 }\n  \\new CueVoice {\n    \\stemUp d\'8^"flute" c d e fis2\n  }\n>>\nd,4 r a r\n\n\nThe \\cueClef command can also be used with an explict CueVoice context if a change of clef is required and will print an appropriately sized clef for the cue notes. The \\cueClefUnset command can then be used to switch back to the original clef, again with an appropriately sized clef.\n\n\\clef "bass"\nR1\n<<\n  { e2\\rest r4. \\cueClefUnset e,8 }\n  \\new CueVoice {\n    \\cueClef "treble" \\stemUp d\'\'8^"flute" c d e fis2\n  }\n>>\nd,,4 r a r\n\n\nThe \\cueClef and \\cueClefUnset command can also be used without a CueVoice if required.\n\n\\clef "bass"\nR1\n\\cueClef "treble"\nd\'8^"flute" c d e fis2\n\\cueClefUnset\nd,,4 r a r\n\n\nFor more complex cue note placement, e.g including transposition, or inserting cue notes from multiple music sources the \\cueDuring or \\cueDuringWithClef commands can be used. These are more specialized form of \\quoteDuring, see Quoting other voices in the previous section.\n\nThe syntax is:\n\n    \\cueDuring #quotename #direction #music\n\nand\n\n    \\cueDuringWithClef #quotename #direction #clef #music\n\nThe music from the corresponding measures of the quote name is added as a CueVoice context and occurs simultaneously with the music, which then creates a polyphonic situation. The direction takes the argument UP or DOWN, and corresponds to the first and second voices respectively, determining how the cue notes are printed in relation to the other voice.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 | d8 c d e fis2 | g2 d |\n    }\n    oboeNotes = \\relative c\'\' {\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      g2 c,\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\oboeNotes\n    }\n\nIt is possible to adjust which aspects of the music are quoted with \\cueDuring by setting the quotedCueEventTypes property. Its default value is \'(note-event rest-event tie-event beam-event tuplet-span-event), which means that only notes, rests, ties, beams and tuplets are quoted, but not articulations, dynamic marks, markup etc.\n\nNote: When a Voice starts with cueDuring, as in the following example, the Voice context must be explicitly declared, or else the entire music expression would belong to the CueVoice context.\n\n\n\n    oboeNotes = \\relative c\'\' {\n      r2 r8 d16(\\f f e g f a)\n      g8 g16 g g2.\n    }\n    \\addQuote "oboe" { \\oboeNotes }\n    \\new Voice \\relative c\'\' {\n      \\set Score.quotedCueEventTypes = #\'(note-event rest-event tie-event\n                                          beam-event tuplet-span-event\n                                          dynamic-event slur-event)\n      \\cueDuring #"oboe" #UP { R1 }\n      g2 c,\n    }\n\nThe name of the instrument playing the cue can be printed by setting the instrumentCueName property in a temporary CueVoice context. The placement and style of the instrumentCueName is controlled by the InstrumentSwitch object, see Instrument names. If the cue notes require a change in clef, this can be done manually but the original clef should also be restored manually at the end of the cue notes.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\clef treble\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuring #"flute" #UP { R1 }\n      \\clef bass\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }\n\nAlternatively, the \\cueDuringWithClef function can be used instead. This command takes an extra argument to specify the change of clef that needs to be printed for the cue notes but will automatically print the original clef once the cue notes have finished.\n\n    fluteNotes = \\relative c\'\' {\n      r2. c4 d8 c d e fis2 g2 d2\n    }\n    bassoonNotes = \\relative c {\n      \\clef bass\n      R1\n      \\new CueVoice { \\set instrumentCueName = "flute" }\n      \\cueDuringWithClef #"flute" #UP #"treble" { R1 }\n      g4. b8 d2\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\new Staff {\n      \\bassoonNotes\n    }' , } , { label : "\\quoteDuring" , detail : "A.18 Available music functions" , documentation : "Indicate a section of music to be quoted. what indicates the name of the quoted voice, as specified in an \\addQuote command. main-music is used to indicate the length of music to be quoted; usually contains spacers or multi-measure rests." , } , { label : "\\r" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "R" , detail : "Full measure rests" , documentation : 'Rests for one or more full measures are entered like notes with the note name uppercase R:\n\n    % Rest measures contracted to single measure\n    \\compressFullBarRests\n    R1*4\n    R1*24\n    R1*4\n    b2^"Tutti" b4 a4\n\nThe duration of full-measure rests is identical to the duration notation used for notes. The duration in a multi-measure rest must always be an integral number of measure-lengths, so augmentation dots or fractions must often be used:\n\n    \\compressFullBarRests\n    \\time 2/4\n    R1 | R2 |\n    \\time 3/4\n    R2. | R2.*2 |\n    \\time 13/8\n    R1*13/8 | R1*13/8*12 |\n    \\time 10/8\n    R4*5*4 |\n\nA full-measure rest is printed as either a whole or breve rest, centered in the measure, depending on the time signature.\n\n    \\time 4/4\n    R1 |\n    \\time 6/4\n    R1*3/2 |\n    \\time 8/4\n    R1*2 |' , } , { label : "\\ragged-bottom" , detail : "4.1.3 Fixed vertical spacing \\paper variables" , documentation : "If this is set to true, systems will be set at their natural spacing, neither compressed nor stretched vertically to fit the page." , } , { label : "\\ragged-last" , detail : "\\paper variables for widths and margins" , documentation : "If set to true, the last system in the score will not fill the line width. Instead the last system ends at its natural horizontal length. Default: #f. This variable can also be set in a \\layout block." , } , { label : "\\ragged-last" , detail : "4.5.4 Line length" , documentation : "The most basic settings influencing the spacing are indent and line-width. They are set in the \\layout block. They control the indentation of the first line of music, and the lengths of the lines.\n\nIf ragged-right is set to true in the \\layout block, then systems ends at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is. The normal default setting is false, but if the score has only one system the default value is true." , } , { label : "\\ragged-last-bottom" , detail : "4.1.3 Fixed vertical spacing \\paper variables" , documentation : "If this is set to false, then the last page, and the last page in each section created with a \\bookpart block, will be vertically justified in the same way as the earlier pages." , } , { label : "\\ragged-right" , detail : "\\paper variables for widths and margins" , documentation : "If set to true, systems will not fill the line width. Instead, systems end at their natural horizontal length. Default: #t for scores with only one system, and #f for scores with two or more systems. This variable can also be set in a \\layout block." , } , { label : "\\ragged-right" , detail : "4.5.4 Line length" , documentation : "The most basic settings influencing the spacing are indent and line-width. They are set in the \\layout block. They control the indentation of the first line of music, and the lengths of the lines.\n\nIf ragged-right is set to true in the \\layout block, then systems ends at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is. The normal default setting is false, but if the score has only one system the default value is true." , } , { label : "\\raise" , detail : "Text alignment" , documentation : "Vertical alignment is a bit more complex. As stated above, markup objects can be moved as a whole; however, it is also possible to move specific elements inside a markup block. In this case, the element to be moved needs to be preceded with an anchor point, that can be another markup element or an invisible object. The following example demonstrates these two possibilities; the last markup in this example has no anchor point, and therefore is not moved.\n\n    d2^\\markup {\n      Acte I\n      \\raise #2 { Scène 1 }\n    }\n    a'\n    g_\\markup {\n      \\null\n      \\lower #4 \\bold { Très modéré }\n    }\n    a\n    d,^\\markup {\n      \\raise #4 \\italic { Une forêt. }\n    }\n    a'4 a g2 a" , } , { label : "\\relative" , detail : "Relative octave entry" , documentation : "Absolute octave entry requires specifying the octave for every single note. Relative octave entry, in contrast, specifies each octave in relation to the last note: changing one note’s octave will affect all of the following notes.\n\nRelative note mode has to be entered explicitly using the \\relative command:\n\n    \\relative startpitch musicexpr\n\nIn relative mode, each note is assumed to be as close to the previous note as possible. This means that the octave of each pitch inside musicexpr is calculated as follows:\n\n - If no octave changing mark is used on a pitch, its octave is calculated so that the interval with the previous note is less than a fifth. This interval is determined without considering accidentals.\n - An octave changing mark ' or , can be added to respectively raise or lower a pitch by an extra octave, relative to the pitch calculated without an octave mark.\n - Multiple octave changing marks can be used. For example, '' and ,, will alter the pitch by two octaves.\n - The pitch of the first note is relative to startpitch. startpitch is specified in absolute octave mode. Which choices are meaningful?\nan octave of c\nIdentifying middle C with c' is quite basic, so finding octaves of c tends to be straightforward. If your music starts with gis above c''', you’d write something like \\relative c''' { gis' … }\n\nan octave of the first note inside\nWriting \\relative gis''' { gis … } makes it easy to determine the absolute pitch of the first note inside.\n\nno explicit starting pitch\nThis (namely writing \\relative { gis''' … }) can be viewed as a compact version of the previous option: the first note inside is written in absolute pitch itself. This happens to be equivalent to choosing f as the reference pitch.\n\nThe documentation will usually employ the first option.\n\n\n\nHere is the relative mode shown in action:\n\n    \\relative c {\n      \\clef bass\n      c d e f\n      g a b c\n      d e f g\n    }\n\nOctave changing marks are used for intervals greater than a fourth:\n\n    \\relative c'' {\n      c g c f,\n      c' a, e'' c\n    }\n\nA note sequence without a single octave mark can nevertheless span large intervals:\n\n    \\relative c {\n      c f b e\n      a d g c\n    }\n\nWhen \\relative blocks are nested, the innermost \\relative block applies.\n\n    \\relative c' {\n      c d e f\n      \\relative c'' {\n        c d e f\n      }\n    }\n\n\\relative has no effect on \\chordmode blocks.\n\n    \\new Staff {\n      \\relative c''' {\n        \\chordmode { c1 }\n      }\n      \\chordmode { c1 }\n    }\n\n\\relative is not allowed inside of \\chordmode blocks.\n\nMusic inside a \\transpose block is absolute unless a \\relative is included.\n\n    \\relative c' {\n      d e\n      \\transpose f g {\n        d e\n        \\relative c' {\n          d e\n        }\n      }\n    }" , } , { label : "\\relative" , detail : "Changing staff automatically" , documentation : 'A \\relative section that is outside of \\autochange has no effect on the pitches of the music, so if necessary, put \\relative inside \\autochange.\n\nIf additional control is needed over the individual staves, they can be created manually with the names "up" and "down". The \\autochange command will then switch its voice between the existing staves.\n\nNote: If staves are created manually, they must be named "up" and "down".\n\n\n\nFor example, staves must be created manually in order to place a key signature in the lower staff:\n\n    \\new PianoStaff <<\n      \\new Staff = "up" {\n        \\new Voice = "melOne" {\n          \\key g \\major\n          \\autochange \\relative c\' {\n            g8 b a c b d c e\n            d8 r fis, g a2\n          }\n        }\n      }\n      \\new Staff = "down" {\n        \\key g \\major\n        \\clef bass\n      }\n    >>' , } , { label : "\\relative" , detail : "A.18 Available music functions" , documentation : "Make music relative to pitch. If pitch is omitted, the first note in music is given in absolute pitch." , } , { label : "\\removeWithTag" , detail : "A.18 Available music functions" , documentation : "Remove elements of music that are tagged with one of the tags in tag. tag may be either a single symbol or a list of symbols." , } , { label : "\\repeatCommands" , detail : "Manual repeat marks" , documentation : "The property repeatCommands can be used to control the layout of repeats. Its value is a Scheme list of repeat commands.\n\nstart-repeat\nPrint a .|: bar line.\n\nc1\n\\set Score.repeatCommands = #'(start-repeat)\nd4 e f g\nc1\n \n\nAs per standard engraving practice, repeat signs are not printed at the beginning of a piece.\n\nend-repeat\nPrint a :|. bar line:\n\nc1\nd4 e f g\n\\set Score.repeatCommands = #'(end-repeat)\nc1\n \n\n(volta number) … (volta #f)\nCreate a new volta with the specified number. The volta bracket must be explicitly terminated, or it will not be printed.\n\nf4 g a b\n\\set Score.repeatCommands = #'((volta \"2\"))\ng4 a g a\n\\set Score.repeatCommands = #'((volta #f))\nc1\n \n\n\n\nMultiple repeat commands may occur at the same point:\n\n    f4 g a b\n    \\set Score.repeatCommands = #'((volta \"2, 5\") end-repeat)\n    g4 a g a\n    c1\n    \\set Score.repeatCommands = #'((volta #f) (volta \"95\") end-repeat)\n    b1\n    \\set Score.repeatCommands = #'((volta #f))" , } , { label : "\\repeatTie" , detail : "Ties" , documentation : "When a second alternative of a repeat starts with a tied note, you have to specify the repeated tie as follows:\n\n    \\repeat volta 2 { c g <c e>2~ }\n    \\alternative {\n      % First alternative: following note is tied normally\n      { <c e>2. r4 }\n      % Second alternative: following note has a repeated tie\n      { <c e>2\\repeatTie d4 c } }" , } , { label : "\\resetRelativeOctave" , detail : "A.18 Available music functions" , documentation : "Set the octave inside a \\relative section." , } , { label : "\\rest" , detail : "Rests" , documentation : "Rests are entered like notes with the note name r. Durations longer than a whole rest use the following predefined commands:\n\n    \\new Staff {\n      % These two lines are just to prettify this example\n      \\time 16/1\n      \\omit Staff.TimeSignature\n      % Print a maxima rest, equal to four breves\n      r\\maxima\n      % Print a longa rest, equal to two breves\n      r\\longa\n      % Print a breve rest\n      r\\breve\n      r1 r2 r4 r8 r16 r32 r64 r128\n    }" , } , { label : "\\restrainOpenStrings" , detail : "Default tablatures" , documentation : 'By default pitches are assigned to the lowest playing position on the fret-board (first position). Open strings are automatically preferred. If you would like a certain pitch to be played on a specific string you can add a string number indication to the pitch name. If you don’t want to have string number indications appear in traditional notation, you can override the respective stencil. Usually it will be more comfortable to define the playing position by using the value of minimumFret. The default value for minimumFret is 0.\n\nEven when minimumFret is set, open strings are used whenever possible. This behaviour can be changed by setting restrainOpenStrings to #t.\n\n    \\layout { \\omit Voice.StringNumber }\n    \\new StaffGroup <<\n       \\new Staff \\relative c {\n         \\clef "treble_8"\n         \\time 2/4\n         c16 d e f g4\n         c,16\\5 d\\5 e\\4 f\\4 g4\\4\n         c,16 d e f g4\n       }\n       \\new TabStaff \\relative c {\n         c16 d e f g4\n         c,16\\5 d\\5 e\\4 f\\4 g4\\4\n         \\set TabStaff.minimumFret = #5\n         \\set TabStaff.restrainOpenStrings = ##t\n         c,16 d e f g4\n       }\n    >>' , } , { label : "\\retrograde" , detail : "Retrograde" , documentation : "A music expression can be reversed to produce its retrograde:\n\n    music = \\relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 }\n    \\new Staff {\n      \\music\n      \\retrograde \\music\n    }" , } , { label : "\\retrograde" , detail : "A.18 Available music functions" , documentation : "Return music in reverse order." , } , { label : "\\revertTimeSignatureSettings" , detail : "A.18 Available music functions" , documentation : "Revert timeSignatureSettings for time signatures of time-signature." , } , { label : "\\rfz" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\rgb-color" , detail : "Coloring objects" , documentation : "Exact RGB colors can be specified using the Scheme function rgb-color.\n\n    \\override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)\n    \\set Staff.instrumentName = \\markup {\n      \\with-color #(x11-color 'navy) \"Clarinet\"\n    }\n    \\override Stem.color = #(rgb-color 0 0 0)\n    gis8 a\n    \\override Stem.color = #(rgb-color 1 1 1)\n    gis8 a\n    \\override Stem.color = #(rgb-color 0 0 0.5)\n    gis4 a" , } , { label : "RhythmicStaff" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "\\right-align" , detail : "Text alignment" , documentation : "Markup objects may be aligned in different ways. By default, a text indication is aligned on its left edge: in the following example, there is no difference between the first and the second markup.\n\n    d1-\\markup { poco }\n    f\n    d-\\markup { \\left-align poco }\n    f\n    d-\\markup { \\center-align { poco } }\n    f\n    d-\\markup { \\right-align poco }" , } , { label : "\\right-margin" , detail : "\\paper variables for widths and margins" , documentation : "The margin between the right edge of the page and the end of the staff lines in non-ragged systems. If the paper size is modified, this dimension’s default value is scaled accordingly. If right-margin is unset, and both line-width and left-margin are set, then right-margin is set to (paper-width - line-width - left-margin). If only line-width is set, then both margins are set to ((paper-width - line-width) / 2), and the systems are consequently centered on the page. Also see check-consistency." , } , { label : "\\rightHandFinger" , detail : "Right-hand fingerings" , documentation : 'Right-hand fingerings p-i-m-a must be entered using \\rightHandFinger followed by a number.\n\nNote: If the number is entered in Scheme notation, remember to append a space before following it with a closing > or similar.\n\n\n\n    \\clef "treble_8"\n    c4\\rightHandFinger #1\n    e\\rightHandFinger #2\n    g\\rightHandFinger #3\n    c\\rightHandFinger #4\n    <c,\\rightHandFinger #1 e\\rightHandFinger #2\n     g\\rightHandFinger #3 c\\rightHandFinger #4 >1\n\nFor convenience, you can abbreviate \\rightHandFinger to something short, for example RH,\n\n    RH=#rightHandFinger' , } , { label : "\\rightHandFinger" , detail : "A.18 Available music functions" , documentation : "Apply finger as a fingering indication." , } , { label : "\\rounded-box" , detail : "Graphic notation inside markup" , documentation : 'Some markup commands allow decoration of text elements with graphics, as demonstrated in the following example.\n\n    \\markup \\fill-line {\n      \\center-column {\n        \\circle Jack\n        \\box "in the box"\n        \\null\n        \\line {\n          Erik Satie\n          \\hspace #3\n          \\bracket "1866 - 1925"\n        }\n        \\null\n        \\rounded-box \\bold Prelude\n      }\n    }' , } , { label : "\\s" , detail : "Invisible rests" , documentation : "An invisible rest (also called a ‘spacer rest’) can be entered like a note with the note name s:\n\n    c4 c s c\n    s2 c" , } , { label : "\\sacredHarpHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\sacredHarpHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\scaleDurations" , detail : "Scaling durations" , documentation : "Longer stretches of music may be compressed by a fraction in the same way, as if every note, chord or rest had the fraction as a multiplier. This leaves the appearance of the music unchanged but the internal duration of the notes will be multiplied by the fraction num/den. Here is an example showing how music can be compressed and expanded:\n\n    \\time 2/4\n    % Normal durations\n    <c a>4 c8 a\n    % Scale music by *2/3\n    \\scaleDurations 2/3 {\n      <c a f>4. c8 a f\n    }\n    % Scale music by *2\n    \\scaleDurations 2/1 {\n      <c' a>4 c8 b\n    }\n\nOne application of this command is in polymetric notation, see Polymetric notation." , } , { label : "\\scaleDurations" , detail : "Polymetric notation" , documentation : "Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations." , } , { label : "\\scaleDurations" , detail : "A.18 Available music functions" , documentation : "Multiply the duration of events in music by fraction." , } , { label : "\\score-markup-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance between the last system of a score and the (title or top-level) markup that follows it." , } , { label : "\\score-system-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance between the last system of a score and the first system of the score that follows it, when no (title or top-level) markup exists between them." , } , { label : "\\scoreTitleMarkup" , detail : "Custom layout for titles" , documentation : '\\markup commands in the \\header block are useful for simple text formatting, but they do not allow precise control over the placement of titles. To customize the placement of the text fields, change either or both of the following \\paper variables:\n\n - bookTitleMarkup\n - scoreTitleMarkup\n\nThe placement of titles when using the default values of these \\markup variables is shown in the examples in Default layout of bookpart and score titles.\n\nThe default settings for scoreTitleMarkup as defined in ‘ly/titling-init.ly’ are:\n\n    scoreTitleMarkup = \\markup { \\column {\n      \\on-the-fly \\print-all-headers { \\bookTitleMarkup \\hspace #1 }\n      \\fill-line {\n        \\fromproperty #\'header:piece\n        \\fromproperty #\'header:opus\n      }\n    }\n    }\n\nThis places the piece and opus text fields at opposite ends of the same line:\n\n    \\score {\n      { s1 }\n      \\header {\n        piece = "PRAELUDIUM I"\n        opus = "BWV 846"\n      }\n    }\n\nThis example redefines scoreTitleMarkup so that the piece text field is centered and in a large, bold font.\n\n    \\book {\n      \\paper {\n        indent = 0\\mm\n        scoreTitleMarkup = \\markup {\n          \\fill-line {\n            \\null\n            \\fontsize #4 \\bold \\fromproperty #\'header:piece\n            \\fromproperty #\'header:opus\n          }\n        }\n      }\n      \\header { tagline = ##f }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "PRAELUDIUM I"\n          opus = "BWV 846"\n        }\n      }\n    }\n\nText fields not normally effective in score \\header blocks can be printed in the Score Title area if print-all-headers is placed inside the \\paper block. A disadvantage of using this method is that text fields that are intended specifically for the Bookpart Title area need to be manually suppressed in every \\score block. See Titles explained.\n\nTo avoid this, add the desired text field to the scoreTitleMarkup definition. In the following example, the composer text field (normally associated with bookTitleMarkup) is added to scoreTitleMarkup, allowing each score to list a different composer:\n\n    \\book {\n      \\paper {\n        indent = 0\\mm\n        scoreTitleMarkup = \\markup {\n          \\fill-line {\n            \\null\n            \\fontsize #4 \\bold \\fromproperty #\'header:piece\n            \\fromproperty #\'header:composer\n          }\n        }\n      }\n      \\header { tagline = ##f }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "MENUET"\n          composer = "Christian Petzold"\n        }\n      }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "RONDEAU"\n          composer = "François Couperin"\n        }\n      }\n    }\n\nIt is also possible to create your own custom text fields, and refer to them in the markup definition.\n\n    \\book {\n      \\paper {\n        indent = 0\\mm\n        scoreTitleMarkup = \\markup {\n          \\fill-line {\n            \\null\n            \\override #`(direction . ,UP) {\n              \\dir-column {\n                \\center-align \\fontsize #-1 \\bold\n                  \\fromproperty #\'header:mycustomtext %% User-defined field\n                \\center-align \\fontsize #4 \\bold\n                  \\fromproperty #\'header:piece\n              }\n            }\n            \\fromproperty #\'header:opus\n          }\n        }\n      }\n      \\header { tagline = ##f }\n      \\score {\n        { s1 }\n        \\header {\n          piece = "FUGA I"\n          mycustomtext = "A 4 VOCI" %% User-defined field\n          opus = "BWV 846"\n        }\n      }\n    }' , } , { label : "\\self-alignment-X" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\set" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\set-octavation" , detail : "Ottava brackets" , documentation : "Ottava brackets introduce an extra transposition of an octave for the staff:\n\n    a2 b\n    \\ottava #-2\n    a2 b\n    \\ottava #-1\n    a2 b\n    \\ottava #0\n    a2 b\n    \\ottava #1\n    a2 b\n    \\ottava #2\n    a2 b" , } , { label : "\\settingsFrom" , detail : "A.18 Available music functions" , documentation : "Take the layout instruction events from music, optionally restricted to those applying to context type ctx, and return a context modification duplicating their effect." , } , { label : "\\sf" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\sff" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\sfz" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\shape" , detail : "A.18 Available music functions" , documentation : "Offset control-points of item by offsets. The argument is a list of number pairs or list of such lists. Each element of a pair represents an offset to one of the coordinates of a control-point. If item is a string, the result is \\once\\override for the specified grob type. If item is a music expression, the result is the same music expression with an appropriate tweak applied." , } , { label : "\\shiftDurations" , detail : "A.18 Available music functions" , documentation : "Change the duration of arg by adding dur to the durlog of arg and dots to the dots of arg." , } , { label : "\\shiftOff" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shiftOn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shiftOnn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\shiftOnnn" , detail : "Collision resolution" , documentation : "The note heads of notes in different voices with the same pitch, same note head and opposite stem direction are automatically merged, but notes with different note heads or the same stem direction are not. Rests opposite a stem in a different voice are shifted vertically. The following example shows three different circumstances, on beats 1 and 3 in bar 1 and beat 1 in bar 2, where the automatic merging fails.\n\n    <<\n      {\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nNotes with different note heads may be merged as shown below. In this example the note heads on beat 1 of bar 1 are now merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nQuarter and half notes are not merged in this way, since it would be difficult to tell them apart.\n\nNote heads with different dots as shown in beat 3 of bar 1 may be also be merged:\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe half note and eighth note at the start of the second measure are incorrectly merged because the automatic merge cannot successfully complete the merge when three or more notes line up in the same note column, and in this case the merged note head is incorrect. To allow the merge to select the correct note head a \\shift must be applied to the note that should not be merged. Here, \\shiftOn is applied to move the top g out of the column, and \\mergeDifferentlyHeadedOn then works properly.\n\n    <<\n      {\n        \\mergeDifferentlyHeadedOn\n        \\mergeDifferentlyDottedOn\n        c8 d e d c d c4\n        \\shiftOn\n        g'2 fis\n      } \\\\ {\n        c2 c8. b16 c4\n        e,2 r\n      } \\\\ {\n        \\oneVoice\n        s1\n        e8 a b c d2\n      }\n    >>\n\nThe \\shiftOn command allows (but does not force) the notes in a voice to be shifted. When \\shiftOn is applied to a voice, a note or chord in that voice is shifted only if its stem would otherwise collide with a stem from another voice, and only if the colliding stems point in the same direction. The \\shiftOff command prevents this type of shifting from occurring.\n\nBy default, the outer voices (normally voices one and two) have \\shiftOff specified, while the inner voices (three and above) have \\shiftOn specified. When a shift is applied, voices with upstems (odd-numbered voices) are shifted to the right, and voices with downstems (even-numbered voices) are shifted to the left.\n\nHere is an example to help you visualize how an abbreviated polyphonic expression would be expanded internally.\n\nNote: Note that with three or more voices, the vertical order of voices in your input file should not be the same as the vertical order of voices on the staff!\n\n\n\n    \\new Staff \\relative c'' {\n      %% abbreviated entry\n      <<\n        { f2  }  % 1: highest\n        \\\\\n        { g,2 }  % 2: lowest\n        \\\\\n        { d'2 }  % 3: upper middle\n        \\\\\n        { b2  }  % 4: lower middle\n      >>\n      %% internal expansion of the above\n      <<\n        \\new Voice = \"1\" { \\voiceOne   \\shiftOff f'2 }\n        \\new Voice = \"2\" { \\voiceTwo   \\shiftOff g,2 }\n        \\new Voice = \"3\" { \\voiceThree \\shiftOn  d'2 } % shifts right\n        \\new Voice = \"4\" { \\voiceFour  \\shiftOn  b2  } % shifts left\n      >>\n    }\n\nTwo additional commands, \\shiftOnn and \\shiftOnnn provide further shift levels which may be specified temporarily to resolve collisions in complex situations – see Real music example.\n\nNotes are only merged if they have opposing stem directions (as they have, for example, in voices one and two by default or when the stems are explicitly set in opposite directions)." , } , { label : "\\short-indent" , detail : "Instrument names" , documentation : 'However, if the instrument names are longer, the instrument names in a staff group may not be centered unless the indent and short-indent settings are increased. For details about these settings, see \\paper variables for shifts and indents.\n\n    \\relative c\'\' {\n      <<\n        \\new Staff \\with {\n          instrumentName = #"Alto Flute in G"\n          shortInstrumentName = #"Flt."\n        }\n        {\n          f2 g4 f \\break\n          g4 f g2\n        }\n        \\new Staff \\with {\n          instrumentName = #"Clarinet"\n          shortInstrumentName = #"Clar."\n        }\n        {\n          c,4 b c2 \\break\n          c2 b4 c\n        }\n      >>\n    }\n    \\layout {\n      indent = 3.0\\cm\n      short-indent = 1.5\\cm\n    }' , } , { label : "\\short-indent" , detail : "\\paper variables for shifts and indents" , documentation : "The level of indentation for all systems in a score besides the first system. If the paper size is modified, this dimension’s default value is scaled accordingly. This variable can also be set in a \\layout block." , } , { label : "\\show-available-fonts" , detail : "Single entry fonts" , documentation : "The following command displays a list of all available fonts on the operating system:\n\n    lilypond -dshow-available-fonts x" , } , { label : "\\showFirstLength" , detail : "3.4.2 Skipping corrected music" , documentation : "When entering or copying music, usually only the music near the end (where you are adding notes) is interesting to view and correct. To speed up this correction process, it is possible to skip typesetting of all but the last few measures. This is achieved by putting\n\n    showLastLength = R1*5\n    \\score { … }\n\nin your source file. This will render only the last 5 measures (assuming 4/4 time signature) of every \\score in the input file. For longer pieces, rendering only a small part is often an order of magnitude quicker than rendering it completely. When working on the beginning of a score you have already typeset (e.g. to add a new part), the showFirstLength property may be useful as well.\n\nSkipping parts of a score can be controlled in a more fine-grained fashion with the property Score.skipTypesetting. When it is set, no typesetting is performed at all.\n\nThis property is also used to control output to the MIDI file. Note that it skips all events, including tempo and instrument changes. You have been warned.\n\n    c8 d\n    \\set Score.skipTypesetting = ##t\n    e8 e e e e e e e\n    \\set Score.skipTypesetting = ##f\n    c8 d b bes a g c2\n\nIn polyphonic music, Score.skipTypesetting will affect all voices and staves, saving even more time." , } , { label : "\\showKeySignature" , detail : "Bagpipe definitions" , documentation : 'LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add\n\n    \\include "bagpipe.ly"\n\nto the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \\taor instead of\n\n    \\grace { \\small G32[ d G e] }\n\n‘bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \\relative or \\transpose.\n\n    \\include "bagpipe.ly"\n    { \\grg G4 \\grg a \\grg b \\grg c \\grg d \\grg e \\grg f \\grA g A }\n\nBagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \\hideKeySignature. If you for some reason want to show the key signature, you can use \\showKeySignature instead.\n\nSome modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.' , } , { label : "\\showLastLength" , detail : "3.4.2 Skipping corrected music" , documentation : "When entering or copying music, usually only the music near the end (where you are adding notes) is interesting to view and correct. To speed up this correction process, it is possible to skip typesetting of all but the last few measures. This is achieved by putting\n\n    showLastLength = R1*5\n    \\score { … }\n\nin your source file. This will render only the last 5 measures (assuming 4/4 time signature) of every \\score in the input file. For longer pieces, rendering only a small part is often an order of magnitude quicker than rendering it completely. When working on the beginning of a score you have already typeset (e.g. to add a new part), the showFirstLength property may be useful as well.\n\nSkipping parts of a score can be controlled in a more fine-grained fashion with the property Score.skipTypesetting. When it is set, no typesetting is performed at all.\n\nThis property is also used to control output to the MIDI file. Note that it skips all events, including tempo and instrument changes. You have been warned.\n\n    c8 d\n    \\set Score.skipTypesetting = ##t\n    e8 e e e e e e e\n    \\set Score.skipTypesetting = ##f\n    c8 d b bes a g c2\n\nIn polyphonic music, Score.skipTypesetting will affect all voices and staves, saving even more time." , } , { label : "\\showStaffSwitch" , detail : "Staff-change lines" , documentation : 'Whenever a voice switches to another staff, a line connecting the notes can be printed automatically:\n\n    \\new PianoStaff <<\n      \\new Staff = "one" {\n        \\showStaffSwitch\n        c1\n        \\change Staff = "two"\n        b2 a\n      }\n      \\new Staff = "two" {\n        \\clef bass\n        s1*2\n      }\n    >>' , } , { label : "\\single" , detail : "A.18 Available music functions" , documentation : "Convert overrides to tweaks and apply them to music. This does not convert \\revert, \\set or \\unset." , } , { label : "\\skip" , detail : "Invisible rests" , documentation : "An invisible rest (also called a ‘spacer rest’) can be entered like a note with the note name s:\n\n    c4 c s c\n    s2 c" , } , { label : "\\skip" , detail : "A.18 Available music functions" , documentation : "Skip forward by dur." , } , { label : "\\skipTypesetting" , detail : "3.4.2 Skipping corrected music" , documentation : "When entering or copying music, usually only the music near the end (where you are adding notes) is interesting to view and correct. To speed up this correction process, it is possible to skip typesetting of all but the last few measures. This is achieved by putting\n\n    showLastLength = R1*5\n    \\score { … }\n\nin your source file. This will render only the last 5 measures (assuming 4/4 time signature) of every \\score in the input file. For longer pieces, rendering only a small part is often an order of magnitude quicker than rendering it completely. When working on the beginning of a score you have already typeset (e.g. to add a new part), the showFirstLength property may be useful as well.\n\nSkipping parts of a score can be controlled in a more fine-grained fashion with the property Score.skipTypesetting. When it is set, no typesetting is performed at all.\n\nThis property is also used to control output to the MIDI file. Note that it skips all events, including tempo and instrument changes. You have been warned.\n\n    c8 d\n    \\set Score.skipTypesetting = ##t\n    e8 e e e e e e e\n    \\set Score.skipTypesetting = ##f\n    c8 d b bes a g c2\n\nIn polyphonic music, Score.skipTypesetting will affect all voices and staves, saving even more time." , } , { label : "\\slashChordSeparator" , detail : "Customizing chord names" , documentation : "" , } , { label : "\\slashedGrace" , detail : "A.18 Available music functions" , documentation : "Create slashed graces (slashes through stems, but no slur) from the following music expression" , } , { label : "\\slurDashed" , detail : "Slurs" , documentation : "Slurs can be solid, dotted, or dashed. Solid is the default slur style:\n\n    c4( e g2)\n    \\slurDashed\n    g4( e c2)\n    \\slurDotted\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurDashPattern" , detail : "Slurs" , documentation : "Custom dash patterns for slurs can be defined:\n\n    c4( e g2)\n    \\slurDashPattern #0.7 #0.75\n    g4( e c2)\n    \\slurDashPattern #0.5 #2.0\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurDashPattern" , detail : "A.18 Available music functions" , documentation : "Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval for slurs." , } , { label : "\\slurDotted" , detail : "Slurs" , documentation : "Slurs can be solid, dotted, or dashed. Solid is the default slur style:\n\n    c4( e g2)\n    \\slurDashed\n    g4( e c2)\n    \\slurDotted\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurDown" , detail : "Slurs" , documentation : "Slurs may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\slurHalfDashed" , detail : "Slurs" , documentation : "Slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4( e g2)\n    \\slurHalfDashed\n    g4( e c2)\n    \\slurHalfSolid\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurHalfSolid" , detail : "Slurs" , documentation : "Slurs can also be made half-dashed (the first half dashed, the second half solid) or half-solid (the first half solid, the second half dashed):\n\n    c4( e g2)\n    \\slurHalfDashed\n    g4( e c2)\n    \\slurHalfSolid\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurNeutral" , detail : "Slurs" , documentation : "Slurs may be manually placed above or below the staff; see Direction and placement." , } , { label : "\\slurSolid" , detail : "Slurs" , documentation : "Slurs can be solid, dotted, or dashed. Solid is the default slur style:\n\n    c4( e g2)\n    \\slurDashed\n    g4( e c2)\n    \\slurDotted\n    c4( e g2)\n    \\slurSolid\n    g4( e c2)" , } , { label : "\\slurUp" , detail : "Slurs" , documentation : "\\slurUp, \\slurDown, \\slurNeutral, \\slurDashed, \\slurDotted, \\slurHalfDashed, \\slurHalfSolid, \\slurDashPattern, \\slurSolid." , } , { label : "\\small" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\small" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\smaller" , detail : "Selecting font and font size" , documentation : "The font size can be altered, relative to the global staff size, in a number of different ways\n\nIt can be set to predefined size,\n\n    b1_\\markup { \\huge Sinfonia }\n    b1^\\markup { \\teeny da }\n    b1-\\markup { \\normalsize camera }\n\nIt can be set relative to its previous value,\n\n    b1_\\markup { \\larger Sinfonia }\n    b1^\\markup { \\smaller da }\n    b1-\\markup { \\magnify #0.6  camera }\n\nIt can be increased or decreased relative to the value set by the global staff size,\n\n    b1_\\markup { \\fontsize #-2 Sinfonia }\n    b1^\\markup { \\fontsize #1 da }\n    b1-\\markup { \\fontsize #3 camera }\n\nIt can also be set to a fixed point-size, regardless of the global staff size,\n\n    b1_\\markup { \\abs-fontsize #20 Sinfonia }\n    b1^\\markup { \\abs-fontsize #8 da }\n    b1-\\markup { \\abs-fontsize #14 camera }" , } , { label : "\\smaller" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\sostenutoOff" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\sostenutoOn" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\southernHarmonyHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\southernHarmonyHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\sp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\spacing" , detail : "4.5.1 Horizontal spacing overview" , documentation : "Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:\n\n    c2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c\n\nIn the Essay on automated music engraving, it was explained that stem directions influence spacing (see Optical spacing). This is controlled with the stem-spacing-correction property in the NoteSpacing, object. These are generated for every Voice context. The StaffSpacing object (generated in Staff context) contains the same property for controlling the stem/bar line spacing. The following example shows these corrections, once with default settings, and once with exaggerated corrections:\n\nProportional notation is supported; see Proportional notation." , } , { label : "\\spacingTweaks" , detail : "A.18 Available music functions" , documentation : "Set the system stretch, by reading the ’system-stretch property of the ‘parameters’ assoc list." , } , { label : "Span_stem_engraver" , detail : "Cross-staff stems" , documentation : "Chords that cross staves may be produced using the Span_stem_engraver. Care must be taken to ensure that automatic beams do not beam the notes on one staff when it’s not required on the other.\n\n    \\layout {\n      \\context {\n        \\PianoStaff\n        \\consists #Span_stem_engraver\n      }\n    }\n    {\n      \\new PianoStaff <<\n        \\new Staff {\n          <b d'>4 r d'16\\> e'8. g8 r\\!\n          e'8 f' g'4 e'2\n        }\n        \\new Staff {\n          \\clef bass\n          \\voiceOne\n          \\autoBeamOff\n          \\crossStaff { <e g>4 e, g16 a8. c8} d\n          \\autoBeamOn\n          g8 f g4 c2\n        }\n      >>\n    }\n\nFor the time being, this engraver can not be specified by its name in double quotes, but rather prefixing its name with a hash symbol #, due to the way it is implemented." , } , { label : "\\spp" , detail : "Dynamics" , documentation : "Absolute dynamic marks are specified using a command after a note, such as c4\\ff. The available dynamic marks are \\ppppp, \\pppp, \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff, \\ffff, \\fffff, \\fp, \\sf, \\sff, \\sp, \\spp, \\sfz, and \\rfz. Dynamic marks may be manually placed above or below the staff; see Direction and placement.\n\n    c2\\ppp c\\mp\n    c2\\rfz c^\\mf\n    c2_\\spp c^\\ff" , } , { label : "\\staff-affinity" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\staff-staff-spacing" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "Staff.midiInstrument" , detail : "3.5.2 MIDI Instruments" , documentation : 'The MIDI instrument to be used is specified by setting the Staff.midiInstrument property to the instrument name. The name should be chosen from the list in MIDI instruments.\n\n    \\new Staff {\n      \\set Staff.midiInstrument = #"glockenspiel"\n      …notes…\n    }\n\n    \\new Staff \\with {midiInstrument = #"cello"} {\n      …notes…\n    }\n\nIf the selected instrument does not exactly match an instrument from the list of MIDI instruments, the Grand Piano ("acoustic grand") instrument is used.' , } , { label : "\\staffgroup-staff-spacing" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "Staff_symbol_engraver" , detail : "Hiding staves" , documentation : "Staff lines can be hidden by removing the Staff_symbol_engraver from the Staff context. As an alternative, \\stopStaff may be used.\n\n    \\new Staff \\with {\n      \\remove \"Staff_symbol_engraver\"\n    }\n    \\relative c''' { a8 f e16 d c b a2 }\n\nEmpty staves can be hidden by setting the \\Staff \\RemoveEmptyStaves command in the \\layout block. In orchestral scores, this style is known as ‘Frenched Score’. By default, this command hides and removes all empty staves in a score except for those in the first system.\n\nNote: A staff is considered empty when it contains only multi-measure rests, rests, skips, spacer rests, or a combination of these elements.\n\n\n\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n      }\n    }\n    \\relative c' <<\n      \\new Staff {\n        e4 f g a \\break\n        b1 \\break\n        a4 b c2\n      }\n      \\new Staff {\n        c,4 d e f \\break\n        R1 \\break\n        f4 g c,2\n      }\n    >>" , } , { label : "\\start-repeat" , detail : "Manual repeat marks" , documentation : "The property repeatCommands can be used to control the layout of repeats. Its value is a Scheme list of repeat commands.\n\nstart-repeat\nPrint a .|: bar line.\n\nc1\n\\set Score.repeatCommands = #'(start-repeat)\nd4 e f g\nc1\n \n\nAs per standard engraving practice, repeat signs are not printed at the beginning of a piece.\n\nend-repeat\nPrint a :|. bar line:\n\nc1\nd4 e f g\n\\set Score.repeatCommands = #'(end-repeat)\nc1\n \n\n(volta number) … (volta #f)\nCreate a new volta with the specified number. The volta bracket must be explicitly terminated, or it will not be printed.\n\nf4 g a b\n\\set Score.repeatCommands = #'((volta \"2\"))\ng4 a g a\n\\set Score.repeatCommands = #'((volta #f))\nc1\n \n\n\n\nMultiple repeat commands may occur at the same point:\n\n    f4 g a b\n    \\set Score.repeatCommands = #'((volta \"2, 5\") end-repeat)\n    g4 a g a\n    c1\n    \\set Score.repeatCommands = #'((volta #f) (volta \"95\") end-repeat)\n    b1\n    \\set Score.repeatCommands = #'((volta #f))" , } , { label : "\\startGroup" , detail : "Analysis brackets" , documentation : "Brackets are used in musical analysis to indicate structure in musical pieces. Simple horizontal brackets are supported.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c2\\startGroup\n      d\\stopGroup\n    }\n\nAnalysis brackets may be nested.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c4\\startGroup\\startGroup\n      d4\\stopGroup\n      e4\\startGroup\n      d4\\stopGroup\\stopGroup\n    }" , } , { label : "\\startStaff" , detail : "Staff symbol" , documentation : "The \\stopStaff and \\startStaff commands can be used to stop or (re)start the staff lines respectively, from being printed at any point witin a score.\n\n    \\stopStaff f4 d \\startStaff g, e\n    f'4 d \\stopStaff g, e\n    f'4 d \\startStaff g, e" , } , { label : "\\startStaff" , detail : "Ossia staves" , documentation : 'Ossia staves can be set by creating a new simultaneous staff in the appropriate location:\n\n    \\new Staff \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nHowever, the above example is not what is usually desired. To create ossia staves that are above the original staff, have no time signature or clef, and have a smaller font size, tweaks must be used. The Learning Manual describes a specific technique to achieve this goal, beginning with Nesting music expressions.\n\nThe following example uses the alignAboveContext property to align the ossia staff. This method is most appropriate when only a few ossia staves are needed.\n\n    \\new Staff = "main" \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff \\with {\n          \\remove "Time_signature_engraver"\n          alignAboveContext = #"main"\n          fontSize = #-3\n          \\override StaffSymbol.staff-space = #(magstep -3)\n          \\override StaffSymbol.thickness = #(magstep -3)\n          firstClef = ##f\n        }\n        { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nIf many isolated ossia staves are needed, creating an empty Staff context with a specific context id may be more appropriate; the ossia staves may then be created by calling this context and using \\startStaff and \\stopStaff at the desired locations. The benefits of this method are more apparent if the piece is longer than the following example.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      }\n      { \\stopStaff s1*6 }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        <<\n          { e4 f e2 }\n          \\context Staff = "ossia" {\n            \\startStaff e4 g8 f e2 \\stopStaff\n          }\n        >>\n        g4 a g2 \\break\n        c4 b c2\n        <<\n          { g4 a g2 }\n          \\context Staff = "ossia" {\n            \\startStaff g4 e8 f g2 \\stopStaff\n          }\n        >>\n        e4 d c2\n      }\n    >>\n\nUsing the \\Staff \\RemoveEmptyStaves command to create ossia staves may be used as an alternative. This method is most convenient when ossia staves occur immediately following a line break. For more information about \\Staff \\RemoveEmptyStaves, see Hiding staves.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      } \\relative c\'\' {\n        R1*3\n        c4 e8 d c2\n      }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        e4 f e2\n        g4 a g2 \\break\n        c4 b c2\n        g4 a g2\n        e4 d c2\n      }\n    >>\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n        \\override VerticalAxisGroup.remove-first = ##t\n      }\n    }' , } , { label : "\\startTrillSpan" , detail : "Trills" , documentation : "Short trills without an extender line are printed with \\trill; see Articulations and ornamentations.\n\nLonger trills with an extender line are made with \\startTrillSpan and \\stopTrillSpan:\n\n    d1\\startTrillSpan\n    d1\n    c2\\stopTrillSpan\n    r2\n\nA trill spanner crossing a line break will restart exactly above the first note on the new line.\n\n    d1\\startTrillSpan\n    \\break\n    d1\n    c2\\stopTrillSpan\n    r2\n\nConsecutive trill spans will work without explicit \\stopTrillSpan commands, since successive trill spanners will automatically become the right bound of the previous trill.\n\n    d1\\startTrillSpan\n    d1\n    b1\\startTrillSpan\n    d2\\stopTrillSpan\n    r2\n\nTrills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.\n\n    d1~\\afterGrace\n    d1\\startTrillSpan { c32[ d]\\stopTrillSpan }\n    c2 r2" , } , { label : "Stem" , detail : "Cross-staff stems" , documentation : "Chords that cross staves may be produced using the Span_stem_engraver. Care must be taken to ensure that automatic beams do not beam the notes on one staff when it’s not required on the other.\n\n    \\layout {\n      \\context {\n        \\PianoStaff\n        \\consists #Span_stem_engraver\n      }\n    }\n    {\n      \\new PianoStaff <<\n        \\new Staff {\n          <b d'>4 r d'16\\> e'8. g8 r\\!\n          e'8 f' g'4 e'2\n        }\n        \\new Staff {\n          \\clef bass\n          \\voiceOne\n          \\autoBeamOff\n          \\crossStaff { <e g>4 e, g16 a8. c8} d\n          \\autoBeamOn\n          g8 f g4 c2\n        }\n      >>\n    }\n\nFor the time being, this engraver can not be specified by its name in double quotes, but rather prefixing its name with a hash symbol #, due to the way it is implemented." , } , { label : "\\stem-spacing-correction" , detail : "4.5.1 Horizontal spacing overview" , documentation : "Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:\n\n    c2 c4. c8 | c4. c16[ c] c4. c8 | c8 c c4 c c\n\nIn the Essay on automated music engraving, it was explained that stem directions influence spacing (see Optical spacing). This is controlled with the stem-spacing-correction property in the NoteSpacing, object. These are generated for every Voice context. The StaffSpacing object (generated in Staff context) contains the same property for controlling the stem/bar line spacing. The following example shows these corrections, once with default settings, and once with exaggerated corrections:\n\nProportional notation is supported; see Proportional notation." , } , { label : "\\stemDown" , detail : "Stems" , documentation : "Whenever a note is found, a Stem object is created automatically. For whole notes and rests, they are also created but made invisible.\n\nStems may be manually placed to point up or down; see Direction and placement." , } , { label : "\\stemLeftBeamCount" , detail : "Manual beams" , documentation : "Even more strict manual control with the beams can be achieved by setting the properties stemLeftBeamCount and stemRightBeamCount. They specify the number of beams to draw on the left and right side, respectively, of the next note. If either property is set, its value will be used only once, and then it is erased. In this example, the last f is printed with only one beam on the left side, i.e., the eighth-note beam of the group as a whole.\n\n    a8[ r16 f g a]\n    a8[ r16\n    \\set stemLeftBeamCount = #2\n    \\set stemRightBeamCount = #1\n    f16\n    \\set stemLeftBeamCount = #1\n    g16 a]" , } , { label : "\\stemNeutral" , detail : "Stems" , documentation : "Whenever a note is found, a Stem object is created automatically. For whole notes and rests, they are also created but made invisible.\n\nStems may be manually placed to point up or down; see Direction and placement." , } , { label : "\\stemRightBeamCount" , detail : "Manual beams" , documentation : "Even more strict manual control with the beams can be achieved by setting the properties stemLeftBeamCount and stemRightBeamCount. They specify the number of beams to draw on the left and right side, respectively, of the next note. If either property is set, its value will be used only once, and then it is erased. In this example, the last f is printed with only one beam on the left side, i.e., the eighth-note beam of the group as a whole.\n\n    a8[ r16 f g a]\n    a8[ r16\n    \\set stemLeftBeamCount = #2\n    \\set stemRightBeamCount = #1\n    f16\n    \\set stemLeftBeamCount = #1\n    g16 a]" , } , { label : "\\stemUp" , detail : "Stems" , documentation : "Whenever a note is found, a Stem object is created automatically. For whole notes and rests, they are also created but made invisible.\n\nStems may be manually placed to point up or down; see Direction and placement." , } , { label : "\\stopGroup" , detail : "Analysis brackets" , documentation : "Brackets are used in musical analysis to indicate structure in musical pieces. Simple horizontal brackets are supported.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c2\\startGroup\n      d\\stopGroup\n    }\n\nAnalysis brackets may be nested.\n\n    \\layout {\n      \\context {\n        \\Voice\n        \\consists \"Horizontal_bracket_engraver\"\n      }\n    }\n    \\relative c'' {\n      c4\\startGroup\\startGroup\n      d4\\stopGroup\n      e4\\startGroup\n      d4\\stopGroup\\stopGroup\n    }" , } , { label : "\\stopStaff" , detail : "Staff symbol" , documentation : "The \\stopStaff and \\startStaff commands can be used to stop or (re)start the staff lines respectively, from being printed at any point witin a score.\n\n    \\stopStaff f4 d \\startStaff g, e\n    f'4 d \\stopStaff g, e\n    f'4 d \\startStaff g, e" , } , { label : "\\stopStaff" , detail : "Ossia staves" , documentation : 'Ossia staves can be set by creating a new simultaneous staff in the appropriate location:\n\n    \\new Staff \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nHowever, the above example is not what is usually desired. To create ossia staves that are above the original staff, have no time signature or clef, and have a smaller font size, tweaks must be used. The Learning Manual describes a specific technique to achieve this goal, beginning with Nesting music expressions.\n\nThe following example uses the alignAboveContext property to align the ossia staff. This method is most appropriate when only a few ossia staves are needed.\n\n    \\new Staff = "main" \\relative c\'\' {\n      c4 b d c\n      <<\n        { c4 b d c }\n        \\new Staff \\with {\n          \\remove "Time_signature_engraver"\n          alignAboveContext = #"main"\n          fontSize = #-3\n          \\override StaffSymbol.staff-space = #(magstep -3)\n          \\override StaffSymbol.thickness = #(magstep -3)\n          firstClef = ##f\n        }\n        { e4 d f e }\n      >>\n      c4 b c2\n    }\n\nIf many isolated ossia staves are needed, creating an empty Staff context with a specific context id may be more appropriate; the ossia staves may then be created by calling this context and using \\startStaff and \\stopStaff at the desired locations. The benefits of this method are more apparent if the piece is longer than the following example.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      }\n      { \\stopStaff s1*6 }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        <<\n          { e4 f e2 }\n          \\context Staff = "ossia" {\n            \\startStaff e4 g8 f e2 \\stopStaff\n          }\n        >>\n        g4 a g2 \\break\n        c4 b c2\n        <<\n          { g4 a g2 }\n          \\context Staff = "ossia" {\n            \\startStaff g4 e8 f g2 \\stopStaff\n          }\n        >>\n        e4 d c2\n      }\n    >>\n\nUsing the \\Staff \\RemoveEmptyStaves command to create ossia staves may be used as an alternative. This method is most convenient when ossia staves occur immediately following a line break. For more information about \\Staff \\RemoveEmptyStaves, see Hiding staves.\n\n    <<\n      \\new Staff = "ossia" \\with {\n        \\remove "Time_signature_engraver"\n        \\hide Clef\n        fontSize = #-3\n        \\override StaffSymbol.staff-space = #(magstep -3)\n        \\override StaffSymbol.thickness = #(magstep -3)\n      } \\relative c\'\' {\n        R1*3\n        c4 e8 d c2\n      }\n      \\new Staff \\relative c\' {\n        c4 b c2\n        e4 f e2\n        g4 a g2 \\break\n        c4 b c2\n        g4 a g2\n        e4 d c2\n      }\n    >>\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n        \\override VerticalAxisGroup.remove-first = ##t\n      }\n    }' , } , { label : "\\stopStaff" , detail : "Hiding staves" , documentation : "Staff lines can be hidden by removing the Staff_symbol_engraver from the Staff context. As an alternative, \\stopStaff may be used.\n\n    \\new Staff \\with {\n      \\remove \"Staff_symbol_engraver\"\n    }\n    \\relative c''' { a8 f e16 d c b a2 }\n\nEmpty staves can be hidden by setting the \\Staff \\RemoveEmptyStaves command in the \\layout block. In orchestral scores, this style is known as ‘Frenched Score’. By default, this command hides and removes all empty staves in a score except for those in the first system.\n\nNote: A staff is considered empty when it contains only multi-measure rests, rests, skips, spacer rests, or a combination of these elements.\n\n\n\n    \\layout {\n      \\context {\n        \\Staff \\RemoveEmptyStaves\n      }\n    }\n    \\relative c' <<\n      \\new Staff {\n        e4 f g a \\break\n        b1 \\break\n        a4 b c2\n      }\n      \\new Staff {\n        c,4 d e f \\break\n        R1 \\break\n        f4 g c,2\n      }\n    >>" , } , { label : "\\stopTrillSpan" , detail : "Trills" , documentation : "Short trills without an extender line are printed with \\trill; see Articulations and ornamentations.\n\nLonger trills with an extender line are made with \\startTrillSpan and \\stopTrillSpan:\n\n    d1\\startTrillSpan\n    d1\n    c2\\stopTrillSpan\n    r2\n\nA trill spanner crossing a line break will restart exactly above the first note on the new line.\n\n    d1\\startTrillSpan\n    \\break\n    d1\n    c2\\stopTrillSpan\n    r2\n\nConsecutive trill spans will work without explicit \\stopTrillSpan commands, since successive trill spanners will automatically become the right bound of the previous trill.\n\n    d1\\startTrillSpan\n    d1\n    b1\\startTrillSpan\n    d2\\stopTrillSpan\n    r2\n\nTrills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.\n\n    d1~\\afterGrace\n    d1\\startTrillSpan { c32[ d]\\stopTrillSpan }\n    c2 r2" , } , { label : "\\storePredefinedDiagram" , detail : "Predefined fret diagrams" , documentation : "In addition to fret diagrams, LilyPond stores an internal list of chord shapes. The chord shapes are fret diagrams that can be shifted along the neck to different positions to provide different chords. Chord shapes can be added to the internal list and then used to define predefined fret diagrams. Because they can be moved to various positions on the neck, chord shapes will normally not contain any open strings. Like fret diagrams, chord shapes can be entered as either fret-diagram-terse strings or fret-diagram-verbose marking lists.\n\n    \\include \"predefined-guitar-fretboards.ly\"\n    % Add a new chord shape\n    \\addChordShape #'powerf #guitar-tuning #\"1-1;3-3;3-4;x;x;x;\"\n    % add some new chords based on the power chord shape\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { f'' }\n                            #guitar-tuning\n                            #(chord-shape 'powerf guitar-tuning)\n    \\storePredefinedDiagram #default-fret-table\n                            \\chordmode { g'' }\n                            #guitar-tuning\n                            #(offset-fret 2 (chord-shape 'powerf guitar-tuning))\n    mychords = \\chordmode{\n      f1 f'' g g''\n    }\n    <<\n      \\new ChordNames {\n        \\mychords\n      }\n      \\new FretBoards {\n        \\mychords\n      }\n    >>\n\nThe graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a predefined fret diagram, the interface properties belong to FretBoards.FretBoard." , } , { label : "\\storePredefinedDiagram" , detail : "A.18 Available music functions" , documentation : "Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning." , } , { label : "\\stringTuning" , detail : "Custom tablatures" , documentation : "Any desired string tuning can be created. The \\stringTuning function can be used to define a string tuning which can be used to set stringTunings for the current context.\n\nIts argument is a chord construct defining the pitches of each string in the tuning. The chord construct must be in absolute octave mode, see Absolute octave entry. The string with the highest number (generally the lowest string) must come first in the chord. For example, we can define a string tuning for a four-string instrument with pitches of a'', d'', g', and c':\n\n    mynotes = {\n      c'4 e' g' c'' |\n      e''4 g'' b'' c'''\n    }\n    <<\n      \\new Staff {\n        \\clef treble\n        \\mynotes\n      }\n      \\new TabStaff {\n        \\set Staff.stringTunings = \\stringTuning <c' g' d'' a''>\n        \\mynotes\n      }\n    >>\n\nThe stringTunings property is also used by FretBoards to calculate automatic fret diagrams.\n\nString tunings are used as part of the hash key for predefined fret diagrams (see Predefined fret diagrams).\n\nThe previous example could also be written as follows:\n\n    custom-tuning = \\stringTuning <c' g' d'' a''>\n    mynotes = {\n      c'4 e' g' c'' |\n      e''4 g'' b'' c'''\n    }\n    <<\n      \\new Staff {\n        \\clef treble\n        \\mynotes\n      }\n      \\new TabStaff {\n        \\set TabStaff.stringTunings = #custom-tuning\n        \\mynotes\n      }\n    >>\n\nInternally, a string tuning is a Scheme list of string pitches, one for each string, ordered by string number from 1 to N, where string 1 is at the top of the tablature staff and string N is at the bottom. This ordinarily results in ordering from highest pitch to lowest pitch, but some instruments (e.g. ukulele) do not have strings ordered by pitch.\n\nA string pitch in a string tuning list is a LilyPond pitch object. Pitch objects are created with the Scheme function ly:make-pitch (see Scheme functions).\n\n\\stringTuning creates such an object from chord input.\n\nLilyPond automatically calculates the number of lines in the TabStaff and the number of strings in an automatically calculated FretBoard as the number of elements in stringTunings.\n\nTo let all TabStaff contexts use the same custom tuning by default, you can use\n\n    \\layout {\n      \\context {\n        \\TabStaff\n        stringTunings = \\stringTuning <c' g' d'' a''>\n      }\n    }" , } , { label : "\\stringTuning" , detail : "A.18 Available music functions" , documentation : "Convert chord to a string tuning. chord must be in absolute pitches and should have the highest string number (generally the lowest pitch) first." , } , { label : "\\stringTunings" , detail : "Custom tablatures" , documentation : 'LilyPond tablature automatically calculates the fret for a note based on the string to which the note is assigned. In order to do this, the tuning of the strings must be specified. The tuning of the strings is given in the stringTunings property.\n\nLilyPond comes with predefined string tunings for banjo, mandolin, guitar, bass guitar, ukulele, violin, viola, cello, and double bass. LilyPond automatically sets the correct transposition for predefined tunings. The following example is for bass guitar, which sounds an octave lower than written.\n\n    <<\n      \\new Voice \\with {\n        \\omit StringNumber\n      } {\n        \\clef "bass_8"\n        \\relative c, {\n          c4 d e f\n        }\n      }\n      \\new TabStaff \\with {\n        stringTunings = #bass-tuning\n      } {\n        \\relative c, {\n          c4 d e f\n        }\n      }\n    >>\n\nThe default string tuning is guitar-tuning, which is the standard EADGBE tuning. Some other predefined tunings are guitar-open-g-tuning, mandolin-tuning and banjo-open-g-tuning. The predefined string tunings are found in ‘ly/string-tunings-init.ly’.' , } , { label : "\\stringTunings" , detail : "Predefined fret diagrams" , documentation : 'Fret diagrams can be displayed using the FretBoards context. By default, the FretBoards context will display fret diagrams that are stored in a lookup table:\n\n    \\include "predefined-guitar-fretboards.ly"\n    \\new FretBoards {\n      \\chordmode {\n        c1 d\n      }\n    }\n\nThe default predefined fret diagrams are contained in the file ‘predefined-guitar-fretboards.ly’. Fret diagrams are stored based on the pitches of a chord and the value of stringTunings that is currently in use. ‘predefined-guitar-fretboards.ly’ contains predefined fret diagrams only for guitar-tuning. Predefined fret diagrams can be added for other instruments or other tunings by following the examples found in ‘predefined-guitar-fretboards.ly’.\n\nFret diagrams for the ukulele are contained in the file \n‘predefined-ukulele-fretboards.ly’.\n\n    \\include "predefined-ukulele-fretboards.ly"\n    myChords = \\chordmode { a1 a:m a:aug }\n    \\new ChordNames {\n      \\myChords\n    }\n    \\new FretBoards {\n      \\set Staff.stringTunings = #ukulele-tuning\n      \\myChords\n    }\n\nFret diagrams for the mandolin are contained in the file \n‘predefined-mandolin-fretboards.ly’.\n\n    \\include "predefined-mandolin-fretboards.ly"\n    myChords = \\chordmode { c1 c:m7.5- c:aug }\n    \\new ChordNames {\n      \\myChords\n    }\n    \\new FretBoards {\n      \\set Staff.stringTunings = #mandolin-tuning\n      \\myChords\n    }\n\nChord pitches can be entered either as simultaneous music or using chord mode (see Chord mode overview).\n\n    \\include "predefined-guitar-fretboards.ly"\n    \\new FretBoards {\n      \\chordmode { c1 }\n      <c\' e\' g\'>1\n    }' , } , { label : "\\styledNoteHeads" , detail : "A.18 Available music functions" , documentation : "Set heads in music to style." , } , { label : "\\sub" , detail : "Selecting font and font size" , documentation : "Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well:\n\n    \\markup {\n      \\column {\n        \\line { 1 \\super st movement }\n        \\line { 1 \\normal-size-super st movement\n          \\sub { (part two) }  }\n      }\n    }" , } , { label : "\\suggestAccidentals" , detail : "Annotational accidentals (musica ficta)" , documentation : "This will treat every subsequent accidental as musica ficta until it is unset with \\set suggestAccidentals = ##f. A more practical way is to use \\once \\set suggestAccidentals = ##t, which can even be defined as a convenient shorthand:\n\n    ficta = { \\once \\set suggestAccidentals = ##t }\n    \\score { \\relative c''\n      \\new MensuralVoice  {\n        \\once \\set suggestAccidentals = ##t\n        bes4 a2 g2 \\ficta fis8 \\ficta e! fis2 g1\n      }\n    }" , } , { label : "\\super" , detail : "Selecting font and font size" , documentation : "Text may be printed as subscript or superscript. By default these are printed in a smaller size, but a normal size can be used as well:\n\n    \\markup {\n      \\column {\n        \\line { 1 \\super st movement }\n        \\line { 1 \\normal-size-super st movement\n          \\sub { (part two) }  }\n      }\n    }" , } , { label : "\\sus" , detail : "Extended and altered chords" , documentation : "The modifier sus can be added to the modifier string to create suspended chords. This removes the 3rd step from the chord. Append either 2 or 4 to add the 2nd or 4th step to the chord. sus is equivalent to ^3; sus4 is equivalent to .4^3.\n\n    \\chordmode {\n      c1:sus c:sus2 c:sus4 c:5.4^3\n    }" , } , { label : "\\sustainOff" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\sustainOn" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\system-count" , detail : "\\paper variables for line breaking" , documentation : "The number of systems to be used for a score. Default: unset. This variable can also be set in a \\layout block." , } , { label : "\\system-separator-markup" , detail : "Miscellaneous \\paper variables" , documentation : "A markup object that is inserted between systems, often used for orchestral scores. Default: unset. The \\slashSeparator markup, defined in ‘ly/titling-init.ly’, is provided as a sensible default, for example:\n\n    #(set-default-paper-size \"a8\")\n    \\book {\n      \\paper {\n        system-separator-markup = \\slashSeparator\n      }\n      \\header {\n        tagline = ##f\n      }\n      \\score {\n        \\relative c'' { c1 \\break c1 \\break c1 }\n      }\n    }" , } , { label : "\\system-system-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance between two systems in the same score." , } , { label : "\\systems-per-page" , detail : "\\paper variables for line breaking" , documentation : "The number of systems that should be placed on each page. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset." , } , { label : "\\tabChordRepeats" , detail : "A.18 Available music functions" , documentation : "Walk through music putting the notes, fingerings and string numbers of the previous chord into repeat chords, as well as an optional list of event-types such as #'(articulation-event)." , } , { label : "\\tabChordRepetition" , detail : "A.18 Available music functions" , documentation : "Include the string and fingering information in a chord repetition. This function is deprecated; try using \\tabChordRepeats instead." , } , { label : "TabStaff" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "TabStaff" , detail : "Default tablatures" , documentation : "Music for plucked string instruments is frequently notated using a finger/touch notation or tablature. In contrast to traditional notation pitches are not denoted with note heads, but by numbers (or letter-like symbols in historical intavolatura). The staff lines in tablature indicate the string on which the note is to be played, and a number placed on a staff line indicated the fret at which the corresponding string is to be pressed. Notes that are to be played simultaneously are vertically aligned.\n\nBy default, string 1 is the highest string, and corresponds to the top line on the TabStaff. The tuning of the TabStaff strings defaults to the standard guitar tuning (with 6 strings). The notes are printed as tablature, by using TabStaff and TabVoice contexts. A calligraphic tablature clef is added automatically.\n\n    \\new TabStaff \\relative c' {\n      a,8 a' <c e> a\n      d,8 a' <d f> a\n    }\n\nDefault tablatures do not contain any symbols for tone duration nor any other musical symbols such as e.g. expressive marks.\n\n    symbols = {\n      \\time 3/4\n      c4-.^\"Allegro\" d( e)\n      f4-.\\f g a^\\fermata\n      \\mark \\default\n      c8_.\\<\\( c16 c~ c2\\!\n      c'2.\\prall\\)\n    }\n    \\score {\n      <<\n        \\new Staff { \\clef \"G_8\" \\symbols }\n        \\new TabStaff { \\symbols }\n      >>\n    }" , } , { label : "TabVoice" , detail : "Default tablatures" , documentation : "Music for plucked string instruments is frequently notated using a finger/touch notation or tablature. In contrast to traditional notation pitches are not denoted with note heads, but by numbers (or letter-like symbols in historical intavolatura). The staff lines in tablature indicate the string on which the note is to be played, and a number placed on a staff line indicated the fret at which the corresponding string is to be pressed. Notes that are to be played simultaneously are vertically aligned.\n\nBy default, string 1 is the highest string, and corresponds to the top line on the TabStaff. The tuning of the TabStaff strings defaults to the standard guitar tuning (with 6 strings). The notes are printed as tablature, by using TabStaff and TabVoice contexts. A calligraphic tablature clef is added automatically.\n\n    \\new TabStaff \\relative c' {\n      a,8 a' <c e> a\n      d,8 a' <d f> a\n    }\n\nDefault tablatures do not contain any symbols for tone duration nor any other musical symbols such as e.g. expressive marks.\n\n    symbols = {\n      \\time 3/4\n      c4-.^\"Allegro\" d( e)\n      f4-.\\f g a^\\fermata\n      \\mark \\default\n      c8_.\\<\\( c16 c~ c2\\!\n      c'2.\\prall\\)\n    }\n    \\score {\n      <<\n        \\new Staff { \\clef \"G_8\" \\symbols }\n        \\new TabStaff { \\symbols }\n      >>\n    }" , } , { label : "\\tag" , detail : "A.18 Available music functions" , documentation : "Tag the following music with tag and return the result, by adding the single symbol or symbol list tag to the tags property of music." , } , { label : "\\taor" , detail : "Bagpipe definitions" , documentation : 'LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add\n\n    \\include "bagpipe.ly"\n\nto the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \\taor instead of\n\n    \\grace { \\small G32[ d G e] }\n\n‘bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \\relative or \\transpose.\n\n    \\include "bagpipe.ly"\n    { \\grg G4 \\grg a \\grg b \\grg c \\grg d \\grg e \\grg f \\grA g A }\n\nBagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \\hideKeySignature. If you for some reason want to show the key signature, you can use \\showKeySignature instead.\n\nSome modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.' , } , { label : "\\teaching" , detail : "Automatic accidentals" , documentation : "This rule is intended for students, and makes it easy to create scale sheets with automatically created cautionary accidentals. Accidentals are printed like with modern, but cautionary accidentals are added for all sharp or flat tones specified by the key signature, except if the note is immediately repeated." , } , { label : "\\teeny" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\teeny" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\tempo" , detail : "Metronome marks" , documentation : 'A basic metronome mark is simple to write:\n\n    \\tempo 4 = 120\n    c2 d\n    e4. d8 c2\n\nMetronome marks may also be printed as a range of two numbers:\n\n    \\tempo 4 = 40 - 46\n    c4. e8 a4 g\n    b,2 d4 r\n\nTempo indications with text can be used instead:\n\n    \\tempo "Allegretto"\n    c4 e d c\n    b4. a16 b c4 r4\n\nCombining a metronome mark and text will automatically place the metronome mark within parentheses:\n\n    \\tempo "Allegro" 4 = 160\n    g4 c d e\n    d4 b g2\n\nIn general, the text can be any markup object:\n\n    \\tempo \\markup { \\italic Faster } 4 = 132\n    a8-. r8 b-. r gis-. r a-. r\n\nA parenthesized metronome mark with no textual indication may be written by including an empty string in the input:\n\n    \\tempo "" 8 = 96\n    d4 g e c' , } , { label : "\\temporary" , detail : "A.18 Available music functions" , documentation : "Make any \\override in music replace an existing grob property value only temporarily, restoring the old value when a corresponding \\revert is executed. This is achieved by clearing the ‘pop-first’ property normally set on \\overrides.\n\nAn \\override/\\revert sequence created by using \\temporary and \\undo on the same music containing overrides will cancel out perfectly or cause a warning.\n\nNon-property-related music is ignored, warnings are generated for any property-changing music that isn’t an \\override." , } , { label : "\\text" , detail : "Piano pedals" , documentation : "There are three styles of pedal indications: text, bracket, and mixed. The sustain pedal and the una corda pedal use the text style by default while the sostenuto pedal uses mixed by default.\n\n    c4\\sustainOn g c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'mixed\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\\sustainOff\n    \\set Staff.pedalSustainStyle = #'bracket\n    c4\\sustainOn g c d\n    d\\sustainOff\\sustainOn g, c2\n    \\bar \"|.\"\n\nThe placement of the pedal commands matches the physical movement of the sustain pedal during piano performance. Pedalling to the final bar line is indicated by omitting the final pedal off command.\n\nPedal indications may be placed in a Dynamics context, which aligns them on a horizontal line." , } , { label : "\\textLengthOff" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\textLengthOff" , detail : "Text scripts" , documentation : "\\textLengthOn, \\textLengthOff." , } , { label : "\\textLengthOn" , detail : "Full measure rests" , documentation : "\\textLengthOn, \\textLengthOff, \\fermataMarkup, \\compressFullBarRests, \\expandFullBarRests." , } , { label : "\\textLengthOn" , detail : "Text scripts" , documentation : "\\textLengthOn, \\textLengthOff." , } , { label : "\\textSpannerDown" , detail : "Text spanners" , documentation : "\\textSpannerUp, \\textSpannerDown, \\textSpannerNeutral." , } , { label : "\\textSpannerNeutral" , detail : "Text spanners" , documentation : "\\textSpannerUp, \\textSpannerDown, \\textSpannerNeutral." , } , { label : "\\textSpannerUp" , detail : "Text spanners" , documentation : "\\textSpannerUp, \\textSpannerDown, \\textSpannerNeutral." , } , { label : "\\thumb" , detail : "Fingering instructions" , documentation : "A thumb-script can be added (e.g. cello music) to indicate that a note should be played with the thumb.\n\n    <a_\\thumb a'-3>2 <b_\\thumb b'-3>" , } , { label : "\\tieDashed" , detail : "Ties" , documentation : "Ties may be made dashed, dotted, or a combination of solid and dashed.\n\n    \\tieDotted\n    c2~ c\n    \\tieDashed\n    c2~ c\n    \\tieHalfDashed\n    c2~ c\n    \\tieHalfSolid\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nCustom dash patterns can be specified:\n\n    \\tieDashPattern #0.3 #0.75\n    c2~ c\n    \\tieDashPattern #0.7 #1.5\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nDash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.\n\nOverride whiteout and layer layout properties for ties that collide with other objects in a staff.\n\n    \\override Tie.layer = #-2\n    \\override Staff.TimeSignature.layer = #-1\n    \\override Staff.KeySignature.layer = #-1\n    \\override Staff.TimeSignature.whiteout = ##t\n    \\override Staff.KeySignature.whiteout = ##t\n    b2 b~\n    \\time 3/4\n    \\key a \\major\n    b r4" , } , { label : "\\tieDashPattern" , detail : "A.18 Available music functions" , documentation : "Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval for ties." , } , { label : "\\tieDotted" , detail : "Ties" , documentation : "Ties may be made dashed, dotted, or a combination of solid and dashed.\n\n    \\tieDotted\n    c2~ c\n    \\tieDashed\n    c2~ c\n    \\tieHalfDashed\n    c2~ c\n    \\tieHalfSolid\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nCustom dash patterns can be specified:\n\n    \\tieDashPattern #0.3 #0.75\n    c2~ c\n    \\tieDashPattern #0.7 #1.5\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nDash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.\n\nOverride whiteout and layer layout properties for ties that collide with other objects in a staff.\n\n    \\override Tie.layer = #-2\n    \\override Staff.TimeSignature.layer = #-1\n    \\override Staff.KeySignature.layer = #-1\n    \\override Staff.TimeSignature.whiteout = ##t\n    \\override Staff.KeySignature.whiteout = ##t\n    b2 b~\n    \\time 3/4\n    \\key a \\major\n    b r4" , } , { label : "\\tieDown" , detail : "Ties" , documentation : "Ties may be made to curve up or down manually; see Direction and placement." , } , { label : "\\tieNeutral" , detail : "Ties" , documentation : "Ties may be made to curve up or down manually; see Direction and placement." , } , { label : "\\tieSolid" , detail : "Ties" , documentation : "Ties may be made dashed, dotted, or a combination of solid and dashed.\n\n    \\tieDotted\n    c2~ c\n    \\tieDashed\n    c2~ c\n    \\tieHalfDashed\n    c2~ c\n    \\tieHalfSolid\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nCustom dash patterns can be specified:\n\n    \\tieDashPattern #0.3 #0.75\n    c2~ c\n    \\tieDashPattern #0.7 #1.5\n    c2~ c\n    \\tieSolid\n    c2~ c\n\nDash pattern definitions for ties have the same structure as dash pattern definitions for slurs. For more information about complex dash patterns, see Slurs.\n\nOverride whiteout and layer layout properties for ties that collide with other objects in a staff.\n\n    \\override Tie.layer = #-2\n    \\override Staff.TimeSignature.layer = #-1\n    \\override Staff.KeySignature.layer = #-1\n    \\override Staff.TimeSignature.whiteout = ##t\n    \\override Staff.KeySignature.whiteout = ##t\n    b2 b~\n    \\time 3/4\n    \\key a \\major\n    b r4" , } , { label : "\\tieUp" , detail : "Ties" , documentation : "Ties may be made to curve up or down manually; see Direction and placement." , } , { label : "\\time" , detail : "Time signature" , documentation : "The time signature is set as follows:\n\n    \\time 2/4 c2\n    \\time 3/4 c2." , } , { label : "\\time" , detail : "Setting automatic beam behavior" , documentation : "When automatic beaming is enabled, the placement of automatic beams is determined by three context properties: baseMoment, beatStructure, and beamExceptions. The default values of these variables may be overridden as described below, or alternatively the default values themselves may be changed as explained in Time signature.\n\nIf a beamExceptions rule is defined for the time signature in force, that rule alone is used to determine the beam placement; the values of baseMoment and beatStructure are ignored.\n\nIf no beamExceptions rule is defined for the time signature in force, the beam placement is determined by the values of baseMoment and beatStructure." , } , { label : "\\time" , detail : "A.18 Available music functions" , documentation : "Set fraction as time signature, with optional number list beat-structure before it." , } , { label : "\\times" , detail : "A.18 Available music functions" , documentation : "Scale music in time by fraction." , } , { label : "\\timeSignatureFraction" , detail : "Polymetric notation" , documentation : "Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations." , } , { label : "\\tiny" , detail : "Selecting notation font size" , documentation : "The font size of notation elements may be altered. It does not change the size of variable symbols, such as beams or slurs.\n\nNote: For font sizes of text, see Selecting font and font size.\n\n\n\n    \\huge\n    c4.-> d8---3\n    \\large\n    c4.-> d8---3\n    \\normalsize\n    c4.-> d8---3\n    \\small\n    c4.-> d8---3\n    \\tiny\n    c4.-> d8---3\n    \\teeny\n    c4.-> d8---3\n\nInternally, this sets the fontSize property. This in turn causes the font-size property to be set in all layout objects. The value of font-size is a number indicating the size relative to the standard size for the current staff height. Each step up is an increase of approximately 12% of the font size. Six steps is exactly a factor of two. The Scheme function magstep converts a font-size number to a scaling factor. The font-size property can also be set directly, so that only certain layout objects are affected.\n\n    \\set fontSize = #3\n    c4.-> d8---3\n    \\override NoteHead.font-size = #-4\n    c4.-> d8---3\n    \\override Script.font-size = #2\n    c4.-> d8---3\n    \\override Stem.font-size = #-5\n    c4.-> d8---3" , } , { label : "\\tiny" , detail : "Selecting font and font size" , documentation : "\\teeny, \\tiny, \\small, \\normalsize, \\large, \\huge, \\smaller, \\larger." , } , { label : "\\tocItem" , detail : "A.18 Available music functions" , documentation : "Add a line to the table of content, using the tocItemMarkup paper variable markup" , } , { label : "\\top-margin" , detail : "4.1.3 Fixed vertical spacing \\paper variables" , documentation : "The margin between the top of the page and the top of the printable area. If the paper size is modified, this dimension’s default value is scaled accordingly." , } , { label : "\\top-markup-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance from the top of the printable area (i.e. the bottom of the top margin) to the first (title or top-level) markup on a page, when there is no system between the two." , } , { label : "\\top-system-spacing" , detail : "List of flexible vertical spacing \\paper variables" , documentation : "the distance from the top of the printable area (i.e. the bottom of the top margin) to the first system on a page, when there is no (title or top-level) markup between the two." , } , { label : "\\translate" , detail : "Text alignment" , documentation : 'Some commands can affect both the horizontal and vertical alignment of text objects in markup mode. Any object affected by these commands must be preceded with an anchor point:\n\n    d2^\\markup {\n      Acte I\n      \\translate #\'(-1 . 2) "Scène 1"\n    }\n    a\'\n    g_\\markup {\n      \\null\n      \\general-align #Y #3.2 \\bold "Très modéré"\n    }\n    a\n    d,^\\markup {\n      \\null\n      \\translate-scaled #\'(-1 . 2) \\teeny "Une forêt."\n    }\n    a\'4 a g2 a' , } , { label : "\\translate-scaled" , detail : "Text alignment" , documentation : 'Some commands can affect both the horizontal and vertical alignment of text objects in markup mode. Any object affected by these commands must be preceded with an anchor point:\n\n    d2^\\markup {\n      Acte I\n      \\translate #\'(-1 . 2) "Scène 1"\n    }\n    a\'\n    g_\\markup {\n      \\null\n      \\general-align #Y #3.2 \\bold "Très modéré"\n    }\n    a\n    d,^\\markup {\n      \\null\n      \\translate-scaled #\'(-1 . 2) \\teeny "Une forêt."\n    }\n    a\'4 a g2 a' , } , { label : "\\transpose" , detail : "Transpose" , documentation : "A music expression can be transposed with \\transpose. The syntax is\n\n    \\transpose frompitch topitch musicexpr\n\nThis means that musicexpr is transposed by the interval between the pitches frompitch and topitch: any note with pitch frompitch is changed to topitch and any other note is transposed by the same interval. Both pitches are entered in absolute mode.\n\nNote: Music inside a \\transpose block is absolute unless a \\relative is included in the block.\n\n\n\nConsider a piece written in the key of D-major. It can be transposed up to E-major; note that the key signature is automatically transposed as well.\n\n    \\transpose d e {\n      \\relative c' {\n        \\key d \\major\n        d4 fis a d\n      }\n    }" , } , { label : "\\transpose" , detail : "A.18 Available music functions" , documentation : "Transpose music from pitch from to pitch to." , } , { label : "\\transposedCueDuring" , detail : "Formatting cue notes" , documentation : 'Like \\quoteDuring, \\cueDuring takes instrument transpositions into account. Cue notes are produced at the pitches that would be written for the instrument receiving the cue to produce the sounding pitches of the source instrument.\n\nTo transpose cue notes differently, use \\transposedCueDuring. This command takes an extra argument to specify (in absolute mode) the printed pitch that you want to represent the sound of a concert middle C. This is useful for taking cues from an instrument in a completely different register.\n\n    piccoloNotes = \\relative c\'\'\' {\n      \\clef "treble^8"\n      R1\n      c8 c c e g2\n      c4 g g2\n    }\n    bassClarinetNotes = \\relative c\' {\n      \\key d \\major\n      \\transposition bes,\n      d4 r a r\n      \\transposedCueDuring #"piccolo" #UP d { R1 }\n      d4 r a r\n    }\n    \\addQuote "piccolo" { \\piccoloNotes }\n    <<\n      \\new Staff \\piccoloNotes\n      \\new Staff \\bassClarinetNotes\n    >>' , } , { label : "\\transposedCueDuring" , detail : "A.18 Available music functions" , documentation : "Insert notes from the part what into a voice called cue, using the transposition defined by pitch. This happens simultaneously with main-music, which is usually a rest.\tThe argument dir determines whether the cue notes should be notated as a first or second voice." , } , { label : "\\transposition" , detail : "Instrument transpositions" , documentation : 'When typesetting scores that involve transposing instruments, some parts can be typeset in a different pitch than the concert pitch. In these cases, the key of the transposing instrument should be specified; otherwise the MIDI output and cues in other parts will produce incorrect pitches. For more information about quotations, see Quoting other voices.\n\n    \\transposition pitch\n\nThe pitch to use for \\transposition should correspond to the real sound heard when a c\' written on the staff is played by the transposing instrument. This pitch is entered in absolute mode, so an instrument that produces a real sound which is one tone higher than the printed music should use \\transposition d\'. \\transposition should only be used if the pitches are not being entered in concert pitch.\n\nHere are a few notes for violin and B-flat clarinet where the parts have been entered using the notes and key as they appear in each part of the conductor’s score. The two instruments are playing in unison.\n\n    \\new GrandStaff <<\n      \\new Staff = "violin" {\n        \\relative c\'\' {\n          \\set Staff.instrumentName = #"Vln"\n          \\set Staff.midiInstrument = #"violin"\n          % not strictly necessary, but a good reminder\n          \\transposition c\'\n          \\key c \\major\n          g4( c8) r c r c4\n        }\n      }\n      \\new Staff = "clarinet" {\n        \\relative c\'\' {\n          \\set Staff.instrumentName = \\markup { Cl (B\\flat) }\n          \\set Staff.midiInstrument = #"clarinet"\n          \\transposition bes\n          \\key d \\major\n          a4( d8) r d r d4\n        }\n      }\n    >>\n\nThe \\transposition may be changed during a piece. For example, a clarinetist may be required to switch from an A clarinet to a B-flat clarinet.\n\n    flute = \\relative c\'\' {\n      \\key f \\major\n      \\cueDuring #"clarinet" #DOWN {\n        R1 _\\markup\\tiny "clarinet"\n        c4 f e d\n        R1 _\\markup\\tiny "clarinet"\n      }\n    }\n    clarinet = \\relative c\'\' {\n      \\key aes \\major\n      \\transposition a\n      aes4 bes c des\n      R1^\\markup { muta in B\\flat }\n      \\key g \\major\n      \\transposition bes\n      d2 g,\n    }\n    \\addQuote "clarinet" \\clarinet\n    <<\n      \\new Staff \\with { instrumentName = #"Flute" }\n        \\flute\n      \\new Staff \\with { instrumentName = #"Cl (A)" }\n        \\clarinet\n    >>' , } , { label : "\\transposition" , detail : "Quoting other voices" , documentation : 'It is very common for one voice to use the same notes as those from another voice. For example, first and second violins playing the same phrase during a particular passage of the music. This is done by letting one voice quote the other, without having to re-enter the music all over again for the second voice.\n\nThe \\addQuote command, used in the top level scope, defines a stream of music from which fragments can be quoted.\n\nThe \\quoteDuring command is used to indicate the point where the quotation begins. It is followed by two arguments: the name of the quoted voice, as defined with \\addQuote, and a music expression for the duration of the quote.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { s1 }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nIf the music expression used in \\quoteDuring contains notes instead of spacer or multimeasure rests then the quote will appear as polyphony and may produce unexpected results.\n\n    fluteNotes = \\relative c\'\' {\n      a4 gis g gis | b4^"quoted" r8 ais\\p a4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"flute" { e4 r8 ais b4 a }\n    }\n    \\addQuote "flute" { \\fluteNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Flute" } \\fluteNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }\n\nThe \\quoteDuring command uses the \\transposition settings of both quoted and quoting parts to produce notes for the quoting part that have the same sounding pitch as those in the quoted part.\n\n    clarinetNotes = \\relative c\'\' {\n      \\transposition bes\n      \\key d \\major\n      b4 ais a ais | cis4^"quoted" r8 bis\\p b4( f)\n    }\n    oboeNotes = \\relative c\'\' {\n      c4 cis c b \\quoteDuring #"clarinet" { s1 }\n    }\n    \\addQuote "clarinet" { \\clarinetNotes }\n    \\score {\n      <<\n        \\new Staff \\with { instrumentName = "Clarinet" } \\clarinetNotes\n        \\new Staff \\with { instrumentName = "Oboe" } \\oboeNotes\n      >>\n    }' , } , { label : "\\transposition" , detail : "A.18 Available music functions" , documentation : "Set instrument transposition" , } , { label : "\\treCorde" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\tremolo" , detail : "Tremolo repeats" , documentation : "Tremolos can take two forms: alternation between two chords or two notes, and rapid repetition of a single note or chord. Tremolos consisting of an alternation are indicated by adding beams between the notes or chords being alternated, while tremolos consisting of the rapid repetition of a single note are indicated by adding beams or slashes to a single note.\n\nTo place tremolo marks between notes, use \\repeat with tremolo style:\n\n    \\repeat tremolo 8 { c16 d }\n    \\repeat tremolo 6 { c16 d }\n    \\repeat tremolo 2 { c16 d }\n\nThe \\repeat tremolo syntax expects exactly two notes within the braces, and the number of repetitions must correspond to a note value that can be expressed with plain or dotted notes. Thus, \\repeat tremolo 7 is valid and produces a double dotted note, but \\repeat tremolo 9 is not.\n\nThe duration of the tremolo equals the duration of the braced expression multiplied by the number of repeats: \\repeat tremolo 8 { c16 d16 } gives a whole note tremolo, notated as two whole notes joined by tremolo beams.\n\nThere are two ways to put tremolo marks on a single note. The \\repeat tremolo syntax is also used here, in which case the note should not be surrounded by braces:\n\n    \\repeat tremolo 4 c'16" , } , { label : "\\tremoloFlags" , detail : "Tremolo repeats" , documentation : "The same output can be obtained by adding :N after the note, where N indicates the duration of the subdivision (it must be at least 8). If N is 8, one beam is added to the note’s stem. If N is omitted, the last value (stored in tremoloFlags) is used:\n\n    c2:8 c:32\n    c: c:" , } , { label : "\\triangle" , detail : "Graphic notation inside markup" , documentation : "Other graphic elements or symbols may be printed without requiring any text. As with any markup expression, such objects can be combined.\n\n    \\markup {\n      \\combine\n        \\draw-circle #4 #0.4 ##f\n        \\filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1\n      \\hspace #5\n      \\center-column {\n        \\triangle ##t\n        \\combine\n          \\draw-line #'(0 . 4)\n          \\arrow-head #Y #DOWN ##f\n      }\n    }" , } , { label : "\\trill" , detail : "Trills" , documentation : "Short trills without an extender line are printed with \\trill; see Articulations and ornamentations.\n\nLonger trills with an extender line are made with \\startTrillSpan and \\stopTrillSpan:\n\n    d1\\startTrillSpan\n    d1\n    c2\\stopTrillSpan\n    r2\n\nA trill spanner crossing a line break will restart exactly above the first note on the new line.\n\n    d1\\startTrillSpan\n    \\break\n    d1\n    c2\\stopTrillSpan\n    r2\n\nConsecutive trill spans will work without explicit \\stopTrillSpan commands, since successive trill spanners will automatically become the right bound of the previous trill.\n\n    d1\\startTrillSpan\n    d1\n    b1\\startTrillSpan\n    d2\\stopTrillSpan\n    r2\n\nTrills can also be combined with grace notes. The syntax of this construct and the method to precisely position the grace notes are described in Grace notes.\n\n    d1~\\afterGrace\n    d1\\startTrillSpan { c32[ d]\\stopTrillSpan }\n    c2 r2" , } , { label : "\\tuplet" , detail : "Tuplets" , documentation : "Tuplets are made from a music expression with the \\tuplet command, multiplying the speed of the music expression by a fraction:\n\n    \\tuplet fraction { music }\n\nThe fraction’s numerator will be printed over or under the notes, optionally with a bracket. The most common tuplets are triplets: 3 notes sound within the duration normally allowed for 2:\n\n    a2 \\tuplet 3/2 { b4 b b }\n    c4 c \\tuplet 3/2 { b4 a g }" , } , { label : "\\tuplet" , detail : "Polymetric notation" , documentation : "Polymetric notation is supported explicitly or by manually modifying the visible time signature symbol and/or scaling note durations." , } , { label : "\\tuplet" , detail : "A.18 Available music functions" , documentation : "Scale the given music to tuplets. ratio is a fraction that specifies how many notes are played in place of the nominal value: it will be ‘3/2’ for triplets, namely three notes being played in place of two. If the optional duration tuplet-span is specified, it is used instead of tupletSpannerDuration for grouping the tuplets. For example,\n\n    \\tuplet 3/2 4 { c8 c c c c c }\n\nwill result in two groups of three tuplets, each group lasting for a quarter note." , } , { label : "\\tupletDown" , detail : "Tuplets" , documentation : "Tuplet brackets may be manually placed above or below the staff; see Direction and placement.\n\nTuplets may be nested:\n\n    \\autoBeamOff\n    c4 \\tuplet 5/4 { f8 e f \\tuplet 3/2 { e[ f g] } } f4\n\nModifying nested tuplets which begin at the same musical moment must be done with \\tweak.\n\nTo modify the duration of notes without printing a tuplet bracket, see Scaling durations." , } , { label : "\\tupletNeutral" , detail : "Tuplets" , documentation : "Tuplet brackets may be manually placed above or below the staff; see Direction and placement.\n\nTuplets may be nested:\n\n    \\autoBeamOff\n    c4 \\tuplet 5/4 { f8 e f \\tuplet 3/2 { e[ f g] } } f4\n\nModifying nested tuplets which begin at the same musical moment must be done with \\tweak.\n\nTo modify the duration of notes without printing a tuplet bracket, see Scaling durations." , } , { label : "TupletNumber" , detail : "Selected Snippets" , documentation : 'Changing the tuplet number\n\nBy default, only the numerator of the tuplet number is printed over the tuplet bracket. Alternatively, num:den of the tuplet number may be printed, or the tuplet number may be suppressed altogether.\n\n    \\relative c\'\' {\n      \\tuplet 3/2 { c8 c c }\n      \\tuplet 3/2 { c8 c c }\n      \\override TupletNumber.text = #tuplet-number::calc-fraction-text\n      \\tuplet 3/2 { c8 c c }\n      \\omit TupletNumber\n      \\tuplet 3/2 { c8 c c }\n    }\n\nNon-default tuplet numbers\n\nLilyPond also provides formatting functions to print tuplet numbers different than the actual fraction, as well as to append a note value to the tuplet number or tuplet fraction.\n\n    \\relative c\'\' {\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::non-default-tuplet-denominator-text 7)\n      \\tuplet 3/2  { c4. c4. c4. c4. }\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::non-default-tuplet-fraction-text 12 7)\n      \\tuplet 3/2  { c4. c4. c4. c4. }\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::append-note-wrapper\n          (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")\n      \\tuplet 3/2  { c4. c4. c4. c4. }\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::append-note-wrapper\n          tuplet-number::calc-denominator-text "4")\n      \\tuplet 3/2  { c8 c8 c8 c8 c8 c8 }\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::append-note-wrapper\n          tuplet-number::calc-fraction-text "4")\n      \\tuplet 3/2  { c8 c8 c8 c8 c8 c8 }\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::fraction-with-notes "4." "8")\n      \\tuplet 3/2  { c4. c4. c4. c4. }\n      \\once \\override TupletNumber.text =\n        #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")\n      \\tuplet 3/2  { c4. c4. c4. c4. }\n    }\n\nControlling tuplet bracket visibility\n\nThe default behavior of tuplet-bracket visibility is to print a bracket unless there is a beam of the same length as the tuplet. To control the visibility of tuplet brackets, set the property \'bracket-visibility to either #t (always print a bracket), #f (never print a bracket) or #\'if-no-beam (only print a bracket if there is no beam).\n\n    music = \\relative c\'\' {\n      \\tuplet 3/2 { c16[ d e } f8]\n      \\tuplet 3/2 { c8 d e }\n      \\tuplet 3/2 { c4 d e }\n    }\n    \\new Voice {\n      \\relative c\' {\n        << \\music s4^"default" >>\n        \\override TupletBracket.bracket-visibility = #\'if-no-beam\n        << \\music s4^"\'if-no-beam" >>\n        \\override TupletBracket.bracket-visibility = ##t\n        << \\music s4^"#t" >>\n        \\override TupletBracket.bracket-visibility = ##f\n        << \\music s4^"#f" >>\n      }\n    }\n\nPermitting line breaks within beamed tuplets\n\nThis artificial example shows how both manual and automatic line breaks may be permitted to within a beamed tuplet. Note that such off-beat tuplets have to be beamed manually.\n\n    \\layout {\n      \\context {\n        \\Voice\n        % Permit line breaks within tuplets\n        \\remove "Forbid_line_break_engraver"\n        % Allow beams to be broken at line breaks\n        \\override Beam.breakable = ##t\n      }\n    }\n    \\relative c\'\' {\n      a8\n      \\repeat unfold 5 { \\tuplet 3/2 { c[ b a] } }\n      % Insert a manual line break within a tuplet\n      \\tuplet 3/2 { c[ b \\bar "" \\break a] }\n      \\repeat unfold 5 { \\tuplet 3/2 { c[ b a] } }\n      c8\n    }' , } , { label : "\\tupletNumberFormatFunction" , detail : "Selected Snippets" , documentation : 'Entering several tuplets using only one \\tuplet command\n\nThe property tupletSpannerDuration sets how long each of the tuplets contained within the brackets after \\tuplet should last. Many consecutive tuplets can then be placed within a single \\tuplet expression, thus saving typing.\n\nThere are several ways to set tupletSpannerDuration. The command \\tupletSpan sets it to a given duration, and clears it when instead of a duration \\default is specified. Another way is to use an optional argument with \\tuplet.\n\n    \\relative c\' {\n      \\time 2/4\n      \\tupletSpan 4\n      \\tuplet 3/2 { c8^"\\\\tupletSpan 4" c c c c c }\n      \\tupletSpan \\default\n      \\tuplet 3/2 { c8^"\\\\tupletSpan \\\\default" c c c c c }\n      \\tuplet 3/2 4 { c8^"\\\\tuplet 3/2 4 {...}" c c c c c }\n    }' , } , { label : "\\tupletSpan" , detail : "A.18 Available music functions" , documentation : "Set tupletSpannerDuration, the length into which \\tuplet without an explicit ‘tuplet-span’ argument of its own will group its tuplets, to the duration tuplet-span. To revert to the default of not subdividing the contents of a \\tuplet command without explicit ‘tuplet-span’, use\n\n    \\tupletSpan \\default" , } , { label : "\\tupletSpannerDuration" , detail : "Selected Snippets" , documentation : 'Entering several tuplets using only one \\tuplet command\n\nThe property tupletSpannerDuration sets how long each of the tuplets contained within the brackets after \\tuplet should last. Many consecutive tuplets can then be placed within a single \\tuplet expression, thus saving typing.\n\nThere are several ways to set tupletSpannerDuration. The command \\tupletSpan sets it to a given duration, and clears it when instead of a duration \\default is specified. Another way is to use an optional argument with \\tuplet.\n\n    \\relative c\' {\n      \\time 2/4\n      \\tupletSpan 4\n      \\tuplet 3/2 { c8^"\\\\tupletSpan 4" c c c c c }\n      \\tupletSpan \\default\n      \\tuplet 3/2 { c8^"\\\\tupletSpan \\\\default" c c c c c }\n      \\tuplet 3/2 4 { c8^"\\\\tuplet 3/2 4 {...}" c c c c c }\n    }' , } , { label : "\\tupletUp" , detail : "Tuplets" , documentation : "Tuplet brackets may be manually placed above or below the staff; see Direction and placement.\n\nTuplets may be nested:\n\n    \\autoBeamOff\n    c4 \\tuplet 5/4 { f8 e f \\tuplet 3/2 { e[ f g] } } f4\n\nModifying nested tuplets which begin at the same musical moment must be done with \\tweak.\n\nTo modify the duration of notes without printing a tuplet bracket, see Scaling durations." , } , { label : "\\tweak" , detail : "A.18 Available music functions" , documentation : "Add a tweak to the following item, usually music. Layout objects created by item get their property prop set to value. If prop has the form ‘Grob.property’, like with\n\n    \\tweak Accidental.color #red cis'\n\nan indirectly created grob (‘Accidental’ is caused by ‘NoteHead’) can be tweaked; otherwise only directly created grobs are affected.\n\nAs a special case, item may be a symbol list specifying a grob path, in which case \\override is called on it instead of creating tweaked music. This is mainly useful when using \\tweak as as a component for building other functions.\n\nIf this use case would call for \\once \\override rather than a plain \\override, writing \\once \\tweak … can be convenient.\n\nprop can contain additional elements in which case a nested property (inside of an alist) is tweaked." , } , { label : "\\two-sided" , detail : "\\paper variables for two-sided mode" , documentation : "If set to true, use inner-margin, outer-margin and binding-offset to determine margins depending on whether the page number is odd or even. This overrides left-margin and right-margin." , } , { label : "\\type" , detail : "5.1.6 Defining new contexts" , documentation : 'Specific contexts, like Staff and Voice, are made from simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.\n\nThe next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,\n\nThese settings are defined within a \\context block inside a \\layout block,\n\n    \\layout {\n      \\context {\n        …\n      }\n    }\n\nIn the following discussion, the example input shown should go in place of the … in the previous fragment.\n\nFirst it is necessary to define a name for the new context:\n\n    \\name ImproVoice\n\nSince it is similar to the Voice context, we want commands that work in (existing) Voice contexts to continue working. This is achieved by giving the new context an alias of Voice,\n\n    \\alias Voice\n\nThe context will print notes and instructive texts, so we need to add the engravers which provide this functionality, plus the engraver which groups notes, stems and rests which occur at the same musical moment into columns,\n\n    \\consists "Note_heads_engraver"\n    \\consists "Text_engraver"\n    \\consists "Rhythmic_column_engraver"\n\nThe note heads should all be placed on the center line,\n\n    \\consists "Pitch_squash_engraver"\n    squashedPosition = #0\n\nThe Pitch_squash_engraver modifies note heads (created by the Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.\n\nThe notes look like a slash, and have no stem,\n\n    \\override NoteHead.style = #\'slash\n    \\hide Stem\n\nAll these plug-ins have to communicate under the control of the context. The mechanisms with which contexts communicate are established by declaring the context \\type. Within a \\layout block, most contexts will be of type Engraver_group. Some special contexts and contexts in \\midi blocks use other context types. Copying and modifying an existing context definition will also fill in the type. Since this example creates a definition from scratch, it needs to be specified explicitly.\n\n    \\type "Engraver_group"\n\nPut together, we get\n\n    \\context {\n      \\name ImproVoice\n      \\type "Engraver_group"\n      \\consists "Note_heads_engraver"\n      \\consists "Text_engraver"\n      \\consists "Rhythmic_column_engraver"\n      \\consists "Pitch_squash_engraver"\n      squashedPosition = #0\n      \\override NoteHead.style = #\'slash\n      \\hide Stem\n      \\alias Voice\n    }' , } , { label : "\\unaCorda" , detail : "Piano pedals" , documentation : "Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.\n\n    c4\\sustainOn d e g\n    <c, f a>1\\sustainOff\n    c4\\sostenutoOn e g c,\n    <bes d f>1\\sostenutoOff\n    c4\\unaCorda d e g\n    <d fis a>1\\treCorde" , } , { label : "\\underline" , detail : "Selecting font and font size" , documentation : "Basic font switching is supported in markup mode:\n\n    d1^\\markup {\n      \\bold { Più mosso }\n      \\italic { non troppo \\underline Vivo }\n    }\n    r2 r4 r8\n    d,_\\markup { \\italic quasi \\smallCaps Tromba }\n    f1 d2 r" , } , { label : "\\undo" , detail : "A.18 Available music functions" , documentation : "Convert \\override and \\set in music to \\revert and \\unset, respectively. Any reverts and unsets already in music cause a warning. Non-property-related music is ignored." , } , { label : "\\unfold" , detail : "Written-out repeats" , documentation : "By using the unfold command, repeats can be used to simplify the writing out of repetitious music. The syntax is\n\n    \\repeat unfold repeatcount musicexpr\n\nwhere musicexpr is a music expression and repeatcount is the number of times musicexpr is repeated.\n\n    \\repeat unfold 2 { c4 d e f }\n    c1\n\nIn some cases, especially in a \\relative context, the \\repeat unfold function is not the same as writing out the music expression multiple times. E.g,\n\n    \\repeat unfold 2 { a'4 b c }\n\nis not equivalent to\n\n    a'4 b c | a'4 b c\n\nUnfold repeats can be made with alternate endings.\n\n    \\repeat unfold 2 { c4 d e f }\n    \\alternative {\n      { c2 g' }\n      { c,2 b }\n    }\n    c1\n\nIf there are more repeats than there are alternate endings, the first alternative is applied multiple times until the remaining alternatives make up the total number of repeats.\n\n    \\repeat unfold 4 { c4 d e f }\n    \\alternative {\n      { c2 g' }\n      { c,2 b }\n      { e2 d }\n     }\n    c1\n\nIf there are more alternate endings than repeats then only the first alternatives are applied. The remaining alternatives will be ignored and not printed.\n\n    \\repeat unfold 2 { c4 d e f }\n    \\alternative {\n      { c2 g' }\n      { c,2 b }\n      { e2 d }\n    }\n    c1\n\nIt is also possible to nest multiple unfold functions (with or without alternate endings).\n\n    \\repeat unfold 2 {\n      \\repeat unfold 2 { c4 d e f }\n      \\alternative {\n        { c2 g' }\n        { c,2 b }\n      }\n    }\n    c1\n\nChord constructs can be repeated by the chord repetition symbol q. See Chord repetition.\n\nNote: If you include \\relative inside a \\repeat without explicitly instantiating the Voice context, extra (unwanted) staves will appear. See An extra staff appears.\n\n" , } , { label : "\\unfoldRepeats" , detail : "A.18 Available music functions" , documentation : "Force any \\repeat volta, \\repeat tremolo or \\repeat percent commands in music to be interpreted as \\repeat unfold." , } , { label : "\\unHideNotes" , detail : "Hidden notes" , documentation : "Hidden (or invisible or transparent) notes can be useful in preparing theory or composition exercises.\n\n    c4 d\n    \\hideNotes\n    e4 f\n    \\unHideNotes\n    g a\n    \\hideNotes\n    b\n    \\unHideNotes\n    c\n\nNote heads, stems, and flags, and rests are invisible. Beams are invisible if they start on a hidden note. Objects that are attached to invisible notes are still visible.\n\n    e8(\\p f g a)--\n    \\hideNotes\n    e8(\\p f g a)--" , } , { label : "VaticanaStaff" , detail : "Instantiating new staves" , documentation : "Staves (singular: staff) are created with the \\new or \\context commands. For details, see Creating and referencing contexts.\n\nThe basic staff context is Staff:\n\n    \\new Staff { c4 d e f }\n\nThe DrumStaff context creates a five-line staff set up for a typical drum set. Each instrument is shown with a different symbol. The instruments are entered in drum mode following a \\drummode command, with each instrument specified by name. For details, see Percussion staves.\n\n    \\new DrumStaff {\n      \\drummode { cymc hh ss tomh }\n    }\n\nRhythmicStaff creates a single-line staff that only displays the rhythmic values of the input. Real durations are preserved. For details, see Showing melody rhythms.\n\n    \\new RhythmicStaff { c4 d e f }\n\nTabStaff creates a tablature with six strings in standard guitar tuning. For details, see Default tablatures.\n\n    \\new TabStaff { c4 d e f }\n\nThere are two staff contexts specific for the notation of ancient music: MensuralStaff and VaticanaStaff. They are described in Pre-defined contexts.\n\nThe GregorianTranscriptionStaff context creates a staff to notate modern Gregorian chant. It does not show bar lines.\n\n    \\new GregorianTranscriptionStaff { c4 d e f e d }\n\nNew single staff contexts may be defined. For details, see Defining new contexts." , } , { label : "VerticalAxisGroup" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\voice" , detail : "Automatic accidentals" , documentation : "There are many different conventions on how to typeset accidentals. LilyPond provides a function to specify which accidental style to use. This function is called as follows:\n\n    \\new Staff <<\n      \\accidentalStyle voice\n      { … }\n    >>\n\nThe accidental style applies to the current Staff by default (with the exception of the styles piano and piano-cautionary, which are explained below). Optionally, the function can take a second argument that determines in which scope the style should be changed. For example, to use the same style in all staves of the current StaffGroup, use:\n\n    \\accidentalStyle StaffGroup.voice\n\nThe following accidental styles are supported. To demonstrate each style, we use the following example:\n\n    musicA = {\n      <<\n        \\relative c' {\n          cis'8 fis, bes4 <a cis>8 f bis4 |\n          cis2. <c, g'>4 |\n        }\n        \\\\\n        \\relative c' {\n          ais'2 cis, |\n          fis8 b a4 cis2 |\n        }\n      >>\n    }\n    musicB = {\n      \\clef bass\n      \\new Voice {\n        \\voiceTwo \\relative c' {\n          <fis, a cis>8[ <fis a cis>\n          \\change Staff = up\n          cis' cis\n          \\change Staff = down\n          <fis, a> <fis a>]\n          \\showStaffSwitch\n          \\change Staff = up\n          dis'4 |\n          \\change Staff = down\n          <fis, a cis>4 gis <f a d>2 |\n        }\n      }\n    }\n    \\new PianoStaff {\n      <<\n        \\context Staff = \"up\" {\n          \\accidentalStyle default\n          \\musicA\n        }\n        \\context Staff = \"down\" {\n          \\accidentalStyle default\n          \\musicB\n        }\n      >>\n    }\n\nNote that the last lines of this example can be replaced by the following, as long as the same accidental style should be used in both staves.\n\n    \\new PianoStaff {\n      <<\n        \\context Staff = \"up\" {\n          %%% change the next line as desired:\n          \\accidentalStyle Score.default\n          \\musicA\n        }\n        \\context Staff = \"down\" {\n          \\musicB\n        }\n      >>\n    }\n\ndefault\nThis is the default typesetting behavior. It corresponds to eighteenth-century common practice: accidentals are remembered to the end of the measure in which they occur and only in their own octave. Thus, in the example below, no natural signs are printed before the b in the second measure or the last c:\n\n \n\nvoice\nThe normal behavior is to remember the accidentals at Staff-level. In this style, however, accidentals are typeset individually for each voice. Apart from that, the rule is similar to default.\n\nAs a result, accidentals from one voice do not get canceled in other voices, which is often an unwanted result: in the following example, it is hard to determine whether the second a should be played natural or sharp. The voice option should therefore be used only if the voices are to be read solely by individual musicians. If the staff is to be used by one musician (e.g., a conductor or in a piano score) then modern or modern-cautionary should be used instead.\n\n \n\nmodern\nThis rule corresponds to the common practice in the twentieth century. It omits some extra natural signs, which were traditionally prefixed to a sharp following a double sharp, or a flat following a double flat. The modern rule prints the same accidentals as default, with two additions that serve to avoid ambiguity: after temporary accidentals, cancellation marks are printed also in the following measure (for notes in the same octave) and, in the same measure, for notes in other octaves. Hence the naturals before the b and the c in the second measure of the upper staff:\n\n \n\nmodern-cautionary\nThis rule is similar to modern, but the ‘extra’ accidentals (the ones not typeset by default) are typeset as cautionary accidentals. They are by default printed with parentheses, but they can also be printed in reduced size by defining the cautionary-style property of AccidentalSuggestion.\n\n \n\nmodern-voice\nThis rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice, but they are canceled across voices in the same Staff. Hence, the a in the last measure is canceled because the previous cancellation was in a different voice, and the d in the lower staff is canceled because of the accidental in a different voice in the previous measure:\n\n \n\nmodern-voice-cautionary\nThis rule is the same as modern-voice, but with the extra accidentals (the ones not typeset by voice) typeset as cautionaries. Even though all accidentals typeset by default are typeset with this rule, some of them are typeset as cautionaries.\n\n \n\npiano\nThis rule reflects twentieth-century practice for piano notation. Its behavior is very similar to modern style, but here accidentals also get canceled across the staves in the same GrandStaff or PianoStaff, hence all the cancellations of the final notes.\n\nThis accidental style applies to the current GrandStaff or PianoStaff by default.\n\n \n\npiano-cautionary\nThis is the same as piano but with the extra accidentals typeset as cautionaries.\n\n \n\nneo-modern\nThis rule reproduces a common practice in contemporary music: accidentals are printed like with modern, but they are printed again if the same note appears later in the same measure – except if the note is immediately repeated.\n\n \n\nneo-modern-cautionary\nThis rule is similar to neo-modern, but the extra accidentals are printed as cautionary accidentals.\n\n \n\nneo-modern-voice\nThis rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice as with neo-modern, but they are canceled across voices in the same Staff.\n\n \n\nneo-modern-voice-cautionary\nThis rule is similar to neo-modern-voice, but the extra accidentals are printed as cautionary accidentals.\n\n \n\ndodecaphonic\nThis rule reflects a practice introduced by composers at the beginning of the 20th century, in an attempt to abolish the hierarchy between natural and non-natural notes. With this style, every note gets an accidental sign, including natural signs.\n\n \n\nteaching\nThis rule is intended for students, and makes it easy to create scale sheets with automatically created cautionary accidentals. Accidentals are printed like with modern, but cautionary accidentals are added for all sharp or flat tones specified by the key signature, except if the note is immediately repeated.\n\n \n\nno-reset\nThis is the same as default but with accidentals lasting ‘forever’ and not only within the same measure:\n\n \n\nforget\nThis is the opposite of no-reset: Accidentals are not remembered at all – and hence all accidentals are typeset relative to the key signature, regardless of what came before in the music.\n\n \n\n" , } , { label : "Voice" , detail : "Single-staff polyphony" , documentation : 'The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example:\n\n    \\new Staff <<\n      \\new Voice = "first"\n        { \\voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }\n      \\new Voice= "second"\n        { \\voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }\n    >>\n\nHere, voices are instantiated explicitly and are given names. The \\voiceOne … \\voiceFour commands set up the voices so that first and third voices get stems up, second and fourth voices get stems down, third and fourth voice note heads are horizontally shifted, and rests in the respective voices are automatically moved to avoid collisions. The \\oneVoice command returns all the voice settings to the neutral default directions.' , } , { label : "\\voice" , detail : "Automatic accidentals" , documentation : "The normal behavior is to remember the accidentals at Staff-level. In this style, however, accidentals are typeset individually for each voice. Apart from that, the rule is similar to default.\n\nAs a result, accidentals from one voice do not get canceled in other voices, which is often an unwanted result: in the following example, it is hard to determine whether the second a should be played natural or sharp. The voice option should therefore be used only if the voices are to be read solely by individual musicians. If the staff is to be used by one musician (e.g., a conductor or in a piano score) then modern or modern-cautionary should be used instead." , } , { label : "\\voiceOne" , detail : "Single-staff polyphony" , documentation : 'The basic structure needed to achieve multiple independent voices in a single staff is illustrated in the following example:\n\n    \\new Staff <<\n      \\new Voice = "first"\n        { \\voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }\n      \\new Voice= "second"\n        { \\voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }\n    >>\n\nHere, voices are instantiated explicitly and are given names. The \\voiceOne … \\voiceFour commands set up the voices so that first and third voices get stems up, second and fourth voices get stems down, third and fourth voice note heads are horizontally shifted, and rests in the respective voices are automatically moved to avoid collisions. The \\oneVoice command returns all the voice settings to the neutral default directions.' , } , { label : "\\void" , detail : "A.18 Available music functions" , documentation : "Accept a scheme argument, return a void expression. Use this if you want to have a scheme expression evaluated because of its side-effects, but its value ignored." , } , { label : "\\walkerHeads" , detail : "Shape note heads" , documentation : "In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:\n\n    \\aikenHeads\n    c, d e f g2 a b1 c \\break\n    \\sacredHarpHeads\n    c,4 d e f g2 a b1 c \\break\n    \\southernHarmonyHeads\n    c,4 d e f g2 a b1 c \\break\n    \\funkHeads\n    c,4 d e f g2 a b1 c \\break\n    \\walkerHeads\n    c,4 d e f g2 a b1 c \\break" , } , { label : "\\walkerHeadsMinor" , detail : "Shape note heads" , documentation : "Shapes are typeset according to the step in the scale, where the base of the scale is determined by the \\key command. When writing in a minor key, the scale step can be determined from the relative major:\n\n    \\key a \\minor\n    \\aikenHeads\n    a b c d e2 f g1 a \\break\n    \\aikenHeadsMinor\n    a,4 b c d e2 f g1 a \\break\n    \\sacredHarpHeadsMinor\n    a,2 b c d \\break\n    \\southernHarmonyHeadsMinor\n    a2 b c d \\break\n    \\funkHeadsMinor\n    a2 b c d \\break\n    \\walkerHeadsMinor\n    a2 b c d \\break" , } , { label : "\\whichBar" , detail : "Bar lines" , documentation : 'The command ‘\\bar bartype’ is a shortcut for ‘\\set Timing.whichBar = bartype’. A bar line is created whenever the whichBar property is set.\n\nThe default bar type used for automatically inserted bar lines is "|". This may be changed at any time with ‘\\set Timing.defaultBarType = bartype’.' , } , { label : "\\with-color" , detail : "Coloring objects" , documentation : 'Individual objects may be assigned colors. Valid color names are listed in the List of colors.\n\n    \\override NoteHead.color = #red\n    c4 c\n    \\override NoteHead.color = #(x11-color \'LimeGreen)\n    d\n    \\override Stem.color = #blue\n    e\n\nThe full range of colors defined for X11 can be accessed by using the Scheme function x11-color. The function takes one argument; this can be a symbol in the form \'FooBar or a string in the form "FooBar". The first form is quicker to write and is more efficient. However, using the second form it is possible to access X11 colors by the multi-word form of its name.\n\nIf x11-color cannot make sense of the parameter then the color returned defaults to black.\n\n    \\override Staff.StaffSymbol.color = #(x11-color \'SlateBlue2)\n    \\set Staff.instrumentName = \\markup {\n      \\with-color #(x11-color \'navy) "Clarinet"\n    }\n    gis8 a\n    \\override Beam.color = #(x11-color "medium turquoise")\n    gis a\n    \\override Accidental.color = #(x11-color \'DarkRed)\n    gis a\n    \\override NoteHead.color = #(x11-color "LimeGreen")\n    gis a\n    % this is deliberate nonsense; note that the stems remain black\n    \\override Stem.color = #(x11-color \'Boggle)\n    b2 cis' , } , { label : "\\withMusicProperty" , detail : "A.18 Available music functions" , documentation : "Set sym to val in music." , } , { label : "\\wordwrap" , detail : "Text alignment" , documentation : "Long text indications can also be automatically wrapped accordingly to the given line width. These will be either left-aligned or justified, as shown in the following example.\n\n    \\markup {\n      \\column {\n        \\line  \\smallCaps { La vida breve }\n        \\line \\bold { Acto I }\n        \\wordwrap \\italic {\n          (La escena representa el corral de una casa de\n          gitanos en el Albaicín de Granada.  Al fondo una\n          puerta por la que se ve el negro interior de\n          una Fragua, iluminado por los rojos resplandores\n          del fuego.)\n        }\n        \\hspace #0\n        \\line \\bold { Acto II }\n        \\override #'(line-width . 50)\n        \\justify \\italic {\n          (Calle de Granada.  Fachada de la casa de Carmela\n          y su hermano Manuel con grandes ventanas abiertas\n          a través de las que se ve el patio\n          donde se celebra una alegre fiesta)\n        }\n      }\n    }" , } , { label : "\\wordwrap-lines" , detail : "Multi-page markup" , documentation : "Although standard markup objects are not breakable, a specific syntax makes it possible to enter lines of text that can spread over multiple pages:\n\n    \\markuplist {\n      \\justified-lines {\n        A very long text of justified lines.\n        ...\n      }\n      \\wordwrap-lines {\n        Another very long paragraph.\n        ...\n      }\n      ...\n    }\n\nThis syntax accepts a list of markups, that can be\n\n - the result of a markup list command,\n - a list of markups,\n - a list of markup lists.\n\nAn exhaustive list of markup list commands can be found in Text markup list commands." , } , { label : "X-offset" , detail : "Within-system spacing properties" , documentation : "The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.\n\nThe names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is UP.\n\nEach distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:\n\nNon-staff line\tReference point\nChordNames\tbaseline\nNoteNames\tbaseline\nLyrics\tbaseline\nDynamics\tmid-height of ‘m’\nFiguredBass\thighest point\nFretBoards\ttop line\n\n\nIn the following image, horizontal lines indicate the positions of these reference points:\n\nEach of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \\paper spacing variables discussed in Flexible vertical spacing \\paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \\override inside a \\score or \\layout block, and not inside a \\paper block.\n\nThe following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:\n\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n    } { … }\n    \\new Staff \\with {\n      \\override VerticalAxisGroup.default-staff-staff-spacing =\n        #'((basic-distance . 10)\n           (minimum-distance . 9)\n           (padding . 1)\n           (stretchability . 10))\n    } { … }\n\nTo change any spacing settings globally, put them in the \\layout block:\n\n    \\layout {\n      \\context {\n        \\Staff\n        \\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10\n      }\n    }\n\nStandard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts." , } , { label : "\\x11-color" , detail : "Coloring objects" , documentation : 'Individual objects may be assigned colors. Valid color names are listed in the List of colors.\n\n    \\override NoteHead.color = #red\n    c4 c\n    \\override NoteHead.color = #(x11-color \'LimeGreen)\n    d\n    \\override Stem.color = #blue\n    e\n\nThe full range of colors defined for X11 can be accessed by using the Scheme function x11-color. The function takes one argument; this can be a symbol in the form \'FooBar or a string in the form "FooBar". The first form is quicker to write and is more efficient. However, using the second form it is possible to access X11 colors by the multi-word form of its name.\n\nIf x11-color cannot make sense of the parameter then the color returned defaults to black.\n\n    \\override Staff.StaffSymbol.color = #(x11-color \'SlateBlue2)\n    \\set Staff.instrumentName = \\markup {\n      \\with-color #(x11-color \'navy) "Clarinet"\n    }\n    gis8 a\n    \\override Beam.color = #(x11-color "medium turquoise")\n    gis a\n    \\override Accidental.color = #(x11-color \'DarkRed)\n    gis a\n    \\override NoteHead.color = #(x11-color "LimeGreen")\n    gis a\n    % this is deliberate nonsense; note that the stems remain black\n    \\override Stem.color = #(x11-color \'Boggle)\n    b2 cis' , } , { label : "\\xNote" , detail : "A.18 Available music functions" , documentation : "Print note with a cross-shaped note head." , } , { label : "\\xNotesOn" , detail : "A.18 Available music functions" , documentation : "Set the default note head style to a cross-shaped style." , } , ] ) ; export default NOTATION_SYMBOLS ;