1 \input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: nl -*-
2 @c This file is part of learning.tely
4 Translation of GIT committish: 1b3da70d81938d19a2b107382bbe25a267cf130b
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
11 @c -*- coding: utf-8; mode: texinfo; -*-
13 @node Fundamental concepts
14 @chapter Fundamental concepts
20 * How LilyPond input files work::
21 * Voices contain music::
22 * Contexts and engravers::
23 * Extending the templates::
26 @node How LilyPond input files work
27 @section How LilyPond input files work
33 * Introduction to the LilyPond file structure::
34 * Score is a (single) compound musical expression::
35 * Nesting music expressions::
36 * On the un-nestedness of brackets and ties::
39 @node Introduction to the LilyPond file structure
40 @subsection Introduction to the LilyPond file structure
46 @c index file structure
49 @c ode{\score@{@}} command. This is because LilyPond automatically
50 @c index implicit contexts
51 @c index contexts, implicit
52 @ref{Contexts and engravers}.
53 @c ode{\score} command, leaving the others to default.
57 @c ode{\midi} -- are special: unlike many other commands which begin
58 @c ode{\header} is often placed above the @code{\score} command, as the
59 @c ode{\layout @{ @}} and @code{\midi @{@}}. If these appear as
60 @c index scores, multiple
61 @c index book block, implicit
62 @c index implicit book block
63 @c ode{\book} command should be used to separate the different
65 @c index layout block, effect of location
66 @c ode{\book} block in which it appears -- i.e., a @code{\layout}
68 @c ode{melody} (everything after the equals sign) and inserts it
70 @c ode{pianorighthand}, or @code{foofoobarbaz}. For more details,
71 @node Score is a (single) compound musical expression
72 @subsection Score is a (single) compound musical expression
78 @c index contents of a score block
79 @c index score block, contents of
80 @c index compound music expression
81 @c index music expression, compound
84 @ref{Music expressions explained}. In that section, we saw how to
85 @c ode{StaffGroup} for this ensemble, which simply groups a number
86 @c ode{\lyricmode}. These are essential to tell LilyPond
87 @node Nesting music expressions
88 @subsection Nesting music expressions
93 @c index staves, temporary
94 @c index temporary staves
96 @c index staff, positioning
97 @node On the un-nestedness of brackets and ties
98 @subsection On the un-nestedness of brackets and ties
103 @c index brackets, nesting
104 @c index bracket types
105 @c index brackets, enclosing vs. marking
106 @c attempt to force this onto a new page
107 @node Voices contain music
108 @section Voices contain music
114 * I'm hearing Voices::
115 * Explicitly instantiating voices::
116 * Voices and vocals::
119 @node I'm hearing Voices
120 @subsection I'm hearing Voices
127 @c index multiple voices
128 @c index voices, multiple
129 @c index Voice context
130 @c index context, Voice
131 @c index simultaneous music
132 @c index music, simultaneous
133 @c index concurrent music
134 @c index music, concurrent
135 @c index voices vs. chords
136 @c index chords vs. voices
137 @c ode{\\}, to place them in separate voices. Without these, the
138 @c index voices, naming
139 @c index voices crossing brackets
140 @c index slurs crossing brackets
141 @c index ties crossing brackest
142 @ref{Using variables for tweaks}.
143 @c index polyphony and relative note entry
144 @c index relative note entry and polyphony
145 @c ode{\relative @{ @}} block. Each note is still calculated
146 @c ode{noteB} is relative to @code{noteA} @*
147 @c ode{noteC} is relative to @code{noteB}, not @code{noteA}; @*
148 @c ode{noteD} is relative to @code{noteB}, not @code{noteA} or
150 @c ode{noteE} is relative to @code{noteD}, not @code{noteA}.
151 @c The following should appear as music without code
152 @c The following should appear as music without code
153 @c The three voice styles should be defined in -init
155 @c index voices and stem directions
156 @c index stem directions and voices
158 @node Explicitly instantiating voices
159 @subsection Explicitly instantiating voices
164 @c index voice contexts, creating
165 @c ode{\voiceOne} ... @code{\voiceFour} to indicate the required
166 @c The following example should not display the code
167 @c index voices, reverting to single
168 @c index reverting to a single voice
169 @c ode{\voiceFour} make them point downwards. These commands also
170 @c ode{\oneVoice}, @code{\voiceOne} and @code{voiceTwo} have on
171 @c index nesting music expressions
172 @c index nesting simultaneous constructs
173 @c index nesting voices
174 @c index voices, temporary
175 @c index voices, nesting
176 @c index spacing notes
177 @subsubheading Note columns
179 @c index note collisions
180 @c index collisions, notes
181 @c index shift commands
182 @c ode{\shiftOff} commands specify the degree to which notes and
183 @c ode{\shiftOnn} and @code{\shiftOnnn} define further shift
184 @node Voices and vocals
185 @subsection Voices and vocals
190 @c index Lyrics context, creating
191 @c index lyrics, linking to voice
192 @c index lyrics and beaming
193 @c index beaming and lyrics
194 @c ode{\autoBeamOff} to turn off the automatic beaming.
195 @c index vocal score structure
197 @c ode{\lyricmode} to ensure they are interpreted as lyrics
198 @c index hymn structure
199 @c index SATB structure
200 @c index vocal scores with multiple verses
201 @c index multiple vocal verses
202 @c index verses, multiple vocal
203 @c index verse and refrain
204 @c index book, example of using
205 @c ode{\score} blocks within an implicit @code{\book} block, as
206 @node Contexts and engravers
207 @section Contexts and engravers
213 * Contexts explained::
214 * Creating contexts::
215 * Engravers explained::
216 * Modifying context properties::
217 * Adding and removing engravers::
220 @node Contexts explained
221 @subsection Contexts explained
226 @c index contexts explained
229 @c ode{Score} and @code{Staff} contexts.
230 @c ode{Voice} contexts there are contexts which fit between
231 @c ode{PianoStaff} and @code{ChoirStaff} contexts. There
232 @c ode{GregorianTranscriptionStaff}.
233 @node Creating contexts
234 @subsection Creating contexts
239 @c index new contexts
240 @c index creating contexts
241 @c index contexts, creating
242 @c ode{Staff} contexts may be left to be created automatically, but for
243 @c ode{Voice}). This command creates a new context, and starts
244 @c ode{Staff} and @code{Voice} contexts in earlier sections, but
245 @c index contexts, naming
246 @c index naming contexts
247 @c ode{Staff}, @code{Voice}, etc, and the identifying name of a
248 @node Engravers explained
249 @subsection Engravers explained
255 @c ode{Metronome_mark_engraver}, whose action and output apply to the
256 @c ode{Score} context.
257 @c The old Dynamic_engraver is deprecated. -jm
258 @node Modifying context properties
259 @subsection Modifying context properties
264 @c index context properties
265 @c index context properties, modifying
266 @c index modifying context properties
267 @c ode{\set} command. This takes the form
268 @c ode{Staff} or @code{Voice}. It may be omitted,
269 @c attempt to force this onto a new page
270 @c index properties operating in contexts
271 @c index setting properties within contexts
272 @c ode{instrumentName} clearly lives in the @code{Staff} context, since
273 @c ode{\set} command set the property @code{instrumentName} in the
274 @c ode{Voice} context to @qq{Alto}, but as LilyPond does not look
275 @c ode{\set} or @code{\unset} again. Let's try changing the
276 @c ode{##t} and @code{##f}, with two hash signs. A text property
277 @subsubheading Setting context properties with @code{\with}
278 @c index context properties, setting with \with
279 @c ode{\with @{ .. @}} block in which the property values are
280 @c ode{\set} and returned to their default value with @code{\unset}.
281 @c index fontSize, default and setting
282 @c ode{\unset fontSize} command.
283 @subsubheading Setting context properties with @code{\context}
284 @c index context properties, setting with \context
285 @c ode{\with} block, introduced above. It is placed in a
286 @c ode{\context} block within a @code{\layout} block. Each
287 @c ode{\context} block will affect all contexts of the type specified
288 @c ode{\layout} block appears. Here is a example to show the format:
289 @c ode{\set} commands embedded in music statements.
291 @c uncomment when backslash-node-name issue is resolved -pm
292 @c @ruser{The set command}.
293 @node Adding and removing engravers
294 @subsection Adding and removing engravers
299 @c index engravers, adding
300 @c index adding engravers
301 @c index engravers, removing
302 @c index removing engravers
303 @subsubheading Changing a single context
304 @c ode{\with} command placed immediately after the context creation
305 @c index ambitus engraver
306 @c ode{\consists @var{Engraver_name}},
307 @c ode{Ambitus_engraver}, which is not normally included in any
308 @c ode{Staff} context, it calculates the range from all
309 @subsubheading Changing all contexts of the same type
310 @c ode{\set} command in a @code{\context} block in the
311 @node Extending the templates
312 @section Extending the templates
318 * Soprano and cello::
319 * Four-part SATB vocal score::
320 * Building a score from scratch::
321 * Saving typing with variables and functions::
325 @node Soprano and cello
326 @subsection Soprano and cello
331 @c index template, modifying
332 @c index modifying templates
333 @c ode{melody} section. We don't want two @code{\score} sections
334 @c ode{text} to be @code{sopranoLyrics}. Remember to rename both
335 @c ode{melody = \relative c' @{ } part) and the name's use (in the
336 @c ode{\score} section).
337 @c ode{>>} around the music -- that tells LilyPond that there's
338 @c Indentation in this example is deliberately poor
339 @node Four-part SATB vocal score
340 @subsection Four-part SATB vocal score
345 @c index template, SATB
346 @c index SATB template
347 @c The following should appear as music without code
348 @c ode{\voiceXXX} commands should be removed. We also need to specify
349 @node Building a score from scratch
350 @subsection Building a score from scratch
355 @c index template, writing your own
356 @c index example of writing a score
357 @c index writing a score, example
358 @c index score, example of writing
359 @c ode{<< .. >>} for the manual two staff and the pedal organ staff,
360 @c ode{@{ .. @}} in case your music is coded in several variables
361 @c ode{\voiceOne} and @code{\voiceTwo}, and enter the time signature
362 @node Saving typing with variables and functions
363 @subsection Saving typing with variables and functions
370 @c TODO Avoid padtext - not needed with skylining
371 @c TODO Replace the following with a better example -td
372 @c Skylining handles this correctly without padText
374 @node Scores and parts
375 @subsection Scores and parts
380 @c ode{\transpose f@tie{}c'} indicates that the argument, being
381 @c ode{\hornNotes}, should be transposed by a fifth upwards. Sounding
382 @c ode{f} is denoted by notated @code{c'}, which corresponds with the
383 @c ode{Score} context to true (@code{##t}). Prepending the rest and
385 @c -- SKELETON FILE --