\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: nl -*- @c This file is part of learning.tely @ignore Translation of GIT committish: 1b3da70d81938d19a2b107382bbe25a267cf130b When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes.. @end ignore @c -*- coding: utf-8; mode: texinfo; -*- @c \version "2.12.0" @node Fundamental concepts @chapter Fundamental concepts @untranslated @menu * How LilyPond input files work:: * Voices contain music:: * Contexts and engravers:: * Extending the templates:: @end menu @node How LilyPond input files work @section How LilyPond input files work @untranslated @menu * Introduction to the LilyPond file structure:: * Score is a (single) compound musical expression:: * Nesting music expressions:: * On the un-nestedness of brackets and ties:: @end menu @node Introduction to the LilyPond file structure @subsection Introduction to the LilyPond file structure @untranslated @c index input format @c index file structure @c index book @c index score @c ode{\score@{@}} command. This is because LilyPond automatically @c index implicit contexts @c index contexts, implicit @ref{Contexts and engravers}. @c ode{\score} command, leaving the others to default. @c index header @c index layout @c index midi @c ode{\midi} -- are special: unlike many other commands which begin @c ode{\header} is often placed above the @code{\score} command, as the @c ode{\layout @{ @}} and @code{\midi @{@}}. If these appear as @c index scores, multiple @c index book block, implicit @c index implicit book block @c ode{\book} command should be used to separate the different @c ode{\book} block. @c index layout block, effect of location @c ode{\book} block in which it appears -- i.e., a @code{\layout} @c index variables @c ode{melody} (everything after the equals sign) and inserts it @c ode{TimeKey}, @c ode{pianorighthand}, or @code{foofoobarbaz}. For more details, @node Score is a (single) compound musical expression @subsection Score is a (single) compound musical expression @untranslated @c index score @c index contents of a score block @c index score block, contents of @c index compound music expression @c index music expression, compound @quotation @end quotation @ref{Music expressions explained}. In that section, we saw how to @c ode{StaffGroup} for this ensemble, which simply groups a number @c ode{\lyricmode}. These are essential to tell LilyPond @node Nesting music expressions @subsection Nesting music expressions @untranslated @c index staves, temporary @c index temporary staves @c index ossias @c index staff, positioning @node On the un-nestedness of brackets and ties @subsection On the un-nestedness of brackets and ties @untranslated @c index brackets, nesting @c index bracket types @c index brackets, enclosing vs. marking @c attempt to force this onto a new page @node Voices contain music @section Voices contain music @untranslated @menu * I'm hearing Voices:: * Explicitly instantiating voices:: * Voices and vocals:: @end menu @node I'm hearing Voices @subsection I'm hearing Voices @untranslated @c index polyphony @c index layers @c index multiple voices @c index voices, multiple @c index Voice context @c index context, Voice @c index simultaneous music @c index music, simultaneous @c index concurrent music @c index music, concurrent @c index voices vs. chords @c index chords vs. voices @c ode{\\}, to place them in separate voices. Without these, the @c index voices, naming @c index voices crossing brackets @c index slurs crossing brackets @c index ties crossing brackest @ref{Using variables for tweaks}. @c index polyphony and relative note entry @c index relative note entry and polyphony @c ode{\relative @{ @}} block. Each note is still calculated @c ode{noteB} is relative to @code{noteA} @* @c ode{noteC} is relative to @code{noteB}, not @code{noteA}; @* @c ode{noteD} is relative to @code{noteB}, not @code{noteA} or @c ode{noteC}; @* @c ode{noteE} is relative to @code{noteD}, not @code{noteA}. @c The following should appear as music without code @c The following should appear as music without code @c The three voice styles should be defined in -init @c index stem down @c index voices and stem directions @c index stem directions and voices @c index stem up @node Explicitly instantiating voices @subsection Explicitly instantiating voices @untranslated @c index voice contexts, creating @c ode{\voiceOne} ... @code{\voiceFour} to indicate the required @c The following example should not display the code @c index voices, reverting to single @c index reverting to a single voice @c ode{\voiceFour} make them point downwards. These commands also @c ode{\oneVoice}, @code{\voiceOne} and @code{voiceTwo} have on @c index nesting music expressions @c index nesting simultaneous constructs @c index nesting voices @c index voices, temporary @c index voices, nesting @c index spacing notes @subsubheading Note columns @c index note column @c index note collisions @c index collisions, notes @c index shift commands @c ode{\shiftOff} commands specify the degree to which notes and @c ode{\shiftOnn} and @code{\shiftOnnn} define further shift @node Voices and vocals @subsection Voices and vocals @untranslated @c index Lyrics context, creating @c index lyrics, linking to voice @c index lyrics and beaming @c index beaming and lyrics @c ode{\autoBeamOff} to turn off the automatic beaming. @c index vocal score structure @c index choir staff @c ode{\lyricmode} to ensure they are interpreted as lyrics @c index hymn structure @c index SATB structure @c index vocal scores with multiple verses @c index multiple vocal verses @c index verses, multiple vocal @c index verse and refrain @c index book, example of using @c ode{\score} blocks within an implicit @code{\book} block, as @node Contexts and engravers @section Contexts and engravers @untranslated @menu * Contexts explained:: * Creating contexts:: * Engravers explained:: * Modifying context properties:: * Adding and removing engravers:: @end menu @node Contexts explained @subsection Contexts explained @untranslated @c index contexts explained @quotation @end quotation @c ode{Score} and @code{Staff} contexts. @c ode{Voice} contexts there are contexts which fit between @c ode{PianoStaff} and @code{ChoirStaff} contexts. There @c ode{GregorianTranscriptionStaff}. @node Creating contexts @subsection Creating contexts @untranslated @c index new contexts @c index creating contexts @c index contexts, creating @c ode{Staff} contexts may be left to be created automatically, but for @c ode{Voice}). This command creates a new context, and starts @c ode{Staff} and @code{Voice} contexts in earlier sections, but @c index contexts, naming @c index naming contexts @c ode{Staff}, @code{Voice}, etc, and the identifying name of a @node Engravers explained @subsection Engravers explained @untranslated @c index engravers @c ode{Metronome_mark_engraver}, whose action and output apply to the @c ode{Score} context. @c The old Dynamic_engraver is deprecated. -jm @node Modifying context properties @subsection Modifying context properties @untranslated @c index context properties @c index context properties, modifying @c index modifying context properties @c ode{\set} command. This takes the form @c ode{Staff} or @code{Voice}. It may be omitted, @c attempt to force this onto a new page @c index properties operating in contexts @c index setting properties within contexts @c ode{instrumentName} clearly lives in the @code{Staff} context, since @c ode{\set} command set the property @code{instrumentName} in the @c ode{Voice} context to @qq{Alto}, but as LilyPond does not look @c ode{\set} or @code{\unset} again. Let's try changing the @c ode{##t} and @code{##f}, with two hash signs. A text property @subsubheading Setting context properties with @code{\with} @c index context properties, setting with \with @c ode{\with @{ .. @}} block in which the property values are @c ode{\set} and returned to their default value with @code{\unset}. @c index fontSize, default and setting @c ode{\unset fontSize} command. @subsubheading Setting context properties with @code{\context} @c index context properties, setting with \context @c ode{\with} block, introduced above. It is placed in a @c ode{\context} block within a @code{\layout} block. Each @c ode{\context} block will affect all contexts of the type specified @c ode{\layout} block appears. Here is a example to show the format: @c ode{\set} commands embedded in music statements. @c FIXME @c uncomment when backslash-node-name issue is resolved -pm @c @ruser{The set command}. @node Adding and removing engravers @subsection Adding and removing engravers @untranslated @c index engravers, adding @c index adding engravers @c index engravers, removing @c index removing engravers @subsubheading Changing a single context @c ode{\with} command placed immediately after the context creation @c index ambitus engraver @c ode{\consists @var{Engraver_name}}, @c ode{Ambitus_engraver}, which is not normally included in any @c ode{Staff} context, it calculates the range from all @subsubheading Changing all contexts of the same type @c ode{\set} command in a @code{\context} block in the @node Extending the templates @section Extending the templates @untranslated @menu * Soprano and cello:: * Four-part SATB vocal score:: * Building a score from scratch:: * Saving typing with variables and functions:: * Scores and parts:: @end menu @node Soprano and cello @subsection Soprano and cello @untranslated @c index template, modifying @c index modifying templates @c ode{melody} section. We don't want two @code{\score} sections @c ode{text} to be @code{sopranoLyrics}. Remember to rename both @c ode{melody = \relative c' @{ } part) and the name's use (in the @c ode{\score} section). @c ode{>>} around the music -- that tells LilyPond that there's @c Indentation in this example is deliberately poor @node Four-part SATB vocal score @subsection Four-part SATB vocal score @untranslated @c index template, SATB @c index SATB template @c The following should appear as music without code @c ode{\voiceXXX} commands should be removed. We also need to specify @node Building a score from scratch @subsection Building a score from scratch @untranslated @c index template, writing your own @c index example of writing a score @c index writing a score, example @c index score, example of writing @c ode{<< .. >>} for the manual two staff and the pedal organ staff, @c ode{@{ .. @}} in case your music is coded in several variables @c ode{\voiceOne} and @code{\voiceTwo}, and enter the time signature @node Saving typing with variables and functions @subsection Saving typing with variables and functions @untranslated @c index variables @c index variables @c TODO Avoid padtext - not needed with skylining @c TODO Replace the following with a better example -td @c Skylining handles this correctly without padText @c ode{padtext=}). @node Scores and parts @subsection Scores and parts @untranslated @c ode{\transpose f@tie{}c'} indicates that the argument, being @c ode{\hornNotes}, should be transposed by a fifth upwards. Sounding @c ode{f} is denoted by notated @code{c'}, which corresponds with the @c ode{Score} context to true (@code{##t}). Prepending the rest and @c -- SKELETON FILE --