]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/cs/learning/fundamental.itely
Issue 4894: Remove unescaped @funindex entries
[lilypond.git] / Documentation / cs / learning / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: cs -*-
2
3 @ignore
4     Translation of GIT committish: a463d80d4be008ce05b12de86fc21f2b7c1c120f
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes.
9 @end ignore
10
11 @c \version "2.19.22"
12 @c Translators: Pavel Fric
13
14 @node Základní pojmy
15 @chapter Základní pojmy
16 @translationof Fundamental concepts
17
18 Poté co ve cvičení bylo ukázáno, jak lze z jednoduchého textového souboru
19 vytvořit překrásně formátované hudební noty, jsou v této kapitole
20 představeny koncepty a techniky, jak se dají tvořit i složitější
21 notové zápisy.
22
23 @menu
24 * Jak pracují vstupní soubory LilyPondu::
25 * Hlasy obsahují noty::
26 * Prostředí a rytci::
27 * Rozšíření příkladů::
28 @end menu
29
30 @node Jak pracují vstupní soubory LilyPondu
31 @section Jak pracují vstupní soubory LilyPondu
32 @translationof How LilyPond input files work
33
34 Vstupní formát pro LilyPond měl poměrně volnou podobu, takže
35 zkušení uživatele tu mají hodně volnosti v ovlivnění stavby jejich
36 zdrojových souborů.  Pro nováčky ale tato ohebnost může být zprvu
37 matoucí.  V této kapitole by proto z toho důvodu měla být představena
38 část z těchto staveb. Mnohé ale bude pro zjednodušení
39 vynecháno.  Na úplný popis vstupního formátu se podívejte
40 na @ruser{Stavba souboru}.
41
42 Většinu příkladů v této příručce představují malé úryvky, jako
43 je tento:
44
45 @example
46 c4 a b c
47 @end example
48
49 Jak je snad známo, nedá se takový úryvek v této podobě
50 přeložit.  Tyto příklady jsou tedy jen zkrácenou formou
51 skutečných příkladů.  Přinejmenším se musí dodatečně uzavřít ve
52 složených závorkách.
53
54 @example
55 @{
56   c4 a b c
57 @}
58 @end example
59
60 Většina příkladů rovněž používá příkaz @code{\relative c'}.
61 Ten pro překlad souborů není nezbytný, ale ve většině případů
62 tak notová sazba vypadá zřídka, když se tento příkaz
63 vynechá.
64
65 @lilypond[quote,fragment,ragged-right,verbatim]
66 \relative {
67   c''4 a b c
68 }
69 @end lilypond
70
71 Úplné vymezení vstupního formátu se nachází
72 v kapitole @ruser{Stavba souboru}.
73
74 @menu
75 * Uvedení do stavby souboru v LilyPondu::
76 * Notový zápis je jedním (jediným) složeným hudebním výrazem::
77 * Naskládání hudebních výrazů do sebe::
78 * O ne-naskládatelnosti závorek a ligatur::
79 @end menu
80
81 @node Uvedení do stavby souboru v LilyPondu
82 @subsection Uvedení do stavby souboru v LilyPondu
83 @translationof Introduction to the LilyPond file structure
84
85 @cindex Vstupní formát
86 @cindex Stavba souboru
87 @cindex Stavba, soubor
88
89 Základní příklad vstupního souboru pro LilyPond zní:
90
91 @example
92 \version @w{"@version{}"}
93
94 \header @{ @}
95
96 \score @{
97   @var{...složený hudební výraz...}  % Celé noty přijdou sem!
98   \layout @{ @}
99   \midi @{ @}
100 @}
101 @end example
102
103 @noindent
104 Na základě pružnosti LilyPond je mnoho obměn tohoto schématu,
105 ale tento příklad slouží jako jednoduchý výchozí bod.
106
107 @funindex \book
108 @funindex \score
109 @funindex book
110 @funindex score
111 @cindex book
112 @cindex score
113
114 Až dosud ještě žádný z příkladů příkaz @code{\score@{@}}
115 nepoužil, neboť Lilypond takové dodatečné příkazy automaticky
116 vkládá v případě potřeby, když má vstupní soubor jednoduchou
117 stavbu.
118
119 Podívejme se na jeden takový jednoduchý příklad:
120
121 @example
122 \relative @{
123   c''4 a d c
124 @}
125 @end example
126
127 @noindent
128 Na pozadí k tomu přichází ještě několik rovin: LilyPondovský kód
129 v hořejší podobě je ve skutečnosti zestručněním.  I když by se
130 takové soubory daly napsat a také správně zapsat, znamená
131 úplný kód, který je zde míněn, vlastně:
132
133 @example
134 \book @{
135   \score @{
136     \new Staff @{
137       \new Voice @{
138         \relative @{
139           c''4 a b c
140         @}
141       @}
142     @}
143     \layout @{ @}
144   @}
145 @}
146 @end example
147
148 @noindent
149 Jinými slovy:  Když vstupní soubor obsahuje nějaký jednoduchý výraz,
150 LilyPond bude soubor vykládat tak, jakoby byl onen výraz zadán uvnitř
151 výše ukázaných příkazů.  Tato nutná stavba je vytvořena automaticky
152 v paměti při vyvolání LilyPondu,
153 aniž by si uživatel něčeho z toho všiml.
154
155 @cindex Skrytá prostředí
156 @cindex Prostředí, skrytá
157
158 @strong{Slovo varování je však vysloveno!} Mnohé z příkladů
159 v dokumentaci k LilyPondu vědomě vynechávají příklady @code{\new Staff}
160 a @code{\new Voice} k vytvoření notové osnovy a hlasu (obojí je v
161 LilyPondu tak zvané prostředí),
162 aby byla LilyPondem v paměti vytvořena skrytě.
163 Pro jednoduché dokumenty to obecně pracuje velmi dobře, u
164 složitějších notových zápisů z toho ale mohou povstat neočekávané
165 výsledky, částečně dokonce neočekávané prázdné notové osnovy.  Jak
166 otevřeně vytvářet odpovídající prostředí v takovém případě,
167 se podívejte na @ref{Prostředí a rytci,,prostředí a rytce}.
168
169 @warning{Když se zadává více jak dvojice notových řádků,
170 doporučuje se vytvořit notové osnovy a hlasy vždy otevřeně
171 pomocí @code{\new Staff} a @code{\new Voice}.}
172
173 V této chvíli se ale chceme vrátit k našemu prvnímu příkladu a
174 blíže se podívat jen na příkaz @code{\score}.
175
176 Notový zápis (@code{\score}) musí vždy začínat nějakým hudebním
177 výrazem.  To je koneckonců každá hudba, počínaje jednotlivou
178 notou až po rostoucí notový zápis s mnoha notovými osnovami
179 (zde označeno pomocí @code{GrandStaff}):
180
181 @example
182 @{
183   \new GrandStaff <<
184     @var{...zde celý notový zápis...}
185   >>
186 @}
187 @end example
188
189 @noindent
190 Protože se vše nachází uvnitř složených závorek @code{@{ ... @}},
191 zachází se s tím jako s jediným hudebním výrazem.
192
193
194 Jak již bylo řečeno předtím, může blok @code{\score} obsahovat i jiné věci, jako například
195
196 @example
197 \score @{
198   @{ c'4 a b c' @}
199   \layout @{ @}
200   \midi @{ @}
201   \header @{ @}
202 @}
203 @end example
204
205 @funindex \header
206 @funindex \layout
207 @funindex \midi
208 @funindex header
209 @funindex layout
210 @funindex midi
211 @cindex header
212 @cindex midi
213 @cindex Layout
214 @cindex Hlavička
215
216 @noindent
217 Jak je vidět, jsou ty tři příkazy @code{\header}, @code{\layout} a
218 @code{\midi} zvláštní povahy: V protikladu k mnoha jiným příkazům,
219 které také začínají zpětným lomítkem @code{\}, @emph{nejsou} hudebním výrazem
220 a také nejsou částí nějakého hudebního výrazu.  Z toho důvodu mohou být umístěny
221 jak dovnitř bloku @code{\score} tak mimo
222 něj.  Ve skutečnosti jsou tyto příkazy většinou umisťovány mimo blok
223 @code{\score}, například se příkaz @code{\header} nachází
224 velice často nad prostředím @code{\score}, jak ukazuje příklad na
225 začátku tohoto oddílu.  Pracuje to právě tak dobře.
226
227 Dvěma dosud neviděnými příkazy jsou
228 @code{\layout @{ @}} a @code{\midi @{@}}.  Když se objeví v nějakém
229 souboru, vede to k tomu, že Lilypond vytvoří tisknutelný soubor PDF
230 popřípadě soubor MIDI.  Přesněji jsou popsány v uživatelské příručce -
231 notace -- @ruser{Rozvržení notového zápisu} a
232 @ruser{Vytváření souborů MIDI}.
233
234 @cindex Notové zápisy, více
235 @cindex Prostředí book, skryté
236 @cindex Skryté prostředí book
237 @funindex \book
238
239 Váš LilyPondovský kód může obsahovat více bloků @code{\score}.
240 Každý z nich je vykládán jako samostatný notový zápis, ovšem
241 všechny jsou umístěny v tomtéž výstupním souboru.
242 Příkaz @code{\book} není otevřeně nezbytný -- je vytvořen
243 skrytě.  Když však má být vytvořen pro každý blok @code{\score} v
244 souboru @file{.ly} vlastní výstupní soubor,
245 potom se musí každý z těchto bloků zapsat do vlastního bloku @code{\book}:
246  Každý blok @code{\book} pak vytváří vlastní výstupní soubor.
247
248 Shrnutí:
249
250 Každý blok @code{\book} vytváří vlastní výstupní soubor (např. soubor
251 PDF).  Pokud jste otevřeně žádný takový blok nezadali,
252 LilyPond celý obsah souboru zapíše dovnitř jednoho jediného
253 skrytého bloku @code{\book}.
254
255 Každý blok @code{\score} popiseje jeden samostatný hudební kus
256 uvnitř bloku @code{\book}.
257
258 @cindex Prostředí Layout, umístění
259 @cindex Umístění prostředí layout
260
261 Každý blok @code{\layout} ovlivňuje @code{\score} nebo
262 @code{\book}, ve kterém se vyskytuje.  Tak působí například blok
263 @code{\layout} uvnitř bloku @code{\score} jen na tento jeden
264 blok a celý jeho obsah, blok @code{\layout} mimo
265 blok @code{\score} (a proto uvnitř skrytě vytvořeného
266 otevřeně zadaného bloku @code{\book}) však na
267 všechny bloky @code{\score} uvnitř tohoto bloku @code{\book}.
268
269 Více podrobností se nachází v části @ruser{Více notových zápisů v knize}.
270
271 @cindex Proměnné
272 @cindex Identifikátor
273
274 Dobrou možností pro zjednodušení jsou vlastní vymezené proměnné,
275 jak je to také ukázáno v @ref{Pořádání děl pomocí proměnných}.
276 Všechny předlohy používají tuto možnost:
277
278 @example
279 melodie = \relative @{
280   c'4 a b c
281 @}
282
283 \score @{
284   @{ \melodie @}
285 @}
286 @end example
287
288 Když LilyPond zpracovává tento soubor, bere obsah
289 z @code{melodie} (vše po rovnítku) a vkládá to,
290 kdykoli vidí @code{\melodie}. Názvy jsou
291 volně volitelné, proměnná se právě tak dobře může
292 jmenovat  @code{melodie}, @code{GLOBAL}, @code{praváRukaKlavír},
293 nebo @code{cokoliDalšího}.
294 Jako název proměnné se dá použít skoro jakýkoli oblíbený název,
295 musí se v něm ovšem vyskytovat jen písmena (takže žádná čísla, podtržítka,
296 zvláštní znaky, atd.) a nesmí znít jako příkaz pro LilyPond.  Pro více
297 informací se podívejte na
298 @ref{Úspora psaní na stroji pomocí proměnných a funkcí,,úsporu psaní na stroji pomocí proměnných a funkcí}.  Přesně jsou
299 tato omezení popsána v části @ruser{Stavba souboru}.
300
301
302 @seealso
303 Úplné vymezení vstupního souboru se nachází v
304 @ruser{Stavba souboru}.
305
306
307 @node Notový zápis je jedním (jediným) složeným hudebním výrazem
308 @subsection Notový zápis je jedním (jediným) složeným hudebním výrazem
309 @translationof Score is a (single) compound musical expression
310
311 @funindex \score
312 @cindex score
313 @cindex Notový zápis
314 @cindex Hudební kus
315 @cindex Složený hudební výraz
316 @cindex Hudební výraz, složený
317
318
319 V předchozí kapitole, @ref{Uvedení do stavby souboru v LilyPondu},
320 byla popsána obecná stavba jednoho LilyPondovského zdrojového
321 souboru.  Ale zjevně jsme vypustili nejdůležitější
322 otázku, totiž jak se zjistí, co se má napsat
323 po @code{\score}.
324
325 Ve skutečnosti to ale není vůbec žádným tajemstvím.  Tento
326 řádek je odpovědí:
327
328 @quotation
329 @emph{Notový zápis začíná vždy @code{\score}, který je následován
330 jedním hudebním výrazem.}
331 @end quotation
332
333 @noindent
334 Možná byste si měl ještě jednou zběžně přečíst, abyste pochopil, co jsou to hudební výrazy,
335 @ref{Vysvětlení hudebních výrazů,,vysvětlení hudebních výrazů}.  V této
336 kapitole bylo ukázáno, jak se velké hudební výrazy
337 skládají z malých částí.  Noty mohou být spojeny s akordy
338 atd. Nyní ale jdeme v jiném směru a pozorujeme,
339 jak se dá rozložit velký hudební výraz. Kvůli zjednodušení
340 v našem příkladu použijeme jen jednoho zpěváka a
341 klavír.  Nepotřebujeme žádnou skupinu
342 osnov (@code{StaffGroup}), která jednoduše způsobeje jen to,
343 že osnovy jsou spojeny závorkami, seskupuje je; ty tedy budou
344 odstraněny.  @emph{Potřebujeme} ale osnovy pro zpěváka a klavír.
345
346 @example
347 \score @{
348   @{
349     <<
350       \new Staff = "Zpěvák" <<
351       >>
352       \new PianoStaff = "Klavír" <<
353       >>
354     >>
355   @}
356   \layout @{ @}
357 @}
358 @end example
359
360 Zde byly osnovy pojmenovány: @qq{Zpěvák} a
361 @qq{Klavír}.  To v tomto případě není přímo nutné,
362 ale je dobré zvyknout si na tento způsob psaní, aby se hned
363 poznalo, o kterou osnovu se jedná.
364
365 K zapamatování: @code{<<} a @code{>>} jsou noty vysázeny
366 zároveň.  To způsobuje, že se hlasová část a klavírní osnova objevují
367 v notovém zápisu nad sebou.  Konstrukce @code{<< ... >>} pro zpěvákovu osnovu
368 v příkladu výše není nutná, protože zde se mají vkládat noty jen
369 jednoho hlasu, ale @code{<< ... >>}
370 namísto závorek jsou nezbytné, hned jak se má vkládat
371 více než jeden hlas, tedy dva a více současných výrazů, nebo jeden notový hlas a text
372 písně.  V našem případě se má zapsat jeden hlas s textem písně,
373 takže jsou potřeba špičaté závorky. Noty přidáme teprve později,
374 pro teď tedy přidáme nějaké noty a text.  Pokud si nevzpomínáte,
375 jak se text písně zapisuje, přečtěte si ještě
376 jednou o @code{\addlyrics} v @ref{Zápis jednoduchých písní,,zápisu jednoduchých písní}.
377
378 @lilypond[verbatim,quote,ragged-right]
379 \score {
380   <<
381     \new Staff = "singer" <<
382       \new Voice = "vocal" { c'1 }
383       \addlyrics { And }
384     >>
385     \new PianoStaff = "piano" <<
386       \new Staff = "upper" { c'1 }
387       \new Staff = "lower" { c'1 }
388     >>
389   >>
390   \layout { }
391 }
392 @end lilypond
393
394 Nyní máme mnohem více podrobností.  Máme osnovu (angl. staff)
395 pro jednoho zpěváka, ve které se zase nachází jeden hlas
396 (angl. voice).  @code{Voice} znamená pro LilyPond hlas (jak
397 zazpívaný tak zahraný; prostě soubor not, nikoli nutně zpívaných zpěvákem
398  -- například housle hrají jeden hlas) a případně dodatečný text.  Dodatečně
399 se zapíší dvě notové osnovy pro klavír příkazem @code{\new
400 PianoStaff}.  @code{PianoStaff} označuje prostředí klavíru (procházející
401 taktové čáry a složené závorky na začátku), v němž se potom opět
402 zřizují dvě vlastní osnovy ("nahoře" pro pravou ruku a
403 "dole" pro levou), i když spodní osnova musí ještě dostat
404 basový klíč.
405
406 Nyní bychom do tohoto prostředí mohli začít vkládat noty.  Uvnitř
407 složených závorek vedle @code{\new Voice = "Zpěvní hlas"}
408 bychom mohli zapisovat
409
410 @example
411 \relative @{
412   r4 d''8\noBeam g, c4 r
413 @}
414 @end example
415
416 @noindent
417 Ale když se soubor píše takto přímo, začne být
418 část @code{\score} velmi dlouhá a je dosti obtížné porozumět tomu,
419 jak vše souvisí.  Z toho důvodu se nabízí použití identifikátorů
420 (nebo jinak také proměnných).  Byly vysvětleny na začátku předchozí
421 části, jak si zajisté vzpomínáte?  Abychom zajistili,
422 že obsah proměnné @code{text} je vykládán jako text písně,
423 interpretiert wird, uvedeme jej @code{\lyricmode}.  Tak jako
424 @code{\addlyrics}, je tímto vstupní režim přepnut na
425 text písně. Bez tohoto příkazu by se LilyPond pokoušel vykládat obsah
426 proměnné jako noty a přitom by docházelo k vytváření
427 množství chyb. (Kromě toho je dostupných ještě několik dalších
428 zadávacích režimů, podívejte se na @ruser{Vstupní režimy}.)
429
430 Takže nyní máme, když přidáme několik not a basový klíč
431 pro levou ruku, následující příklad:
432
433 @lilypond[verbatim,quote,ragged-right]
434 melody = \relative { r4 d''8\noBeam g, c4 r }
435 text   = \lyricmode { And God said, }
436 upper  = \relative { <g' d g,>2~ <g d g,> }
437 lower  = \relative { b,2 e }
438
439 \score {
440   <<
441     \new Staff = "singer" <<
442       \new Voice = "vocal" { \melody }
443       \addlyrics { \text }
444     >>
445     \new PianoStaff = "piano" <<
446       \new Staff = "upper" { \upper }
447       \new Staff = "lower" {
448         \clef "bass"
449         \lower
450       }
451     >>
452   >>
453   \layout { }
454 }
455 @end lilypond
456
457 Při zapisování (nebo při čtení) prostředí @code{\score}
458 by se mělo postupovat pomalu a pečlivě.  Nejlepší je začít s největšími
459 útvary, a pak vymezit v nich obsažené menší útvary.  Také pomáhá velice
460 dbát na přesné odsazení, aby každý řádek, jenž přísluší k
461 téže úrovni, skutečně vodorovně začínal na tom
462 samém místě.
463
464
465 @seealso
466 Notace: @ruser{Stavba notového zápisu}.
467
468
469 @node Naskládání hudebních výrazů do sebe
470 @subsection Naskládání hudebních výrazů do sebe
471 @translationof Nesting music expressions
472
473 @cindex Notové osnovy, dočasné
474 @cindex Ossia
475 @cindex Dočasné notové osnovy
476
477 Notové osnovy (prostředí @q{Staff}) není bezpodmínečně potřeba
478 vytvořit hned na začátku -- mohou být uvedeny i kdykoli
479 později.  To je obzvláště užitečné při vytváření oddílů
480 @rglosnamed{ossia,Ossias}.  Zde následuje krátký příklad toho,
481 jak je možné vytvořit dodatečnou dočasnou notovou osnovu
482 jen pro dobu trvání tří not:
483
484 @lilypond[verbatim,quote,ragged-right]
485 \new Staff {
486   \relative {
487     r4 g'8 g c4 c8 d |
488     e4 r8
489     <<
490       { f8 c c }
491       \new Staff {
492         f8 f c
493       }
494     >>
495     r4 |
496   }
497 }
498 @end lilypond
499
500 @noindent
501 Jak je vidět, velikost notového klíče je tatáž, jaká se vyskytuje
502 i při změně klíče -- o něco menší, než
503 jakou má klíč na začátku notové osnovy.   Toto je obvyklé u
504 notových klíčů, které jsou zapsány uvnitř notové osnovy.
505
506 @cindex Notová osnova, umístění
507 @cindex Umístění notové osnovy
508
509 Oddíl ossia může být zapsán i mimo hlavní notovou
510 osnovu:
511
512 @lilypond[verbatim,quote,ragged-right]
513 \new Staff = "main" {
514   \relative {
515     r4 g'8 g c4 c8 d |
516     e4 r8
517     <<
518       { f8 c c }
519       \new Staff \with {
520         alignAboveContext = #"main"
521       } { f8 f c }
522     >>
523     r4 |
524   }
525 }
526 @end lilypond
527
528 Tento příklad používá příkaz @code{\with}, který bude později
529 vysvětlen ještě přesněji.  Jím lze měnit výchozí chování jedné
530 notové osnovy: Zde se jednoduše říká, že nová notová osnova
531 se má umístit nad již jsoucí osnovu s názvem
532 @qq{main} namísto výchozího umístění, které je
533 pod ní.
534
535
536 @seealso
537 Ossia jsou často tisknuta bez notového klíče a bez taktového označení,
538 většinou také o něco menší, než jiné osnovy.  Toto je přirozeně možné
539 i v LilyPondu, vyžaduje to ale příkazy, jež dosud ještě nebyly
540 představeny.  Podívejte se na @ref{Velikost předmětů,,velikosti předmětů}
541 a @ruser{Osnovy ossia}.
542
543
544 @node O ne-naskládatelnosti závorek a ligatur
545 @subsection O ne-naskládatelnosti závorek a ligatur
546 @translationof On the un-nestedness of brackets and ties
547
548 @cindex Závorky, naskládání
549 @cindex Naskládání závorek
550 @cindex Typy závorek
551
552 Již jste při psaní vstupního souboru pro LilyPond poznali
553 četné různé druhy závorek a staveb na způsob závorek.  Tyto
554 se řídí různými pravidly, která mohou zpočátku působit
555 matoucím dojmem.  Předtím než budou představena přesná pravidla,
556 pojďme si tyto různé druhy závorek a staveb na způsob závorek
557 krátce projít znovu:
558
559 @c attempt to force this onto a new page
560 @need 50
561 @multitable @columnfractions .3 .7
562 @headitem Druh závorek
563   @tab Funkce
564 @item @code{@{ .. @}}
565   @tab Uzavírá postupnou část hudby
566 @item @code{< .. >}
567   @tab Uzavírá noty jednoho akordu
568 @item @code{<< .. >>}
569   @tab Uzavírá souběžné hudební výrazy
570 @item @code{( .. )}
571   @tab Označuje začátek a konec obloučku
572 @item @code{\( .. \)}
573   @tab Označuje začátek a konec frázovacího obloučku
574 @item @code{[ .. ]}
575   @tab Označuje začátek a konec ručně vytvořeného trámce
576 @end multitable
577
578 Dodatečně by snad měly být ještě dále zmíněny některé další
579 konstrukce, které noty ať už jakkoli spojují:
580 ligatury (označované vlnovkou @code{~}),
581 trioly (psané jako @code{\times x/y @{..@}}) und
582 ozdoby (poznamenávané jako @code{\grace@{..@}}).
583
584 Mimo LilyPond vyžaduje běžné používání závorek,
585 aby byly jejich odpovídající druhy správně seskládány,
586 jako je tomu například tady @code{<< [ @{ ( .. ) @} ] >>}.  Uzavírající
587 závorky přitom přicházejí v obráceném pořadí k
588 otevírajícím závorkám.  Toto je také v LilyPondu
589 @strong{nutnost} pro ony tři druhy závorek, jež byly v hořejší
590 tabulce popsány slovem @q{uzavírá} -- musí být správně
591 vkládány.
592 Nicméně zbývající stavby na způsob závorek (v tabulce popsány
593 slovem @q{označuje}), ligatury a trioly
594 bezpodmínečně s jinými závorkami nebo stavbami na způsob závorek
595 seskládány být čistě @strong{nemusí}.  Vlastně také ani nejsou nějakými
596 závorkami v tom smyslu, že by něco svíraly, nýbrž mnohem více
597 jsou ukazateli, na kterém místě určitý hudební předmět
598 začíná nebo končí.
599
600 Tak tedy může například takový frázovací oblouček začínat před
601 ručně vloženým trámcem, a přece končit již před jeho koncem.
602 Toto sice může z hudebního pohledu dávat málo smyslu, ale v LilyPondu
603 je možné i toto:
604
605 @lilypond[quote,verbatim,ragged-right,relative=2]
606 { g8\( a b[ c b\) a] g4 }
607 @end lilypond
608
609 Ve všeobecnosti se dá říct, že mohou být různé druhy závorek,
610 staveb na způsob závorek, legatových obloučků,
611 triol a ozdob libovolně dávány dohromady.
612 Následující příklad ukazuje trámec, který sahá až k triole
613 (řádek 1), ligaturu, která rovněž dosahuje k triole
614 (řádek 2), trámec a ligaturu sahající k triole,
615 oblouček, který běží přes dvě trioly, jakož i frázovací
616 oblouček, který začíná u trioly (řádky 3 a 4).
617
618 @lilypond[quote,verbatim,ragged-right]
619 {
620 r16[ g \tuplet 3/2 { r16 e'8] }
621 g16( a \tuplet 3/2 { b16 d) e' }
622 g8[( a \tuplet 3/2 { b8 d') e'~] } |
623 \tuplet 5/4 { e'32\( a b d' e' } a'4.\)
624 }
625 @end lilypond
626
627
628 @node Hlasy obsahují noty
629 @section Hlasy obsahují noty
630 @translationof Voices contain music
631
632 Zpěváci potřebují ke zpívání hlasy, a LilyPond je potřebuje také:
633 ve skutečnosti jsou všechny noty pro všechny nástroje zapsány v
634 v notovém zápisu uvnitř hlasů.  Hlas je v LilyPondu
635 tím nejzákladnějším pojmem.
636
637 @menu
638 * Slyším hlasy::
639 * Přesně vyjádřené začátky hlasů::
640 * Hlasy a zpěvy::
641 @end menu
642
643 @node Slyším hlasy
644 @subsection Slyším hlasy
645 @translationof I'm hearing Voices
646
647 @cindex Vícehlasost
648 @cindex Úrovně
649 @cindex Vícehlasy
650 @cindex Hlasy, více
651 @cindex Voice context
652 @cindex context, Voice
653 @cindex Prostředí hlasu
654 @cindex Prostředí, hlas
655 @cindex Současné noty
656 @cindex Hlasy proti akordům
657 @cindex Akordy proti hlasům
658 @cindex Noty současně
659
660 Nejnižší, nejzákladnější a nejvnitřnější úrovně v LilyPondovském notovém
661 zápisu jsou nazvány @qq{Voice context} (prostředí hlasu) nebo také jen @qq{Voice}
662 (hlas).  Hlasy jsou v jiných notačních programech někdy označovány
663 jako @qq{layer} (úroveň).
664
665 Skutečně je úroveň hlasu tou jedinou, která opravdu může obsahovat
666 noty.  Pokud není otevřeně vytvořeno žádné prostředí hlasu,
667 je jedno vytvořeno automaticky, jak to bylo ukázáno na začátku
668 této kapitoly.  Některé nástroje, jako je tomu například u hoboje, mohou
669 zároveň zahrát jen jednu notu.  Noty pro takové nástroje jsou jednohlasé
670 a potřebují jen jeden hlas.  Nástroje, které současně dokáží zahrát
671 více not, jako klavír, naproti tomu často potřebují více
672 hlasů, aby mohly popsat různé současně zaznívající noty
673 s často rozdílnými rytmy.
674
675 Jeden hlas přirozeně může v jednom akordu obsahovat více not
676 -- takže kdy přesně je potřeba více hlasů? Podívejme se nejprve na
677 tento příklad se čtyřmi akordy:
678
679 @lilypond[quote,verbatim,ragged-right]
680 \relative {
681   \key g \major
682   <d' g>4 <d fis> <d a'> <d g>
683 }
684 @end lilypond
685
686 To lze vyjádřit tak, že se pro ukázání akordů použijí jednoduché špičaté
687 závorky @code{< ... >}.  A pro to je potřeba jen jednoho
688 hlasu.  Ale předpokládejme, že by Fis bylo vlastně osminovou
689 notou, kterou následuje osminová nota G (jako průchodný tón
690 k A)? Zde máme dvě noty, které začínají ve stejnou dobu,
691 ale mají rozdílné doby trvání: čtvrťová nota D a osminová nota
692 Fis.  Jak by je šlo zapsat? Jako akord je napsat nejde,
693 protože v jednom akordu musejí mít všechny noty stejnou
694 délku.  Ani nemohou být zapsány jako po sobě jdoucí noty,
695 neboť začínají v ten samý čas.  V takovém případě tedy potřebujeme dva
696 hlasy.
697
698 Jak se to ale vyjádří v LilyPondovské skladbě?
699
700 @funindex << \\ >>
701 @funindex \\
702
703 Nejjednodušším způsobem, jak provést zápis částí s více než jedním hlasem
704 na osnovu, je hlasy zapsat za sebou (pokaždé se závorkami
705 @code{@{ ... @}}), a pak je souběžně spojit špičatými závorkami
706 (@code{<<...>>}).  Obě části ještě dodatečně musejí být jedna od druhé
707 odděleny dvěma zpětnými lomítky (@code{\\}),
708 aby byly rozpoznány jako dva různé hlasy.  Bez těchto oddělovačů by
709 byly zapsány jako jeden hlas.  Tato technika je obzvláště vhodná, když
710 se jedná o noty, které jsou jako hudba především jednohlasé,
711 v nichž se ale příležitostně sem tam vyskytují místa, která jsou
712 vícehlasá.
713
714 Takto to vypadá, když jsou akordy rozděleny do dvou hlasů
715 a k průchodnému tónu je ještě přidán legatový oblouček:
716
717 @lilypond[quote,verbatim,ragged-right]
718 \relative {
719   \key g \major
720   %    Voice = "1"             Voice = "2"
721   << { g'4 fis8( g) a4 g } \\ { d4 d d d }  >>
722 }
723 @end lilypond
724
725 Všimněte si, že nožičky druhého hlasu nyní ukazují dolů.
726
727 Tady je jiný jednoduchý příklad:
728
729 @lilypond[quote,verbatim,ragged-right,relative=2]
730 \key d \minor
731 %    Voice = "1"           Voice = "2"
732 << { r4 g g4. a8 }    \\ { d,2 d4 g }       >>
733 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >>
734 << { a2. r4 }         \\ { fis2. s4 }       >>
735 @end lilypond
736
737 Není nutné používat pro každý takt vlastní stavbu
738 @code{<< \\ >>}.  U hudby s jen málo notami na takt to může
739 zdrojový soubor udělat čitelnějším, ale když se v jednom taktu vyskytuje
740 mnoho not, může být lepší napsat každý hlas odděleně,
741 jako zde:
742
743 @lilypond[quote,verbatim,ragged-right]
744 <<
745   \key d \minor
746   \relative { % Voice = "1"
747     r4 g' g4. a8 |
748     bes4 bes c bes |
749     a2. r4 |
750   } \\
751   \relative { % Voice = "2"
752     d'2 d4 g |
753     g4 g g8( a) g4 |
754     fis2. s4 |
755   }
756 >>
757 @end lilypond
758
759 Tento příklad má jen dva hlasy, ale stejné stavby lze použít,
760 když máme tři nebo více hlasů, tak, že přidáme více oddělovačů,
761 zpětných lomítek.
762
763 Hlasová prostředí nesou názvy @code{"1"}, @code{"2"} atd. V každém
764 z těchto prostředí je nastaven svislý směr nožiček, legatových obloučků,
765 ligatur, značek pro dynamiku atd. tak, jak se patří.
766
767 @lilypond[quote,verbatim]
768 \new Staff \relative {
769   % Main voice
770   c'16 d e f
771   %    Voice = "1"   Voice = "2"              Voice = "3"
772   << { g4 f e } \\ { r8 e4 d c8~ } >> |
773   << { d2 e }   \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
774 }
775 @end lilypond
776
777 Tyto hlasy jsou všechny odděleny od hlavního hlasu, který obsahuje noty
778 mimo stavbu @code{<< .. >>}.  Pojmenujme ji
779 @emph{souběžná stavba}.  Ligatury a legatové obloučky
780 mohou dohromady spojovat pouze noty uvnitř těchže hlasů a nemohou tedy
781 přesahovat do souběžné stavby a ze souběžné stavby.  Obráceně platí,
782 že současné hlasy z vlastní souběžné stavby ve stejné notové osnově
783 jsou týmiž hlasy.  Na všechny souběžné stavby se vztahují i jiné
784 s prostředím hlasu spojené vlastnosti.  Zde je stejný příklad,
785 ale s různými barvami a hlavičkami not pro každý hlas.
786 Všimněte si, že změny v jednom hlasu se nevztahují na jiné hlasy,
787 ale nadále trvají v tomtéž hlase a jsou v něm přítomny ještě později.
788 Všimněte si také, že spojené noty mohou být rozděleny přes stejný hlas
789 do dvou staveb, jak je to ukázáno zde na modrém trojúhelníkovém hlase.
790
791 @lilypond[quote,verbatim]
792 \new Staff \relative {
793   % Main voice
794   c'16 d e f
795   <<   % Bar 1
796     {
797       \voiceOneStyle
798       g4 f e
799     }
800   \\
801     {
802       \voiceTwoStyle
803       r8 e4 d c8~
804     }
805   >> |
806   <<  % Bar 2
807      % Voice 1 continues
808     { d2 e }
809   \\
810      % Voice 2 continues
811     { c8 b16 a b8 g~ 2 }
812   \\
813     {
814       \voiceThreeStyle
815       s4 b c2
816     }
817   >> |
818 }
819 @end lilypond
820
821 @funindex \voiceOneStyle
822 @funindex \voiceTwoStyle
823 @funindex \voiceThreeStyle
824 @funindex \voiceFourStyle
825 @funindex \voiceNeutralStyle
826
827 Příkazy @code{\voiceXXXStyle} jsou tu především k tomu, aby se používaly
828 v vzdělávacích dokumentech, jako je tento.
829 Mění barvu notové hlavičky, nožičky a trámce, a dodatečně
830 podobu notové hlavičky, takže se hlasy dají snadno od sebe
831 rozlišit.  První hlas je nastaven jako červený kosočtverec,
832 druhý hlas je nastaven jako modrý trojúhelník, třetí hlas je
833 nastaven jako zelený kruh s křížkem a čtvrtý hlas (který tu použit
834 není) má tmavěčervený kříž.  @code{\voiceNeutralStyle} (zde také
835 není použit) změny vrací zpět na výchozí styl.  Později bude
836 ukázáno, jak mohou být příkazy, jako je tento, vytvářeny samotným
837 uživatelem.  Podívejte se také na @ref{Viditelnost a barva předmětů} a
838 @ref{Použití proměnných pro ladění}.
839
840 @cindex Vícehlasost a relativní notační režim
841 @cindex Relativní notační režim a vícehlasost
842
843 Vícehlasost nemění vztahy not uvnitř bloku
844 @code{\relative}.  Každá nota je nadále počítána ve vztahu k
845 předchozí notě, nebo poměrně k první notě předchozího
846 akordu.  Tak například zde je spočítáno
847
848 @example
849 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
850 @end example
851
852 @noindent
853 @code{NoteB} se zřetelem na @code{NoteA}                      @*
854 @code{NoteC} se zřetelem na @code{NoteB}, ne @code{noteA};   @*
855 @code{NoteD} se zřetelem na @code{NoteB}, ne @code{NoteA} nebo
856 @code{NoteC};                                                 @*
857 @code{NoteE} se zřetelem na @code{NoteD}, ne @code{NoteA}.
858
859 Jinou možností je umístit příkaz @code{\relative} na začátek
860 před každý hlas.  To se nabízí, když jsou hlasy od sebe ve větší
861 vzdálenosti. Může to být, když jsou noty v hlasech
862 široce odděleny, přehlednější.
863
864 @example
865 \relative c' @{ NoteA ... @}
866 <<
867   \relative c'' @{ < NoteB NoteC > ... @}
868 \\
869   \relative g' @{ NoteD ... @}
870 >>
871 \relative c' @{ NoteE ... @}
872 @end example
873
874 Pojďme konečně rozebrat hlasy ve složitějším kuse hudby.
875 Zde jsou noty prvních dvou taktů Chopinových
876 @notation{Deux Nocturnes}, Op. 32.  Tento příklad bude později použit
877 v této a další kapitole, aby na něm byly názorně ukázány různé techniky,
878 jak vytvářet noty.  Proto si na tomto místě v kódu nevšímejte čehokoli,
879 co by vám přišlo záhadné, a soustřeďte se jen na noty
880 a hlasy.  Složitější věci budou vysvětleny v pozdějších částech.
881
882 @c The following should appear as music without code
883 @lilypond[quote,ragged-right]
884 \new Staff \relative {
885   \key aes \major
886   <<  % Voice one
887     { c''2 aes4. bes8 }
888   \\  % Voice two
889     { aes2 f4 fes }
890   \\  % No voice three
891   \\  % Voice four
892     {
893       % Ignore these for now - they are explained in Ch 4
894       \once \override NoteColumn.force-hshift = #0
895       <ees c>2
896       \once \override NoteColumn.force-hshift = #0.5
897       des2
898     }
899   >> |
900   <c ees aes c>1 |
901 }
902 @end lilypond
903
904 Směr nožičky se často používá k tomu, aby se ukázala souvislost
905 dvou souběžných melodií.  Zde ukazují nožičky všech horních
906 not nahoru a nožičky všech dolních not dolů.
907 To je první známkou toho, že je potřeba více než jeden
908 hlas.
909
910 Ale skutečná nezbytnost více hlasů nadejde teprve tehdy,
911 když současně zaznívají různé noty, které začínají ve stejnou dobu,
912 mají rozdílné doby trvání.  Podívejte se na noty, jež začínají na
913 třetí době prvního taktu.  As je tečkovaná čtvrťová nota,
914 F je čtvrťová nota a Des je půlová nota.  Nemohou být
915 zapsány jako akord, protože všechny noty jednoho akordu
916 mají stejnou dobu trvání.  Nemohou být ale zapsány ani jako jdoucí po sobě,
917 protože musí začínat v tutéž dobu.  Tato část taktu
918 potřebuje tři hlasy, a běžně se zapisují tři hlasy
919 pro celý takt, jak je to vidět na příkladu níže;
920 kde jsou použity různé hlavičky not a barvy pro různé
921 hlasy.  Ještě jednou: Zdrojový kód pro tento příklad bude později
922 vysvětlen znovu, proto si nevšímejte ničeho, čemu zde nemůžete
923 porozumět.
924
925 @c The following should appear as music without code
926 @c The three voice styles should be defined in -init
927 @lilypond[quote,ragged-right]
928 \new Staff \relative {
929   \key aes \major
930   <<
931     {  % Voice one
932       \voiceOneStyle
933       c''2 aes4. bes8
934     }
935   \\  % Voice two
936     { \voiceTwoStyle
937       aes2 f4 fes
938     }
939   \\  % No Voice three (we want stems down)
940   \\  % Voice four
941     { \voiceThreeStyle
942       % Ignore these for now - they are explained in Ch 4
943       \once \override NoteColumn.force-hshift = #0
944       <ees c>2
945       \once \override NoteColumn.force-hshift = #0.5
946       des2
947     }
948   >>
949   <c ees aes c>1
950 }
951 @end lilypond
952
953 Pokusme se tedy tyto noty zapsat od začátku.  Jak je zde
954 vidět, je tu obsaženo několik potíží.  Začneme, jak jsme
955 se to naučili, pomocí konstrukcí @code{<< \\  >>},
956 kterou zapíšeme tři hlasy prvního taktu:
957
958 @lilypond[quote,verbatim,ragged-right]
959 \new Staff \relative {
960   \key aes \major
961   <<
962     { c''2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
963   >> |
964   <c ees aes c>1 |
965 }
966 @end lilypond
967
968 @cindex Nožička dolů
969 @cindex Nožička nahoru
970 @cindex Notová nožička, Směr
971 @cindex Směr notové nožičky
972 @cindex Hlasy a směr notové nožičky
973 @cindex Směr notové nožičky ve hlasech
974
975 Směr notové nožičky je přiřazen automaticky; hlasy s lichým
976 číslem nesou nožičky nahoru, sudé mají nožičky dolů.  Nožičky
977 pro hlasy 1 a 2 jsou správně, ale nožičky třetího hlasu
978 by v tomto příkladu měly vlastně ukazovat dolů.  Můžeme to opravit
979 jednoduše tak, že vypustíme třetí hlas, přeskočíme jej a noty
980 umístíme do čtvrtého hlasu.  To se udělá jednoduše přidáním
981 páru @code{\\}.
982
983 @lilypond[quote,verbatim,ragged-right]
984 \new Staff \relative {
985   \key aes \major
986   <<  % Voice one
987     { c''2 aes4. bes8 }
988   \\  % Voice two
989     { aes2 f4 fes }
990   \\  % Omit Voice three
991   \\  % Voice four
992     { <ees c>2 des }
993   >> |
994   <c ees aes c>1 |
995 }
996 @end lilypond
997
998 @noindent
999 Vidíme, že se tím mění směr nožiček, ale ukazuje se jiný
1000 problém, na který se někdy při více hlasech narazí:
1001 Nožičky not jednoho hlasu se mohou střetávat s nožičkami jiného hlasu.
1002 LilyPond dovoluje notám různých hlasů, aby se nacházely ve
1003 stejné svislé poloze, za předpokladu že nožičky ukazují v opačných
1004 směrech, a třetí a čtvrtý hlas pak umísťuje tak, aby pokud možno
1005 k vzájemnému střetu nedocházelo.  Obvykle to pracuje
1006 dobře, ale v tomto případě jsou noty nejnižšího hlasu
1007 zřetelně nedobře umístěny.  LilyPond nabízí několik různých způsobů,
1008 jak vodorovnou polohu not přizpůsobit.  Nejsme však ještě tak daleko,
1009 abychom tyto funkce mohli použít. Proto
1010 tento problém odložíme na později; viz vlastnost @code{force-hshift} v
1011 @ref{Oprava překrývajících se not}.
1012
1013
1014 @seealso
1015 Notace: @ruser{Více hlasů}.
1016
1017
1018 @node Přesně vyjádřené začátky hlasů
1019 @subsection Přesně vyjádřené začátky hlasů
1020 @translationof Explicitly instantiating voices
1021
1022 @funindex \voiceOne
1023 @funindex \voiceTwo
1024 @funindex \voiceThree
1025 @funindex \voiceFour
1026 @funindex \oneVoice
1027 @funindex \new Voice
1028 @cindex Vytvoření prostředí hlasu
1029 @cindex Prostředí hlasu, vytvoření
1030
1031 Prostředí hlasů lze vytvářet i ručně uvnitř bloku @code{<< >>}
1032 pro vytvoření vícehlesé hudby.  Pomocí příkazů @code{\voiceOne} až
1033 @code{\voiceFour} lze ke každému hlasu přidat odpovídající chování
1034 svislého posunu a požadované směry nožiček, legatové obloučky
1035 a jiné předměty.  V delších notových zápisech je tento způsob čistší,
1036 protože dovoluje, aby byly hlasy odděleny a aby se jim daly
1037 popisnější názvy.
1038
1039 Stavba @code{<< \\ >>}, kterou jsme použili v předchozím
1040 úryvku:
1041
1042 @example
1043 \new Staff @{
1044   \relative @{
1045     << @{ e'4 f g a @} \\ @{ c,4 d e f @} >>
1046   @}
1047 @}
1048 @end example
1049
1050 @noindent
1051 ist identisch mit
1052
1053 @example
1054 \new Staff <<
1055   \new Voice = "1" @{ \voiceOne \relative @{ e'4 f g a @} @}
1056   \new Voice = "2" @{ \voiceTwo \relative @{ c'4 d e f @} @}
1057 >>
1058 @end example
1059
1060 Obojí výše by vytvořilo následující notový obraz:
1061
1062 @c The following example should not display the code
1063 @lilypond[ragged-right,quote]
1064 \new Staff <<
1065   \new Voice = "1" { \voiceOne \relative { e'4 f g a } }
1066   \new Voice = "2" { \voiceTwo \relative { c'4 d e f } }
1067 >>
1068 @end lilypond
1069
1070 @cindex Hlasy, sloučení více do jednoho
1071 @cindex Obnovení jednoho hlasu
1072
1073 Příkazy @code{\voiceXXX} nastavuje směr nožiček, legata
1074 ligatury, artikulace, textové poznámky, tečkování tečkovaných not
1075 a prstoklady. @code{\voiceOne} a @code{\voiceThree} nechají tyto
1076 předměty ukazovat nahoru, @code{\voiceTwo} a @code{\voiceFour} je
1077 naproti tomu nechají ukazovat dolů. Tyto příkazy rovněž vytvářejí
1078 vodorovný posun pro každý hlas, když se vyžaduje vyvarování se
1079 střetům notových hlaviček.  Příkaz @code{\oneVoice} nastavení vrací
1080 na obvyklou hodnotu pro jeden hlas.
1081
1082 Podívejme se na některých jednoduchých příkladech, jaký přesně
1083 mají příkazy @code{\oneVoice}, @code{\voiceOne} a @code{voiceTwo}
1084 účinek na text, obloučky a označení dynamiky:
1085
1086 @lilypond[quote,ragged-right,verbatim]
1087 \relative {
1088   % Default behavior or behavior after \oneVoice
1089   c'4 d8~ 8 e4( f | g4 a) b-> c |
1090 }
1091 @end lilypond
1092
1093 @lilypond[quote,ragged-right,verbatim]
1094 \relative {
1095   \voiceOne
1096   c'4 d8~ 8 e4( f | g4 a) b-> c |
1097   \oneVoice
1098   c,4 d8~ 8 e4( f | g4 a) b-> c |
1099 }
1100 @end lilypond
1101
1102 @lilypond[quote,ragged-right,verbatim]
1103 \relative {
1104   \voiceTwo
1105   c'4 d8~ 8 e4( f | g4 a) b-> c |
1106   \oneVoice
1107   c,4 d8~ 8 e4( f | g4 a) b-> c |
1108 }
1109 @end lilypond
1110
1111 Nyní se podívejme na tři různé způsoby zápisu té samé pasáže
1112 vícehlasé hudby, z nichž každý má své výhody za jiných
1113 okolností.  Použijeme k tomu příklad z předchozí části.
1114
1115 Výraz, který se vyskytuje přímo uvnitř @code{<< >>}, náleží
1116 hlavnímu hlasu (ale všimněte si @strong{not} ve stavbě @code{<< \\ >>}).
1117 Toto je užitečné, když se objeví dodatečné hlasy, zatímco hlavní hlas pokračuje.
1118 Zde je lepší verze našeho příkladu z předchozí části.  Hlavičky not ve
1119 tvaru červeného diamantu ukazují, že se hlavní hlas nachází v prostředí
1120 jednotlivého hlasu. Tím se může frázovací oblouček malovat nad ně.
1121
1122 @lilypond[quote,ragged-right,verbatim]
1123 \new Staff \relative {
1124   \voiceOneStyle
1125   % The following notes are monophonic
1126   c'16^( d e f
1127   % Start simultaneous section of three voices
1128   <<
1129     % Continue the main voice in parallel
1130     { g4 f e | d2 e) | }
1131     % Initiate second voice
1132     \new Voice {
1133       % Set stems, etc., down
1134       \voiceTwo
1135       r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1136     }
1137     % Initiate third voice
1138     \new Voice {
1139       % Set stems, etc, up
1140       \voiceThree
1141       s2. | s4 b4 c2 |
1142     }
1143   >>
1144 }
1145 @end lilypond
1146
1147 @cindex Vnoření hudebních výrazů
1148 @cindex Verschachteln von gleichzeitigen Ausdrücken
1149 @cindex Výrazy, vnoření
1150 @cindex Hlasy, dočasné
1151 @cindex Hlasy, vnoření
1152 @cindex Vnoření hlasů
1153 @cindex Dočasné hlasy
1154
1155 Hlouběji vnořené vícehlasé stavby jsou možné, a pokud se
1156 hlas objeví jen krátce, může to být přirozenější způsob
1157 sázení not:
1158
1159 @lilypond[quote,ragged-right,verbatim]
1160 \new Staff \relative {
1161   c'16^( d e f
1162   <<
1163     { g4 f e | d2 e2) | }
1164     \new Voice {
1165       \voiceTwo
1166       r8 e4 d c8~
1167       <<
1168         { c8 b16 a b8 g~ 2 | }
1169         \new Voice {
1170           \voiceThree
1171           s4 b4 c2 |
1172         }
1173       >>
1174     }
1175   >>
1176 }
1177 @end lilypond
1178
1179 @cindex Noty držící místo
1180 @cindex Neviditelné noty
1181 @cindex Skrytí not
1182
1183 Tento způsob krátkodobého vnoření nových hlasů je užitečný,
1184 když jsou vícehlasé jen malé části hudby. Ale když je vícehlasá celá
1185 osnova, je většinou jasnější použití více hlasů v celé osnově. Tady
1186 se dají místa, kde se hlas nevyskytuje, přeskočit pomocí neviditelných not,
1187 jako je tomu zde:
1188
1189 @lilypond[quote,ragged-right,verbatim]
1190 \new Staff \relative <<
1191   % Initiate first voice
1192   \new Voice {
1193     \voiceOne
1194     c'16^( d e f g4 f e | d2 e) |
1195   }
1196   % Initiate second voice
1197   \new Voice {
1198     % Set stems, etc, down
1199     \voiceTwo
1200     s4 r8 e4 d c8~ | 8 b16 a b8 g~ 2 |
1201   }
1202   % Initiate third voice
1203   \new Voice {
1204     % Set stems, etc, up
1205     \voiceThree
1206     s1 | s4 b c2 |
1207   }
1208 >>
1209 @end lilypond
1210
1211 @subsubheading Notové sloupce
1212
1213 @cindex Notové sloupce
1214 @cindex Notové střety
1215 @cindex Svislé umístění
1216 @cindex Příkazy shift
1217 @cindex Posunutí not
1218 @funindex \shiftOff
1219 @funindex \shiftOn
1220 @funindex \shiftOnn
1221 @funindex \shiftOnnn
1222 @funindex shiftOff
1223 @funindex shiftOn
1224 @funindex shiftOnn
1225 @funindex shiftOnnn
1226
1227 Hustě zapisované noty v akordu, nebo noty vyskytující se ve stejnou
1228 dobu ale v různých hlasech, jsou uspořádány do dvou, někdy i do více,
1229 sloupců, aby se zabránilo překrytí hlaviček not.  Označují se jako
1230 notové sloupce.  Každý hlas má svůj vlastní sloupec, a příkaz pro posun
1231 závislý na hlase (ang. shift) se na notový sloupec použije, jestliže
1232 by jinak došlo ke střetu.  To ukazuje příklad výše.  Ve druhém taktu
1233 je C druhého hlasu posunuto doprava, ve vztahu k D v prvním hlasu, a
1234 v posledním akordu je C v třetím hlasu posunuto doprava, ve vztahu
1235 k jiným hlasům.
1236
1237 Příkazy @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} a
1238 @code{\shiftOff} určují stupeň, k němuž se mají noty a akordy
1239 hlasu posunout, když se nedá vyhnout střetu jinak.  Ve výchozím
1240 nastavení se vnější hlasy nastavují (obyčejně jde o hlasy
1241 jedna a dva) tak, že mají stanoveno @code{\shiftOff}, zatímco pro
1242 vnitřní hlasy (tři a čtyři) je stanoveno @code{\shiftOn}.
1243 Když se použije posunutí, posunou se hlasy jedna a tři doprava
1244 a hlasy dva a čtyři doleva.
1245
1246 @code{\shiftOnn} a @code{\shiftOnnn} stanovují další úrovně posunu,
1247 které mohou být stanoveny krátkodobě kvůli vyřešení střetů
1248 ve složitých situacích. Podívejte se také na @ref{Příklady ze života}.
1249
1250 Notový sloupec může obsahovat jen jednu notu (nebo jeden akord) hlasu
1251 s nožičkami nahoru a jednu notu (nebo jeden akord) hlasu
1252 s nožičkami dolů.  Pokud jsou na témže místě umístěny noty dvou hlasů,
1253 které mají své nožičky v tomtéž směru, a u obou hlasů není žádný
1254 posun, nebo je stanoven stejný posun, je vydáno hlášení o chybě
1255 @qq{Příliš mnoho střetávajících se notových sloupců}.
1256
1257
1258 @seealso
1259 Notace: @ruser{Více hlasů}.
1260
1261
1262 @node Hlasy a zpěvy
1263 @subsection Hlasy a zpěvy
1264 @translationof Voices and vocals
1265
1266 Notový zápis vokální hudby má své vlastní obtíže, je totiž
1267 potřeba spojení dvou výrazů: not a textu.
1268 Pozor: Textu písně se v angličtině říká @qq{lyrics}.
1269
1270
1271 @funindex \new Lyrics
1272 @funindex \lyricsto
1273 @funindex Lyrics
1274 @cindex Prostředí text písně, vytvoření
1275 @cindex Text písně, spojení s notami
1276
1277 Již jste viděli příkaz @code{\addlyrics@{@}}, s nímž lze
1278 dobře vytvářet jednoduché osnovy.  Tento způsobem je ale docela
1279 omezený.  U složitějších not se musí text písně začít novým prostředím
1280 @code{Lyrics} (pomocí příkazu @code{\new Lyrics}) a přesně
1281 spojit text s notami určitého hlasu příkazem @code{\lyricsto@{@}} tak, že
1282 se použije označení přiřazené hlasu.
1283
1284 @lilypond[quote,verbatim]
1285 <<
1286   \new Voice = "one" {
1287     \relative {
1288       \autoBeamOff
1289       \time 2/4
1290       c''4 b8. a16 | g4. f8 | e4 d | c2 |
1291     }
1292   }
1293   \new Lyrics \lyricsto "one" {
1294     No more let | sins and | sor -- rows | grow. |
1295   }
1296 >>
1297 @end lilypond
1298
1299 Všimněte si, že text k notám může být spojen jedině s prostředím
1300 @code{Voice}, @emph{ne} s prostředím @code{Staff}.  V tomto
1301 případě je také nutné přesně vytvořit prostředí osnovy @code{Staff}
1302 a hlasu @code{Voice}, aby všechno fungovalo.
1303
1304 @cindex Text písně a trámce
1305 @cindex Text a trámce
1306 @cindex Trámce a text
1307 @funindex \autoBeamOff
1308
1309 Automatické trámce, jež LilyPond používá ve výchozím nastavení, pracují
1310 dobře pro instrumentální hudbu, ale ne tak dobře v případě hudby s textem,
1311 kde se trámce nepožadují buď vůbec, nebo se jich užívá na ukázání
1312 melismat v textu písně.  V příkladu výše se používá příkaz
1313 @code{\autoBeamOff} k vypnutí automatických trámců (ang. beam).
1314
1315 @funindex \new ChoirStaff
1316 @funindex \lyricmode
1317 @funindex ChoirStaff
1318 @funindex lyricmode
1319 @cindex Vokální notový zápis, stavba
1320 @cindex Sborový notový zápis, stavba
1321
1322 Chceme použít dřívější příklad @notation{Judas Maccabæus}
1323 na znázornění těchto průžných technik pro texty písní. Příklad
1324 byl předělán tak, aby se teď dosadily proměnné, aby byl oddělen
1325 text a noty od stavby notového zápisu.  Byla dodatečně přidána
1326 závorka sborového notového zápisu.  Text písně se musí zadat s
1327 @code{\lyricmode}, aby byl vykládán jako text a
1328 ne jako noty.
1329
1330 @lilypond[quote,verbatim]
1331 global = { \key f \major \time 6/8 \partial 8 }
1332
1333 SopOneMusic = \relative {
1334   c''8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ 4
1335 }
1336 SopOneLyrics = \lyricmode {
1337   Let | flee -- cy flocks the | hills a -- dorn, __
1338 }
1339 SopTwoMusic = \relative {
1340   r8 | r4. r4 c'8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1341 }
1342 SopTwoLyrics = \lyricmode {
1343   Let | flee -- cy flocks the | hills a -- dorn,
1344 }
1345
1346 \score {
1347   \new ChoirStaff <<
1348     \new Staff <<
1349       \new Voice = "SopOne" {
1350         \global
1351         \SopOneMusic
1352       }
1353       \new Lyrics \lyricsto "SopOne" {
1354         \SopOneLyrics
1355       }
1356     >>
1357     \new Staff <<
1358       \new Voice = "SopTwo" {
1359         \global
1360         \SopTwoMusic
1361       }
1362       \new Lyrics \lyricsto "SopTwo" {
1363         \SopTwoLyrics
1364       }
1365     >>
1366   >>
1367 }
1368 @end lilypond
1369
1370 Toto je základní stavba pro všechny notové zápisy sboru.  Je
1371 možné přidat více velkých osnov, když jsou potřeba. Ke každé
1372 velké osnově je možné přidat více hlasů, je možné přidat více
1373 slok k textu, a konečně lze proměnné rychle přesunout do
1374 vlastního souboru, když by se staly příliš dlouhými.
1375
1376 @cindex Chorálová notace
1377 @cindex Notace hymnu
1378 @cindex Notový zápis SATB
1379 @cindex Více slok
1380 @cindex Sloky, více
1381 @cindex Choral s více slokami
1382
1383 Zde příklad prvního řádku chorálu se čtyřmi slokami
1384 pro smíšený sbor.  V tomto případě je text pro všechny
1385 čtyři hlasy stejný.  Všimněte si, jak se dosazují proměnné,
1386 aby od sebe oddělily obsah (noty a text) a formu (notový
1387 zápis).  Byla dosazena proměnné, aby přijala prvky,
1388 které se objevují na obou, osnovách, totiž druh taktu a
1389 tóninu.  Taková proměnná se často označuje @qq{global}.
1390
1391 @lilypond[quote,verbatim]
1392 keyTime = { \key c \major \time 4/4 \partial 4 }
1393
1394 SopMusic   = \relative { c'4 | e4. e8 g4  g    | a4   a   g  }
1395 AltoMusic  = \relative { c'4 | c4. c8 e4  e    | f4   f   e  }
1396 TenorMusic = \relative  { e4 | g4. g8 c4.   b8 | a8 b c d e4 }
1397 BassMusic  = \relative  { c4 | c4. c8 c4  c    | f8 g a b c4 }
1398
1399 VerseOne =
1400   \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1401 VerseTwo   =
1402   \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1403 VerseThree =
1404   \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1405 VerseFour  =
1406   \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1407
1408 \score {
1409   \new ChoirStaff <<
1410     \new Staff <<
1411       \clef "treble"
1412       \new Voice = "Sop"  { \voiceOne \keyTime \SopMusic }
1413       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1414       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1415       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1416       \new Lyrics \lyricsto "Sop" { \VerseThree }
1417       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1418     >>
1419     \new Staff <<
1420       \clef "bass"
1421       \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1422       \new Voice = "Bass"  { \voiceTwo \BassMusic }
1423     >>
1424   >>
1425 }
1426 @end lilypond
1427
1428
1429 @seealso
1430 Notace: @ruser{Notový zápis zpěvu}.
1431
1432
1433 @node Prostředí a rytci
1434 @section Prostředí a rytci
1435 @translationof Contexts and engravers
1436
1437 Prostředí a rytci (@qq{Stempel}) sind in den vorherigen
1438 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1439 nun etwas ausführlicher widmen, denn sie sind sehr
1440 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1441 vornehmen zu können.
1442
1443 @menu
1444 * Vysvětlení prostředí::
1445 * Vytvoření prostředí::
1446 * Vysvětlení rytců::
1447 * Změna vlastností prostředí::
1448 * Přidání a odstranění rytců::
1449 @end menu
1450
1451 @node Vysvětlení prostředí
1452 @subsection Vysvětlení prostředí
1453 @translationof Contexts explained
1454
1455 @cindex Kontexte erklärt
1456
1457 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1458 hinzugefügt werden,
1459 die im Quellcode gar nicht explizit vorkommen.  Vergleichen Sie
1460 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1461
1462 @lilypond[quote,verbatim]
1463 \relative { cis''4 cis2. | a4 a2. | }
1464 @end lilypond
1465
1466 Der Quellcode ist sehr kurz und knapp, während in der
1467 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1468 eine Taktart hinzugefügt wurden.  Während LilyPond
1469 den Eingabetext @emph{interpretiert}, wird die
1470 musikalische Information von rechts nach links gelesen,
1471 in etwa, wie man eine Partitur von links nach
1472 rechts liest.  Während das Programm den Code liest,
1473 merkt es sich, wo sich Taktgrenzen befinden und
1474 für welche Tonhöhen Versetzungszeichen gesetzt werden
1475 müssen.  Diese Information muss auf mehreren Ebenen
1476 gehandhabt werden, denn Versetzungszeichen etwa
1477 beziehen sich nur auf ein System, Taktlinien dagegen
1478 üblicherweise auf die gesamte Partitur.
1479
1480 Innerhalb von LilyPond sind diese Regeln und
1481 Informationshappen in @emph{Kontexten} (engl.
1482 contexts) gruppiert.  Der @code{Voice} (Stimmen)-Kontext
1483 wurde schon vorgestellt.  Daneben
1484 gibt es noch die @code{Staff} (Notensystem-) und
1485 @code{Score} (Partitur)-Kontexte.  Kontexte sind
1486 hierarchisch geschichtet um die hierarchische
1487 Struktur einer Partitur zu spiegeln.  Ein @code{Staff}-Kontext
1488 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1489 und ein @code{Score}-Kontext kann viele
1490 @code{Staff}-Kontexte beinhalten.
1491
1492 @quotation
1493 @sourceimage{context-example,5cm,,}
1494 @end quotation
1495
1496 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1497 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1498 verbundene Elemente zu ordnen.  Der @code{Voice}-Kontext
1499 zum Beispiel kann eine Vorzeichenregel einführen und der
1500 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1501 einzuordnen, ob ein Versetzungszeichen gesetzt werden
1502 muss oder nicht.
1503
1504 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1505 standardmäßig im @code{Score}-Kontext verankert.  Manchmal sollen
1506 die Systeme einer Partitur aber unterschiedliche Taktarten
1507 enthalten, etwa in einer polymetrischen Partitur mit
1508 4/4- und 3/4-Takt.  In diesem Fall müssen also die Standardeinstellungen
1509 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1510
1511 In einfachen Partituren werden die Kontexte implizit erstellt,
1512 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1513 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1514 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1515 dass man auch wirklich die erwünschte Zahl an Systemen in der
1516 richtigen Reihenfolge erhält.  Wenn Stücke mit spezialisierter
1517 Notation gesetzt werden sollen, ist es üblich, die existierenden
1518 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1519
1520 Zusätzlich zu den @code{Score,} @code{Staff} und
1521 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1522 der Partitur- und Systemebene liegen und Gruppen von Systemen
1523 kontrollieren.  Das sind beispielsweise der
1524 @code{PianoStaff} und @code{ChoirStaff}-Kontext.  Es gibt zusätzlich
1525 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1526 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1527
1528 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1529 englischen
1530 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1531 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1532 angeschlossen, etwa
1533 @code{GregorianTranscriptionStaff}.
1534
1535
1536 @seealso
1537 Notationreferenz: @ruser{Vysvětlení prostředí}.
1538
1539
1540 @node Vytvoření prostředí
1541 @subsection Vytvoření prostředí
1542 @translationof Creating contexts
1543
1544 @funindex \new
1545 @cindex Neue Kontexte
1546 @cindex Erstellen von Kontexten
1547 @cindex Kontexte, Erstellen
1548
1549 In einer Eingabedatei enthält eine @code{Score}-Umgebung (einen
1550 Kontext), die mit
1551 dem Befehl @code{\score} eingeleitet wird, nur einen einzigen
1552 musikalischen Ausdruck und mit ihm verknüpft eine Ausgabedefinition
1553 (entweder eine @code{\layout}- oder eine @code{\midi}-Umgebung).
1554 Üblicherweise wird der @code{Score}-Kontext automatisch von
1555 LilyPond erstellt, wenn der musikalische Ausdruck interpretiert
1556 wird.
1557
1558 Wenn nur ein System vorhanden ist, kann man es ruhig
1559 LilyPond überlassen, auch die @code{Voice}- und @code{Staff}-Kontexte
1560 zu erstellen, aber für komplexere Partituren ist es notwendig,
1561 sie mit einem Befehl zu erstellen.  Der einfachste Befehl
1562 hierzu ist @code{\new}.  Er wird dem musikalischen Ausdruck
1563 vorangestellt, etwa so:
1564
1565 @example
1566 \new @var{Typ} @var{musikalischer Ausdruck}
1567 @end example
1568
1569 @noindent
1570 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1571 @code{Voice}) ist.  Dieser Befehl erstellt einen neuen Kontext und
1572 beginnt, den @var{muskalischen Ausdruck} innerhalb dieses
1573 Kontexts auszuwerten.
1574
1575 @warning{Der @bs{}@code{new Score}-Befehl sollte nicht benutzt werden,
1576 weil der Partitur-(Score)-Kontext der obersten Ebene
1577 normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck
1578 innerhalb der @code{\score}-Umgebung interpretiert wird.  Standard-Werte
1579 von Kontexteigenschaften, die für einen bestimmten @code{Score} gelten
1580 sollen, können innerhalb der @bs{}@code{layout}-Umgebung definiert werden.
1581 Siehe @ref{Změna vlastností prostředí,,změnu vlastností prostředí}.}
1582
1583 Wir haben schon viele explizite Beispiel gesehen, in denen
1584 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1585 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1586 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1587
1588 @lilypond[quote,verbatim,ragged-right]
1589 \score {  % start of single compound music expression
1590   <<  % start of simultaneous staves section
1591     \time 2/4
1592     \new Staff {  % create RH staff
1593       \clef "treble"
1594       \key g \minor
1595       \new Voice {  % create voice for RH notes
1596         \relative {  % start of RH notes
1597           d''4 ees16 c8.
1598           d4 ees16 c8.
1599         }  % end of RH notes
1600       }  % end of RH voice
1601     }  % end of RH staff
1602     \new Staff <<  % create LH staff; needs two simultaneous voices
1603       \clef "bass"
1604       \key g \minor
1605       \new Voice {  % create LH voice one
1606         \voiceOne
1607         \relative {  % start of LH voice one notes
1608           g8 <bes d> ees, <g c>
1609           g8 <bes d> ees, <g c>
1610         }  % end of LH voice one notes
1611       }  % end of LH voice one
1612       \new Voice {  % create LH voice two
1613         \voiceTwo
1614         \relative {  % start of LH voice two notes
1615           g4 ees
1616           g4 ees
1617         }  % end of LH voice two notes
1618       }  % end of LH voice two
1619     >>  % end of LH staff
1620   >>  % end of simultaneous staves section
1621 }  % end of single compound music expression
1622 @end lilypond
1623
1624 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1625 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1626 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1627 jeweils zwei Leerzeichen, und die entsprechenden
1628 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1629 eingerückt werden.  Dies ist nicht erforderlich, es wird aber
1630 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1631 eliminieren und ist darum sehr empfohlen.  Es macht es
1632 möglich, die Struktur einer Partitur auf einen Blick zu
1633 verstehen, und alle nicht passenden Klammern
1634 erschließen sich schnell.  Beachten Sie auch, dass das
1635 untere Notensystem mit eckigen Klammern erstellt wird,
1636 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1637 um die Noten darzustellen.  Das obere System braucht
1638 nur einen einzigen musikalischen Ausdruck und ist deshalb
1639 von geschweiften Klammern umschlossen.)
1640
1641 @cindex Kontexte, Benennung
1642 @cindex Benennung von Kontexten
1643
1644 Der @code{\new}-Befehl kann einem Kontext auch einen
1645 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1646 selben Typs zu unterscheiden:
1647
1648 @example
1649 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1650 @end example
1651
1652 Beachten Sie den Unterschied zwischen der Bezeichnung des
1653 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1654 Namen, der aus beliebigen Buchstaben bestehen kann
1655 und vom Benutzer frei erfunden werden kann.  Zahlen und
1656 Leerzeichen können auch benutzt werden, in dem Fall
1657 muss der Name aber von doppelten Anführungszeichen
1658 umgeben werden, also etwa
1659 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1660 Der Name wird
1661 benutzt, um später auf genau diesen spezifischen Kontext
1662 zu verweisen.  Dieses Vorgehen wurde schon in dem Abschnitt
1663 zu Gesangstexten angewandt, siehe @ref{Hlasy a zpěvy,,hlasy a zpěvy}.
1664
1665
1666 @seealso
1667 Notationsreferenz: @ruser{Vytvoření prostředí}.
1668
1669
1670 @node Vysvětlení rytců
1671 @subsection Vysvětlení rytců
1672 @translationof Engravers explained
1673
1674 @cindex Engraver
1675 @cindex Stempel (Engraver)
1676
1677 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1678 von einem @code{Engraver} (Stempel) produziert.  Es gibt
1679 also einen Engraver, der die Systeme erstellt, einen, der die
1680 Notenköpfe ausgibt, einen für die Hälse, einen für die
1681 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1682 Glück braucht man für die meisten Partituren nur ein
1683 paar Engraver, und für einfache Partituren muss man eigentlich
1684 überhaupt nichts über sie wissen.
1685
1686 Engraver leben und wirken aus den Kontexten heraus.  Engraver
1687 wie der @code{Metronome_mark_engraver}, dessen Aktion
1688 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1689 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1690
1691 Der @code{Clef_engraver} (Schlüssel-Stempel) und der
1692 @code{Key_engraver} (Vorzeichen-Stempel)  finden sich in
1693 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1694 könnten unterschiedliche Tonarten und Notenschlüssel
1695 brauchen.
1696
1697 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1698 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1699 @code{Voice}-Kontext, der untersten Kontextebene.
1700
1701 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1702 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1703 dieser Funktion.  Diese Eigenschaften, wie etwa die Eigenschaften,
1704 die mit Kontexten assoziiert sind, können verändert werden,
1705 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1706 der von ihm produzierten Elemente in der Partitur zu ändern.
1707
1708 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1709 den (englischen) Wörtern ihrer Funktionsweise bestehen.  Nur
1710 das erste Wort hat einen Großbuchstaben, und die restlichen
1711 Wörter werden mit einem Unterstrich angefügt.  Ein
1712 @code{Staff_symbol_engraver}  verantwortet also die Erstellung
1713 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1714 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1715 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1716
1717 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1718 Sie werden sehen, dass es mit etwas Englischkenntnissen
1719 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1720 abzuleiten.
1721
1722 @multitable @columnfractions .3 .7
1723 @headitem Engraver
1724   @tab Funktion
1725 @item Accidental_engraver
1726   @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1727 @item Beam_engraver
1728   @tab Erstellt Balken.
1729 @item Clef_engraver
1730   @tab Erstellt Notenschlüssel.
1731 @item Completion_heads_engraver
1732   @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1733 @item Dynamic_engraver
1734   @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1735 @item Forbid_line_break_engraver
1736   @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1737 @item Key_engraver
1738   @tab Erstellt die Vorzeichen.
1739 @item Metronome_mark_engraver
1740   @tab Erstellt Metronom-Bezeichnungen.
1741 @item Note_heads_engraver
1742   @tab Erstellt Notenköpfe.
1743 @item Rest_engraver
1744   @tab Erstellt Pausen.
1745 @item Staff_symbol_engraver
1746   @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1747 @item Stem_engraver
1748   @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1749 @item Time_signature_engraver
1750   @tab Erstellt die Taktartbezeichnung.
1751 @end multitable
1752
1753 @smallspace
1754
1755 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1756 verändert werden kann, indem die Wirkungsweise der
1757 Engraver beeinflusst wird.
1758
1759
1760 @seealso
1761 Referenz der Interna: @rinternals{Engravers and Performers}.
1762
1763
1764 @node Změna vlastností prostředí
1765 @subsection Změna vlastností prostředí
1766 @translationof Modifying context properties
1767
1768 @cindex Kontext-Eigenschaften, Verändern
1769 @cindex Eigenschaften von Kontexten
1770 @cindex Verändern von Kontext-Eigenschaften
1771 @funindex \set
1772 @funindex \unset
1773 @funindex set
1774 @funindex unset
1775
1776 Kontexte sind dafür verantwortlich, die Werte bestimmter
1777 Kontext-@emph{Eigenschaften} zu speichern.  Viele davon
1778 können verändert werden, um die Interpretation der
1779 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1780 Kontexte werden mit dem @code{\set}-Befehl geändert.
1781 Er wird in Form
1782
1783 @example
1784 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1785 @end example
1786
1787 @noindent
1788 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1789 @code{Score},
1790 @code{Staff} oder @code{Voice} ist.  Der erste Teil kann auch
1791 ausgelassen werden; in diesem Fall wird der aktuelle
1792 Kontext (üblicherweise @code{Voice}) eingesetzt.
1793
1794 Die Bezeichnung von Kontexten-Eigenschaften besteht
1795 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
1796 verbunden sind.  Alle außer dem ersten werden am Anfang
1797 groß geschrieben.  Hier einige Beispiele der gebräuchlichsten
1798 Kontext-Eigenschaften.  Es gibt sehr viel mehr.
1799
1800 @c attempt to force this onto a new page
1801 @need 50
1802 @multitable @columnfractions .25 .15 .45 .15
1803 @headitem eigenschaftsBezeichnung
1804   @tab Typ
1805   @tab Funktion
1806   @tab Beispiel-Wert
1807 @item extraNatural
1808   @tab boolescher Wert
1809   @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt.
1810   @tab @code{#t}, @code{#f}
1811 @item currentBarNumber
1812   @tab Integer
1813   @tab Setzt die aktuelle Taktnummer.
1814   @tab @code{50}
1815 @item doubleSlurs
1816   @tab boolescher Wert
1817   @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
1818   @tab @code{#t}, @code{#f}
1819 @item instrumentName
1820   @tab Text
1821   @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
1822   @tab @code{"Cello I"}
1823 @item fontSize
1824   @tab reale Zahl
1825   @tab Vergrößert oder verkleinert die Schriftgröße.
1826   @tab @code{2.4}
1827 @item stanza
1828   @tab Text
1829   @tab Setzt den Text zu Beginn einer Strophe.
1830   @tab @code{"2"}
1831 @end multitable
1832
1833 @noindent
1834 Ein boolescher Wert ist entweder wahr  (@code{#t})
1835 oder falsch (@code{#f}),
1836 ein Integer eine positive ganze Zahl, ein Real (reelle Zahl) eine positive
1837 oder negative Dezimalzahl, und Text wird in doppelte
1838 Anführungszeichen (Shift+2) eingeschlossen.  Beachten Sie
1839 das Vorkommen des Rautenzeichens
1840 (@code{#}) an unterschiedlichen Stellen: als Teil eines
1841 booleschen Wertes vor dem @code{t} oder @code{f}, aber
1842 auch vor einem @emph{Wert} in der
1843 @code{\set}-Befehlskette.  Wenn ein boolescher Wert
1844 eingegeben werden soll, braucht man also zwei
1845 Rautenzeichen, z. B. @code{##t}.
1846
1847 @cindex Eigenschaften in Kontexten
1848 @cindex Veränderung von Eigenschaften in Kontexten
1849
1850 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
1851 in welchem Kontext sie sich befindet.  Manchmal versteht das
1852 sich von selbst, aber in einigen Fällen kann es zunächst
1853 unverständlich erscheinen.  Wenn der falsche Kontext angegeben
1854 wird, wird keine Fehlermeldung produziert, aber die
1855 Veränderung wird einfach nicht ausgeführt.
1856 @code{instrumentName} befindet sich offensichtlich innerhalb
1857 von einem @code{Staff}-Kontext, denn das Notensystem soll
1858 benannt werden.  In dem folgenden Beispiel erhält das erste
1859 System korrekt die Instrumentenbezeichnung, das zweite aber
1860 nicht, weil der Kontext ausgelassen wurde.
1861
1862 @lilypond[quote,verbatim,ragged-right]
1863 <<
1864   \new Staff \relative {
1865     \set Staff.instrumentName = #"Soprano"
1866     c''2 c
1867  }
1868   \new Staff \relative {
1869     \set instrumentName = #"Alto"  % Wrong!
1870     d'2 d
1871  }
1872 >>
1873 @end lilypond
1874
1875 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
1876 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
1877 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
1878 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
1879 gar nichts.  Das ist kein Fehler, und darum wird auch keine Fehlermeldung
1880 produziert.
1881
1882 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
1883 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
1884 kann.  Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
1885 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
1886 wirklich existieren.  Aber wenn LilyPond diese Bezeichnung nicht
1887 zuordnen kann, bewirkt der Befehl einfach gar nichts.  Manche Editoren,
1888 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
1889 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
1890 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
1891 unbekannte Bezeichnungen anders (wie ConTEXT).  Wenn Sie keinen
1892 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
1893 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe
1894 @rinternals{Tunable context properties}, oder
1895 @rinternals{Contexts}.
1896
1897 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
1898 in einem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
1899 können in mehr als einem Kontext benutzt werden.  Als Beispiel mag die
1900 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
1901 setzt.  Die Standardeinstellung ist ##t (wahr) in allen Systemen.
1902 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch)
1903 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus.  Wird
1904 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
1905 auf alle darin enthaltenen Systeme aus.
1906
1907 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System
1908 ausgeschaltet sind:
1909
1910 @lilypond[quote,verbatim,ragged-right]
1911 <<
1912   \new Staff \relative {
1913     ais'2 aes
1914   }
1915   \new Staff \relative {
1916     \set Staff.extraNatural = ##f
1917     ais'2 aes
1918   }
1919 >>
1920 @end lilypond
1921
1922 @noindent
1923 während das dazu dient, sie in allen Systemen auszuschalten:
1924
1925 @lilypond[quote,verbatim,ragged-right]
1926 <<
1927   \new Staff \relative {
1928     ais'2 aes
1929   }
1930   \new Staff \relative {
1931     \set Score.extraNatural = ##f
1932     ais'2 aes
1933   }
1934 >>
1935 @end lilypond
1936
1937 Ein anderes Beispiel ist die Eigenschaft @code{clefTransposition}:
1938 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
1939 der Wert der Oktavierung in allen aktuellen Systemen und wird
1940 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
1941
1942 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
1943 effektiv wieder von dem Kontext: in den meisten Fällen wird der
1944 Kontext auf ihre Standardeinstellungen zurückgesetzt.
1945 Normalerweise wird aber @code{\unset} nicht benötigt,
1946 denn ein neues @code{\set} erledigt alles, was man braucht.
1947
1948 Die @code{\set}- und @code{\unset}-Befehle könne überall im
1949 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
1950 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
1951 mit @code{\set} oder @code{\unset} neu gesetzt wird.  Versuchen
1952 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
1953 auf die Notenköpfe auswirkt.  Die Änderung bezieht sich immer auf den Standard,
1954 nicht vom letzten gesetzten Wert.
1955
1956 @lilypond[quote,verbatim,ragged-right]
1957 \relative {
1958   c'4 d
1959   % make note heads smaller
1960   \set fontSize = #-4
1961   e4 f |
1962   % make note heads larger
1963   \set fontSize = #2.5
1964   g4 a
1965   % return to default size
1966   \unset fontSize
1967   b4 c |
1968 }
1969 @end lilypond
1970
1971 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
1972 Eigenschaften ändern lassen.  Beachten Sie, dass Integer und
1973 Zahlen immer mit einem Rautenzeichen beginnen, während
1974 die Werte wahr und falsch (mit @code{##t} und @code{##f}
1975 notiert) immer mit zwei Rauten beginnen.  Eine Eigenschaft, die
1976 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
1977 auch wenn wir später sehen werden, dass Text auf eine sehr viel
1978 allgemeinere und mächtigere Art mit dem @code{\markup}-Befehl
1979 eingegeben werden kann.
1980
1981 @subsubheading Kontexteigenschaften mit @code{\with} setzen
1982
1983 @funindex \with
1984 @cindex Kontexteigenschaft, setzen mit \with
1985
1986 Die Standardwerte von Kontexteigenschaften können zu dem Zeitpunkt
1987 definiert werden, an welchem der Kontext erstellt wird. Manchmal
1988 ist das eine saubere Weise, eine Eigenschaft zu bestimmen, die für
1989 die gesamte Partitur erhalten bleichen soll.  Wenn ein Kontext mit
1990 einem @code{\new}-Befehl erstellt wird, können in einer
1991 direkt folgenden @code{\with @{ .. @}}-Umgebung die Eigenschaften
1992 bestimmt werden.  Wenn also die zusätzlichen
1993 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
1994 man schreiben:
1995
1996 @example
1997 \new Staff \with @{ extraNatural = ##f @}
1998 @end example
1999
2000 @noindent
2001 etwa so:
2002
2003 @lilypond[quote,verbatim,ragged-right]
2004 <<
2005   \new Staff
2006     \relative {
2007       gis'4 ges aes ais
2008     }
2009   \new Staff \with { extraNatural = ##f } {
2010     \relative {
2011       gis' ges aes ais
2012     }
2013   }
2014 >>
2015 @end lilypond
2016
2017 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2018 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2019 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden,
2020 wie sie vorher in der @code{\with}-Umgebung definiert wurden.
2021
2022 @cindex Schriftgröße, Standardeinstellung
2023 @cindex fontSize (Schriftgröße), Standardeinstellung
2024
2025 Wenn also die @code{fontSize}-Eigenschaft in einer @code{\with}-Umgebung
2026 definiert wird, wird der Standardwert für die Schriftgröße
2027 festgelegt.  Wenn dieser Wert später mit @code{\set} verändert
2028 wird, kann dieser neue Standardwert mit dem Befehl
2029 @code{\unset fontSize} wieder erreicht werden.
2030
2031 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2032
2033 @cindex Kontexteigenschaften, mit \context setzen
2034 @cindex Eigenschaften von Kontexten, mit \context setzen
2035 @funindex \context
2036
2037 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2038 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte)
2039 gleichzeitig mit einem Befehl gesetzt werden.  Der Kontext wird
2040 spezifiziert, indem seine Bezeichnung benutzt wird, also etwa
2041 @code{Staff}, mit einem Backslash davor: @code{\Staff}.  Der Befehl
2042 für die Eigenschaft ist der gleiche, wie er auch in der
2043 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt.  Er wird in
2044 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2045 von einer @code{\layout}-Umgebung steht.  Jede @code{\context}-Umgebung
2046 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2047 aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}-
2048 oder @code{\book}-Umgebung).  Hier ist ein Beispiel, wie man diese
2049 Funktion anwendet:
2050
2051 @lilypond[verbatim,quote]
2052 \score {
2053   \new Staff {
2054     \relative {
2055       cis''4 e d ces
2056     }
2057   }
2058   \layout {
2059     \context {
2060       \Staff
2061       extraNatural = ##t
2062     }
2063   }
2064 }
2065 @end lilypond
2066
2067 Wenn die Veränderung der Eigenschaft sich auf alle Systeme einer
2068 @code{score}-Umgebung beziehen soll:
2069
2070 @lilypond[quote,verbatim]
2071 \score {
2072   <<
2073     \new Staff {
2074       \relative {
2075         gis'4 ges aes ais
2076       }
2077     }
2078     \new Staff {
2079       \relative {
2080         gis'4 ges aes ais
2081       }
2082     }
2083   >>
2084   \layout {
2085     \context {
2086       \Score extraNatural = ##f
2087     }
2088   }
2089 }
2090 @end lilypond
2091
2092 @noindent
2093 Kontext-Eigenschaften, die auf diese Weise gesetzt werden, können für
2094 bestimmten Kontexte überschrieben werden, indem die
2095 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2096 innerhalb der aktuellen Noten.
2097
2098
2099 @seealso
2100 Notationsreferenz:
2101 @ruser{Die Standardeinstellungen von Kontexten ändern},
2102 @ruser{Der set-Befehl}.
2103
2104 Referenz der Interna:
2105 @rinternals{Contexts},
2106 @rinternals{Tunable context properties}.
2107
2108
2109 @node Přidání a odstranění rytců
2110 @subsection Přidání a odstranění rytců
2111 @translationof Adding and removing engravers
2112
2113 @cindex Engraver, Hinzufügen von
2114 @cindex Engraver, Entfernen von
2115 @cindex Hinzufügen von Engravern
2116 @cindex Entfernen von Engravern
2117
2118 @funindex \consists
2119 @funindex \remove
2120 @funindex consists
2121 @funindex remove
2122
2123 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2124 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2125 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2126 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2127 einem Kontext entfernt wird, kann er seine Objekte nicht
2128 länger produzieren.  Das ist eine eher grobe Methode, die
2129 Notenausgabe zu beeinflussen, aber es kann von großem
2130 Nutzen sein.
2131
2132
2133 @subsubheading Einen einzelnen Kontext verändern
2134
2135 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2136 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2137 den Befehl zur Kontext-Erstellung geschrieben, wie
2138 in dem vorigen Abschnitt gezeigt.
2139
2140 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2141 Abschnitt produzieren, aber die Notenlinien entfernen.  Erinnern
2142 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2143 erstellt werden.
2144
2145 @lilypond[quote,verbatim,ragged-right]
2146 \new Staff \with {
2147   \remove "Staff_symbol_engraver"
2148 }
2149 \relative {
2150   c'4 d
2151   \set fontSize = #-4  % make note heads smaller
2152   e4 f |
2153   \set fontSize = #2.5  % make note heads larger
2154   g4 a
2155   \unset fontSize  % return to default size
2156   b4 c |
2157 }
2158 @end lilypond
2159
2160 @cindex Ambitus-Engraver
2161
2162 Engraver können auch zu einem bestimmten
2163 Kontext hinzugefügt werden.  Dies geschieht
2164 mit dem Befehl
2165
2166 @code{\consists @var{Engraver_bezeichnung}}
2167
2168 @noindent
2169 welcher auch wieder innerhalb der @code{\with}-Umgebung
2170 gesetzt wird.  Einige Chorpartituren zeigen einen
2171 Ambitus direkt zu Beginn der ersten Notenzeile, um
2172 den Stimmumfang des Stückes anzuzeigen, siehe auch
2173 @rglos{ambitus}.  Der Ambitus wird vom
2174 @code{Ambitus_engraver} erstellt, der normalerweise
2175 in keinem Kontext enthalten ist.  Wenn wir
2176 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2177 er automatisch den Stimmumfang für diese einzelne Stimme
2178 und zeigt ihn an:
2179
2180 @lilypond[quote,verbatim,ragged-right]
2181 \new Staff <<
2182   \new Voice \with {
2183     \consists "Ambitus_engraver"
2184   } {
2185     \relative {
2186       \voiceOne
2187       c''4 a b g
2188     }
2189   }
2190   \new Voice {
2191     \relative {
2192       \voiceTwo
2193       c'4 e d f
2194     }
2195   }
2196 >>
2197 @end lilypond
2198
2199 @noindent
2200 wenn wir den Ambitus-Engraver allerdings zum
2201 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2202 Stimmen in diesem Notensystem errechnet:
2203
2204 @lilypond[quote,verbatim,ragged-right]
2205 \new Staff \with {
2206   \consists "Ambitus_engraver"
2207 }
2208 <<
2209   \new Voice {
2210     \relative {
2211       \voiceOne
2212       c''4 a b g
2213     }
2214   }
2215   \new Voice {
2216     \relative {
2217       \voiceTwo
2218       c'4 e d f
2219     }
2220   }
2221 >>
2222 @end lilypond
2223
2224
2225 @subsubheading Alle Kontexte des gleichen Typs verändern
2226
2227 @funindex \layout
2228
2229 Die vorigen Beispiele zeigen, wie man Engraver in einem
2230 bestimmten Kontext hinzufügen oder entfernen kann.  Es ist
2231 auch möglich, Engraver in jedem Kontext eines bestimmten
2232 Typs hinzuzufügen oder zu entfernen.  Dazu werden die
2233 Befehle in dem entsprechenden Kontext in einer
2234 @code{\layout}-Umgebung gesetzt.  Wenn wir also z. B.
2235 den Ambitus für jedes Notensystem in einer Partitur
2236 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2237
2238 @lilypond[quote,verbatim,ragged-right]
2239 \score {
2240   <<
2241     \new Staff {
2242       \relative {
2243         c''4 a b g
2244       }
2245     }
2246     \new Staff {
2247       \relative {
2248         c'4 a b g
2249       }
2250     }
2251     \new Staff {
2252       \clef "G_8"
2253       \relative {
2254         c'4 a b g
2255       }
2256     }
2257     \new Staff {
2258       \clef "bass"
2259       \relative {
2260         c4 a b g
2261       }
2262     }
2263   >>
2264   \layout {
2265     \context {
2266       \Staff
2267       \consists "Ambitus_engraver"
2268     }
2269   }
2270 }
2271 @end lilypond
2272
2273 @noindent
2274 Die Werte der Kontext-Eigenschaften können auch für
2275 alle Kontexte eines bestimmten Typs auf die gleiche
2276 Weise geändert werden, indem der @code{\set}-Befehl in
2277 einer @code{\context}-Umgebung angewendet wird.
2278
2279
2280 @seealso
2281 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2282 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2283
2284 @knownissues
2285 Die @code{Stem_engraver} und @code{Beam_engraver} fügen ihre
2286 Objekte an Notenköpfe an.  Wenn der @code{Note_heads_engraver}
2287 entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine
2288 Hälse oder Bögen dargestellt.
2289
2290
2291 @node Rozšíření příkladů
2292 @section Rozšíření příkladů
2293 @translationof Extending the templates
2294
2295 Sie haben sich durch die Übung gearbeitet, Sie
2296 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2297 haben die grundlegenden Konzepte verstanden.  Aber wie
2298 erhalten Sie genau die Systeme, die Sie brauchen? Es
2299 gibt eine ganze Anzahl an fertigen Vorlagen
2300 (siehe @ref{Předlohy}), mit denen Sie beginnen
2301 können.  Aber was, wenn Sie nicht genau das finden,
2302 was Sie brauchen? Lesen Sie weiter.
2303
2304 @menu
2305 * Soprán a violoncello::
2306 * Čtyřhlasý notový zápis SATB::
2307 * Vytvoření notového zápisu od základu::
2308 * Úspora psaní na stroji pomocí proměnných a funkcí::
2309 * Notové zápisy a hlasy::
2310 @end menu
2311
2312
2313 @node Soprán a violoncello
2314 @subsection Soprán a violoncello
2315 @translationof Soprano and cello
2316
2317 @cindex Template, Verändern von
2318 @cindex Vorlage, Verändern von
2319 @cindex Veränderung von Vorlagen
2320
2321 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2322 am nächsten kommt.  Nehmen wir einmal an, Sie wollen
2323 ein Stück für Soprán a violoncello schreiben.  In diesem
2324 Fall könnten Sie mit der Vorlage @qq{Noten und Text}
2325 (für die Sopran-Stimme) beginnen.
2326
2327 @example
2328 \version @w{"@version{}"}
2329 melody = \relative @{
2330   \clef "treble"
2331   \key c \major
2332   \time 4/4
2333   a4 b c d
2334 @}
2335
2336 text = \lyricmode @{
2337   Aaa Bee Cee Dee
2338 @}
2339
2340 \score @{
2341   <<
2342     \new Voice = "one" @{
2343       \autoBeamOff
2344       \melody
2345     @}
2346     \new Lyrics \lyricsto "one" \text
2347   >>
2348   \layout @{ @}
2349   \midi @{ @}
2350 @}
2351 @end example
2352
2353 Jetzt wollen wir die Cello-Stimme hinzufügen.  Schauen wir uns das
2354 Beispiel @qq{Nur Noten} an:
2355
2356 @example
2357 \version @w{"@version{}"}
2358
2359 melody = \relative @{
2360   \clef "treble"
2361   \key c \major
2362   \time 4/4
2363   a4 b c d
2364 @}
2365
2366 \score @{
2367   \new Staff \melody
2368   \layout @{ @}
2369   \midi @{ @}
2370 @}
2371 @end example
2372
2373 Wir brauchen den @code{\version}-Befehl nicht zweimal.  Wir
2374 brauchen aber den @code{melody}-Abschnitt.  Wir wollen
2375 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2376 @code{\score}-Abschnitten würden wir zwei Stimmen
2377 getrennt voneinander erhalten.  In diesem Fall wollen wir
2378 sie aber zusammen, als Duett.  Schließlich brauchen wir
2379 innerhalb des @code{\score}-Abschnittes nur einmal die
2380 Befehle @code{\layout} und @code{\midi}.
2381
2382 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in
2383 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2384 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2385 würde für beide Melodien eingesetzt werden.  Wir müssen
2386 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2387 zu unterscheiden.  Nennen wir die Abschnitte also @code{SopranNoten}
2388 für den Sopran und @code{CelloNoten} für die Cellostimme.  Wenn
2389 wir schon dabei sind, können wir @code{text}auch nach
2390 @code{SoprText} umbenennen.  Denken Sie daran, beide
2391 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2392 gleich am Anfang (@code{melody = \relative c' @{ }) und
2393 dann auch noch die Benutzung der Variable innerhalb des
2394 @code{\score}-Abschnittes.
2395
2396 Gleichzeitig können wir auch noch das Notensystem für das
2397 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2398 Wir ändern auch die Noten etwas ab.
2399
2400 @example
2401 \version @w{"@version{}"}
2402
2403 SopranNoten = \relative @{
2404   \clef "treble"
2405   \key c \major
2406   \time 4/4
2407   a4 b c d
2408 @}
2409
2410 SoprText = \lyricmode @{
2411   Aaa Bee Cee Dee
2412 @}
2413
2414 CelloNoten = \relative @{
2415   \clef "bass"
2416   \key c \major
2417   \time 4/4
2418   d4 g fis8 e d4
2419 @}
2420
2421 \score @{
2422   <<
2423     \new Voice = "eins" @{
2424       \autoBeamOff
2425       \SopranNoten
2426     @}
2427     \new Lyrics \lyricsto "eins" \Soprantext
2428   >>
2429   \layout @{ @}
2430   \midi @{ @}
2431 @}
2432 @end example
2433
2434 Das sieht schon vielversprechend aus, aber die Cello-Stimme
2435 erscheint noch nicht im Notensatz -- wir haben vergessen,
2436 sie in den @code{\score}-Abschnitt einzufügen.  Wenn die
2437 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2438 wir
2439
2440 @example
2441 \new Staff \CelloNoten
2442 @end example
2443
2444 @noindent
2445 unter dem Befehl für den Sopran hinzufügen.  Wir brauchen auch
2446 die spitzen Klammern (@code{<<} und @code{>>}) um die
2447 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2448 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2449 zwei @code{Staff}-Instanzen).  Der @code{\score}-Abschnitt
2450 sieht jetzt so aus:
2451
2452 @c Indentation in this example is deliberately poor
2453 @example
2454 \score @{
2455   <<
2456     <<
2457       \new Voice = "eins" @{
2458         \autoBeamOff
2459         \SopranNoten
2460       @}
2461       \new Lyrics \lyricsto "eins" \SoprText
2462     >>
2463     \new Staff \CelloNoten
2464   >>
2465   \layout @{ @}
2466   \midi @{ @}
2467 @}
2468 @end example
2469
2470 @noindent
2471 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2472 nicht mehr.  Das können wir aber schnell in Ordnung bringen.
2473 Hier also die gesamte Vorlage für Soprán a violoncello:
2474
2475 @lilypond[quote,verbatim,ragged-right,addversion]
2476 sopranoMusic = \relative {
2477   \clef "treble"
2478   \key c \major
2479   \time 4/4
2480   a4 b c d
2481 }
2482
2483 sopranoLyrics = \lyricmode {
2484   Aaa Bee Cee Dee
2485 }
2486
2487 celloMusic = \relative {
2488   \clef "bass"
2489   \key c \major
2490   \time 4/4
2491   d4 g fis8 e d4
2492 }
2493
2494 \score {
2495   <<
2496     <<
2497       \new Voice = "one" {
2498         \autoBeamOff
2499         \sopranoMusic
2500       }
2501       \new Lyrics \lyricsto "one" \sopranoLyrics
2502     >>
2503     \new Staff \celloMusic
2504   >>
2505   \layout { }
2506   \midi { }
2507 }
2508 @end lilypond
2509
2510
2511 @seealso
2512 Die Vorlagen, mit denen wir begonnen haben, können im
2513 Anhang @qq{Předlohy} gefunden werden, siehe
2514 @ref{Jednotlivá notová osnova}.
2515
2516
2517 @node Čtyřhlasý notový zápis SATB
2518 @subsection Čtyřhlasý notový zápis SATB
2519 @translationof Four-part SATB vocal score
2520
2521 @cindex Vorlage, SATB
2522 @cindex Vorlage, Chorpartitur
2523 @cindex SATB-Vorlage
2524 @cindex Chorpartitur, Vorlage
2525
2526 Die meisten Partituren für vierstimmigen gemischten Chor
2527 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2528 oder Händels @notation{Messias})  sind so aufgebaut, dass
2529 für jede der vier Stimmen ein eigenes System besteht und
2530 die Orchesterbegleitung dann als Klavierauszug darunter
2531 notiert wird.  Hier ein Beispiel aus Händels @notation{Messias}:
2532
2533 @c The following should appear as music without code
2534 @lilypond[quote,ragged-right]
2535 global = { \key d \major \time 4/4 }
2536
2537 sopranoMusic = \relative {
2538   \clef "treble"
2539   r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2540 }
2541 sopranoWords = \lyricmode {
2542   Wor -- thy | is the lamb | that was slain |
2543 }
2544 altoMusic = \relative {
2545   \clef "treble"
2546   r4 a'2 a4 | fis4. fis8 a2 | g4 fis e2 |
2547 }
2548 altoWords = \sopranoWords
2549 tenorMusic = \relative {
2550   \clef "G_8"
2551   r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2552 }
2553 tenorWords = \sopranoWords
2554 bassMusic = \relative {
2555   \clef "bass"
2556   r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2557 }
2558 bassWords = \sopranoWords
2559 upper = \relative {
2560   \clef "treble"
2561   \global
2562   r4 <a' d fis>2 <a e' a>4
2563   <d fis d'>4. <d fis d'>8 <a d a'>2
2564   <g cis g'>4 <a d fis> <a cis e>2
2565 }
2566 lower = \relative {
2567   \clef "bass"
2568   \global
2569   <d, d'>4 <d d'>2 <cis cis'>4
2570   <b b'>4. <b' b'>8 <fis fis'>2
2571   <e e'>4 <d d'> <a' a'>2
2572 }
2573
2574 \score {
2575   <<  % combine ChoirStaff and PianoStaff in parallel
2576     \new ChoirStaff <<
2577       \new Staff = "sopranos" <<
2578         \set Staff.instrumentName = #"Soprano"
2579         \new Voice = "sopranos" {
2580           \global
2581           \sopranoMusic
2582         }
2583       >>
2584       \new Lyrics \lyricsto "sopranos" {
2585         \sopranoWords
2586       }
2587       \new Staff = "altos" <<
2588         \set Staff.instrumentName = #"Alto"
2589         \new Voice = "altos" {
2590           \global
2591           \altoMusic
2592         }
2593       >>
2594       \new Lyrics \lyricsto "altos" {
2595         \altoWords
2596       }
2597       \new Staff = "tenors" <<
2598         \set Staff.instrumentName = #"Tenor"
2599         \new Voice = "tenors" {
2600           \global
2601           \tenorMusic
2602         }
2603       >>
2604       \new Lyrics \lyricsto "tenors" {
2605         \tenorWords
2606       }
2607       \new Staff = "basses" <<
2608         \set Staff.instrumentName = #"Bass"
2609         \new Voice = "basses" {
2610           \global
2611           \bassMusic
2612         }
2613       >>
2614       \new Lyrics \lyricsto "basses" {
2615         \bassWords
2616       }
2617     >>  % end ChoirStaff
2618
2619     \new PianoStaff <<
2620       \set PianoStaff.instrumentName = #"Piano"
2621       \new Staff = "upper" \upper
2622       \new Staff = "lower" \lower
2623     >>
2624   >>
2625 }
2626 @end lilypond
2627
2628 Keine der Vorlage bietet diesen Aufbau direkt an.  Die Vorlage, die
2629 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer
2630 Klavierauszug}, siehe @ref{Vokální soubor}.  Wir müssen diese
2631 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2632 automatisch aus dem Chorsatz generiert werden.  Die Variablen
2633 für die Noten und den Text des Chores sind in Ordnung, wir
2634 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2635
2636 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2637 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2638 in dem Beispiel oben.  Wir wollen sie so sortieren, dass die
2639 Texte jeder Stimme direkt unter den Noten notiert werden.
2640 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2641 welches die Standardeinstellung ist; wir können also die
2642 @code{\voiceXXX}-Befehle entfernen.  Wir müssen auch noch
2643 den Schlüssel für den Tenor ändern.  Die Methode, mit der
2644 der Text den Stimmen zugewiesen wird, ist uns noch nicht
2645 bekannt, darum wollen wir sie umändern auf die Weise, die
2646 wir schon kennen.  Wir fügen auch noch Instrumentbezeichnungen
2647 zu den Systemen hinzu.
2648
2649 Damit erhalten wir folgenden @code{ChoirStaff}:
2650
2651 @example
2652 \new ChoirStaff <<
2653   \new Staff = "sopranos" <<
2654     \set Staff.instrumentName = #"Sopran"
2655     \new Voice = "sopranos" @{
2656       \global
2657       \sopranoMusic
2658     @}
2659   >>
2660   \new Lyrics \lyricsto "sopranos" @{
2661     \sopranoWords
2662   @}
2663   \new Staff = "altos" <<
2664     \set Staff.instrumentName = #"Alt"
2665     \new Voice = "altos" @{
2666       \global
2667       \altoMusic
2668     @}
2669   >>
2670   \new Lyrics \lyricsto "altos" @{
2671     \altoWords
2672   @}
2673   \new Staff = "tenors" <<
2674     \set Staff.instrumentName = #"Tenor"
2675     \new Voice = "tenors" @{
2676       \global
2677       \tenorMusic
2678     @}
2679   >>
2680   \new Lyrics \lyricsto "tenors" @{
2681     \tenorWords
2682   @}
2683   \new Staff = "basses" <<
2684     \set Staff.instrumentName = #"Bass"
2685     \new Voice = "basses" @{
2686       \global
2687       \bassMusic
2688     @}
2689   >>
2690   \new Lyrics \lyricsto "basses" @{
2691     \bassWords
2692   @}
2693 >>  % end ChoirStaff
2694 @end example
2695
2696 Als nächstes müssen wir das Klaviersystem bearbeiten.
2697 Das ist einfach: wir nehmen einfach den Klavierteil
2698 aus der @qq{Piano solo}-Vorlage:
2699
2700 @example
2701 \new PianoStaff <<
2702   \set PianoStaff.instrumentName = #"Piano  "
2703   \new Staff = "oben" \oben
2704   \new Staff = "unten" \unten
2705 >>
2706 @end example
2707
2708 @noindent
2709 und fügen die Variablen @code{oben}
2710 und @code{unten} hinzu.
2711
2712 Das Chorsystem und das Pianosystem müssen mit
2713 spitzen Klammern kombiniert werden, damit beide
2714 übereinander erscheinen:
2715
2716 @example
2717 <<  % ChoirStaff und PianoStaff parallel kombinieren
2718   \new ChoirStaff <<
2719     \new Staff = "sopranos" <<
2720       \new Voice = "sopranos" @{
2721         \global
2722         \sopranoMusic
2723       @}
2724     >>
2725     \new Lyrics \lyricsto "sopranos" @{
2726       \sopranoWords
2727      @}
2728     \new Staff = "altos" <<
2729       \new Voice = "altos" @{
2730         \global
2731         \altoMusic
2732       @}
2733     >>
2734     \new Lyrics \lyricsto "altos" @{
2735       \altoWords
2736     @}
2737     \new Staff = "tenors" <<
2738       \clef "G_8"  % tenor clef
2739       \new Voice = "tenors" @{
2740         \global
2741         \tenorMusic
2742       @}
2743     >>
2744     \new Lyrics \lyricsto "tenors" @{
2745       \tenorWords
2746     @}
2747     \new Staff = "basses" <<
2748       \clef "bass"
2749       \new Voice = "basses" @{
2750         \global
2751         \bassMusic
2752       @}
2753     >>
2754     \new Lyrics \lyricsto "basses" @{
2755       \bassWords
2756     @}
2757   >>  % end ChoirStaff
2758
2759   \new PianoStaff <<
2760     \set PianoStaff.instrumentName = #"Piano"
2761     \new Staff = "upper" \upper
2762     \new Staff = "lower" \lower
2763   >>
2764 >>
2765 @end example
2766
2767 Alles miteinander kombiniert und mit den Noten für drei
2768 Takte sieht unser Beispiel nun so aus:
2769
2770 @lilypond[quote,verbatim,ragged-right,addversion]
2771 global = {
2772   \key d \major
2773   \time 4/4
2774 }
2775 sopranoMusic = \relative {
2776   \clef "treble"
2777   r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 |
2778 }
2779 sopranoWords = \lyricmode {
2780   Wor -- thy | is the lamb | that was slain |
2781 }
2782 altoMusic = \relative {
2783   \clef "treble"
2784   r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2785 }
2786 altoWords = \sopranoWords
2787 tenorMusic = \relative {
2788   \clef "G_8"
2789   r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 |
2790 }
2791 tenorWords = \sopranoWords
2792 bassMusic = \relative {
2793   \clef "bass"
2794   r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 |
2795 }
2796 bassWords = \sopranoWords
2797 upper = \relative {
2798   \clef "treble"
2799   \global
2800   r4 <a' d fis>2 <a e' a>4
2801   <d fis d'>4. <d fis d'>8 <a d a'>2
2802   <g cis g'>4 <a d fis> <a cis e>2
2803 }
2804 lower = \relative {
2805   \clef "bass"
2806   \global
2807   <d, d'>4 <d d'>2 <cis cis'>4
2808   <b b'>4. <b' b'>8 <fis fis'>2
2809   <e e'>4 <d d'> <a' a'>2
2810 }
2811
2812 \score {
2813   <<  % combine ChoirStaff and PianoStaff in parallel
2814     \new ChoirStaff <<
2815       \new Staff = "sopranos" <<
2816         \set Staff.instrumentName = #"Soprano"
2817         \new Voice = "sopranos" {
2818           \global
2819           \sopranoMusic
2820         }
2821       >>
2822       \new Lyrics \lyricsto "sopranos" {
2823         \sopranoWords
2824       }
2825       \new Staff = "altos" <<
2826         \set Staff.instrumentName = #"Alto"
2827         \new Voice = "altos" {
2828           \global
2829           \altoMusic
2830         }
2831       >>
2832       \new Lyrics \lyricsto "altos" {
2833         \altoWords
2834       }
2835       \new Staff = "tenors" <<
2836         \set Staff.instrumentName = #"Tenor"
2837         \new Voice = "tenors" {
2838           \global
2839           \tenorMusic
2840         }
2841       >>
2842       \new Lyrics \lyricsto "tenors" {
2843         \tenorWords
2844       }
2845       \new Staff = "basses" <<
2846         \set Staff.instrumentName = #"Bass"
2847         \new Voice = "basses" {
2848           \global
2849           \bassMusic
2850         }
2851       >>
2852       \new Lyrics \lyricsto "basses" {
2853         \bassWords
2854       }
2855     >>  % end ChoirStaff
2856
2857     \new PianoStaff <<
2858       \set PianoStaff.instrumentName = #"Piano  "
2859       \new Staff = "upper" \upper
2860       \new Staff = "lower" \lower
2861     >>
2862   >>
2863 }
2864 @end lilypond
2865
2866
2867 @node Vytvoření notového zápisu od základu
2868 @subsection Vytvoření notového zápisu od základu
2869 @translationof Building a score from scratch
2870
2871 @cindex Template, eigene schreiben
2872 @cindex Vorlagen, eigene schreiben
2873 @cindex eigene Vorlagen erstellen
2874 @cindex Erstellen von eigenen Vorlagen
2875 @cindex Schreiben von eigenen Vorlagen
2876
2877 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2878 gewonnen haben, werden Sie vielleicht feststellen, dass es
2879 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2880 die fertigen Vorlagen zu verändern.  Auf diese Art könne Sie
2881 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2882 die Sie notieren wollen.  Als Beispiel wollen wir demonstrieren,
2883 wie man die Partitur für ein Orgelpreludium von Grund auf
2884 konstruiert.
2885
2886 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2887 Hier notieren wir den Titel, den Namen des Komponisten usw.
2888 Danach schreiben wir die einzelnen Variablen auf und
2889 schließlich am Ende die eigentliche Partitur, den
2890 @code{\score}-Abschnitt.  Beginnen wir mit einer groben
2891 Struktur, in die wir dann die Einzelheiten nach und nach
2892 eintragen.
2893
2894 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2895 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2896 für zwei Manuale und Pedal.  Sie können die Noten am Ende
2897 dieses Abschnittes sehen.  Das obere Manual trägt zwei Stimmen,
2898 das untere und das Pedalsystem jeweils nur eine.  Wir
2899 brauchen also vier Variablen für die Noten und eine, um
2900 Taktart und Tonart zu definieren.
2901
2902 @example
2903 \version @w{"@version{}"}
2904 \header @{
2905   title = "Jesu, meine Freude"
2906   composer = "J. S. Bach"
2907 @}
2908 keyTime = @{ \key c \minor \time 4/4 @}
2909 ManualOneVoiceOneMusic = @{ s1 @}
2910 ManualOneVoiceTwoMusic = @{ s1 @}
2911 ManualTwoMusic = @{ s1 @}
2912 PedalOrganMusic = @{ s1 @}
2913
2914 \score @{
2915 @}
2916 @end example
2917
2918 Im Moment haben wir eine unsichtbare
2919 Note in jede Stimme eingesetzt (@code{s1}).
2920 Die Noten werden später hinzugefügt.
2921
2922 Als nächstes schauen wir uns an, was in die
2923 Partitur (die @code{\score}-Umgebung)
2924 kommt.  Dazu wird einfach die Notensystemstruktur
2925 konstruiert, die wir benötigen.  Orgelmusik
2926 wird meistens auf drei Systemen notiert, eins
2927 für jedes Manual und ein drittes für die Pedalnoten.
2928 Die Systeme für die Manuale werden mit einer
2929 geschweiften Klammer verbunden, wir
2930 benutzen hier also ein @code{PianoStaff}.
2931 Das erste Manualsystem braucht zwei Stimmen,
2932 das zweite nur eine.
2933
2934 @example
2935 \new PianoStaff <<
2936   \new Staff = "ManualOne" <<
2937     \new Voice @{
2938       \ManualOneVoiceOneMusic
2939     @}
2940     \new Voice @{
2941       \ManualOneVoiceTwoMusic
2942     @}
2943   >>  % Ende ManualOne Systemkontext
2944   \new Staff = "ManualTwo" <<
2945     \new Voice @{
2946       \ManualTwoMusic
2947     @}
2948   >>  % Ende ManualTwo Systemkontext
2949 >>  % Ende PianoStaff Kontext
2950 @end example
2951
2952 Als nächstes soll das System für das Pedal hinzugefügt
2953 werden.  Es soll unter das Klaviersystem gesetzt
2954 werden, aber muss gleichzeitig mit ihm erscheinen.
2955 Wir brauchen also spitze Klammern um beide
2956 Definitionen.  Sie wegzulassen würde eine Fehlermeldung
2957 in der Log-Datei hervorrufen.  Das ist ein sehr
2958 häufiger Fehler, der wohl auch Ihnen früher
2959 oder später unterläuft.  Sie können das fertige
2960 Beispiel am Ende des Abschnittes kopieren und die
2961 Klammern entfernen, um zu sehen, wie die
2962 Fehlermeldung aussehen kann, die Sie in solch
2963 einem Fall erhalten würden.
2964
2965 @example
2966 <<  % PianoStaff and Pedal Staff must be simultaneous
2967   \new PianoStaff <<
2968     \new Staff = "ManualOne" <<
2969       \new Voice @{
2970         \ManualOneVoiceOneMusic
2971       @}
2972       \new Voice @{
2973         \ManualOneVoiceTwoMusic
2974       @}
2975     >>  % end ManualOne Staff context
2976     \new Staff = "ManualTwo" <<
2977       \new Voice @{
2978         \ManualTwoMusic
2979       @}
2980     >>  % end ManualTwo Staff context
2981   >>  % end PianoStaff context
2982   \new Staff = "PedalOrgan" <<
2983     \new Voice @{
2984       \PedalOrganMusic
2985     @}
2986   >>
2987 >>
2988 @end example
2989
2990 Es ist nicht notwendig, die simultane Konstruktion
2991 @code{<< .. >>} innerhalb des zweiten Manualsystems
2992 und des Pedalsystems zu benutzen, denn sie enthalten
2993 nur eine Stimme.  Andererseits schadet es nichts, sie
2994 zu schreiben, und es ist eine gute Angewohnheit, immer
2995 die spitzen Klammern nach einem @code{\new Staff} zu
2996 schreiben, wenn mehr als eine Stimme vorkommen könnten.
2997 Für Stimmen (@code{Voice}) dagegen gilt genau das
2998 Gegenteil: eine neue Stimme sollte immer von
2999 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3000 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3001 die nacheinander gesetzt werden sollen.
3002
3003 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3004 hinzu und bringen wir die Einzüge in Ordnung.  Gleichzeitig
3005 wollen wir die richtigen Schlüssel setzen und die Richtung der
3006 Hälse und Bögen in den Stimmen des oberen Systems
3007 kontrollieren, indem die obere Stimme ein
3008 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3009 erhält.  Die Taktart und Tonart werden mit unserer fertigen
3010 Variable @code{\keyTime} eingefügt.
3011
3012 @example
3013 \score @{
3014   <<  % PianoStaff and Pedal Staff must be simultaneous
3015     \new PianoStaff <<
3016       \new Staff = "ManualOne" <<
3017         \keyTime  % set time signature and key
3018         \clef "treble"
3019         \new Voice @{
3020           \voiceOne
3021           \ManualOneVoiceOneMusic
3022         @}
3023         \new Voice @{
3024           \voiceTwo
3025           \ManualOneVoiceTwoMusic
3026         @}
3027       >>  % end ManualOne Staff context
3028       \new Staff = "ManualTwo" <<
3029         \keyTime
3030         \clef "bass"
3031         \new Voice @{
3032           \ManualTwoMusic
3033         @}
3034       >>  % end ManualTwo Staff context
3035     >>  % end PianoStaff context
3036     \new Staff = "PedalOrgan" <<
3037       \keyTime
3038       \clef "bass"
3039       \new Voice @{
3040         \PedalOrganMusic
3041       @}
3042     >>  % end PedalOrgan Staff
3043   >>
3044 @}  % end Score context
3045 @end example
3046
3047 @cindex Spreizbarkeit von Systemen
3048 @cindex Dehnung von Systemen, vertikal
3049 @cindex Systeme, vertikales Dehnen
3050
3051 Das Layout des Orgelsystems oben ist fast perfekt, es hat jedoch einen kleinen
3052 Fehler, den man nicht bemerken kann, wenn man nur ein einzelnes System
3053 betrachtet:  Der Abstand des Pedalsystems zum System der linken Hand
3054 sollte in etwa der gleiche sein wie der Abstand zwischen den Systemen
3055 der linken und rechten Hand.  Die Dehnbarkeit von Systemen in einem
3056 Klaviersystem (@code{PianoStaff})-Kontext ist beschränkt (sodass der
3057 Abstand zwischen den Systemen der linken und rechten Hand nicht zu groß
3058 wird), und das Pedalsystem sollte sich genauso verhalten.
3059
3060 @cindex Untereigenschaft
3061 @cindex sub-properties
3062 @cindex graphische Objekte
3063 @cindex Grobs
3064 @cindex Objekte, graphische
3065
3066 Die Spreizbarkeit von Systemen kann mit der @code{staff-staff-spacing}-Eigenschaft
3067 des @code{VerticalAxisGroup}-@qq{graphischen Objekts} (üblicherweise als
3068 @qq{Grob} innerhalb der LilyPond-Dokumentation bezeichnet) kontrolliert
3069 werden.  An dieser Stelle brauchen Sie sich um die Details nicht zu
3070 sorgen, sie werden später erklärt.  Sehr Neugierige können sich den
3071 Abschnitt @ruser{Grundlagen zum Verändern von Eigenschaften} anschauen.  Im Moment
3072 kann man nicht nur die @code{strechability} (Spreizbarkeit)-Untereigenschaft verändern,
3073 darum müssen hier auch die anderen Untereigenschaften kopiert werden.  Die
3074 Standardeinstellungen dieser Untereigenschaften finden sich in der Datei
3075 @file{scm/define-grobs.scm} in den Definitionen für den
3076 @code{VerticalAxisGroup}-Grob.  Der Wert für @code{strechability} wird aus
3077 der Definition für das Klaviersystem (@code{PianoStaff}) entnommen
3078 (in der Datei @file{ly/engraver-init.ly}), damit die Werte identisch
3079 sind.
3080
3081 @example
3082 \score @{
3083   <<  % PianoStaff and Pedal Staff must be simultaneous
3084     \new PianoStaff <<
3085       \new Staff = "ManualOne" <<
3086         \keyTime  % set key and time signature
3087         \clef "treble"
3088         \new Voice @{
3089           \voiceOne
3090           \ManualOneVoiceOneMusic
3091         @}
3092         \new Voice @{
3093           \voiceTwo
3094           \ManualOneVoiceTwoMusic
3095         @}
3096       >>  % end ManualOne Staff context
3097       \new Staff = "ManualTwo" \with @{
3098         \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3099       @} <<
3100         \keyTime
3101         \clef "bass"
3102         \new Voice @{
3103           \ManualTwoMusic
3104         @}
3105       >>  % end ManualTwo Staff context
3106     >>  % end PianoStaff context
3107     \new Staff = "PedalOrgan" <<
3108       \keyTime
3109       \clef "bass"
3110       \new Voice @{
3111         \PedalOrganMusic
3112       @}
3113     >>  % end PedalOrgan Staff
3114   >>
3115 @}  % end Score context
3116 @end example
3117
3118 Damit ist das Grundgerüst fertig.  Jede Orgelmusik mit drei
3119 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3120 in einem System sich ändern kann.  Jetzt müssen wir nur noch
3121 die Noten einfügen und alle Teile zusammenfügen, indem wir
3122 die Variablen mit einem Backslash in die Partitur einbauen.
3123
3124 @lilypond[quote,verbatim,ragged-right,addversion]
3125 \header {
3126   title = "Jesu, meine Freude"
3127   composer = "J S Bach"
3128 }
3129 keyTime = { \key c \minor \time 4/4 }
3130 ManualOneVoiceOneMusic = \relative {
3131   g'4 g f ees |
3132   d2 c2 |
3133 }
3134 ManualOneVoiceTwoMusic = \relative {
3135   ees'16 d ees8~ 16 f ees d c8 d~ d c~ |
3136   8 c4 b8 c8. g16 c b c d |
3137 }
3138 ManualTwoMusic = \relative {
3139   c'16 b c8~ 16 b c g a8 g~ 16 g aes ees |
3140   f16 ees f d g aes g f ees d e8~ 8es16 f ees d |
3141 }
3142 PedalOrganMusic = \relative {
3143   r8 c16 d ees d ees8~ 16 a, b g c b c8 |
3144   r16 g ees f g f g8 c,2 |
3145 }
3146
3147 \score {
3148   <<  % PianoStaff and Pedal Staff must be simultaneous
3149     \new PianoStaff <<
3150       \new Staff = "ManualOne" <<
3151         \keyTime  % set time signature and key
3152         \clef "treble"
3153         \new Voice {
3154           \voiceOne
3155           \ManualOneVoiceOneMusic
3156         }
3157         \new Voice {
3158           \voiceTwo
3159           \ManualOneVoiceTwoMusic
3160         }
3161       >>  % end ManualOne Staff context
3162       \new Staff = "ManualTwo" \with {
3163         \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
3164       } <<
3165         \keyTime
3166         \clef "bass"
3167         \new Voice {
3168           \ManualTwoMusic
3169         }
3170       >>  % end ManualTwo Staff context
3171     >>  % end PianoStaff context
3172     \new Staff = "PedalOrgan" <<
3173       \keyTime
3174       \clef "bass"
3175       \new Voice {
3176         \PedalOrganMusic
3177       }
3178     >>  % end PedalOrgan Staff context
3179   >>
3180 }  % end Score context
3181 @end lilypond
3182
3183 @seealso
3184 Glossar:
3185 @rglos{system}.
3186
3187
3188 @node Úspora psaní na stroji pomocí proměnných a funkcí
3189 @subsection Úspora psaní na stroji pomocí proměnných a funkcí
3190 @translationof Saving typing with variables and functions
3191
3192 @cindex Variablen
3193
3194 Bis jetzt wurde immer derartige Notation vorgestellt:
3195
3196 @lilypond[quote,verbatim,ragged-right]
3197 hornNotes = \relative { c''4 b dis c }
3198
3199 \score {
3200   {
3201     \hornNotes
3202   }
3203 }
3204 @end lilypond
3205
3206 Sie können sich vorstellen, dass das etwa für minimalistische
3207 Musik sehr nützlich sein könnte:
3208
3209 @lilypond[quote,verbatim,ragged-right]
3210 fragmentA = \relative { a'4 a8. b16 }
3211 fragmentB = \relative { a'8. gis16 ees4 }
3212 violin = \new Staff {
3213   \fragmentA \fragmentA |
3214   \fragmentB \fragmentA |
3215 }
3216
3217 \score {
3218   {
3219     \violin
3220   }
3221 }
3222 @end lilypond
3223
3224 Diese Variablen (die man auch als Makros oder Benutzer-Befehl
3225 bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt
3226 werden:
3227
3228 @c TODO Avoid padtext - not needed with skylining
3229 @lilypond[quote,verbatim,ragged-right]
3230 dolce = \markup { \italic \bold dolce }
3231 padText = { \once \override TextScript.padding = #5.0 }
3232 fthenp=_\markup {
3233     \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p
3234 }
3235
3236 violin = \relative {
3237   \repeat volta 2 {
3238     c''4._\dolce b8 a8 g a b
3239     \padText
3240     c4.^"hi there!" d8 e' f g d
3241     c,4.\fthenp b8 c4 c-.
3242   }
3243 }
3244
3245 \score {
3246   {
3247     \violin
3248   }
3249   \layout{ragged-right=##t}
3250 }
3251 @end lilypond
3252
3253 Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen.  Aber es lohnt sich schon, sie zu
3254 benutzen, wenn man sie nur einmal benutzen will, denn sie
3255 vereinfachen die Struktur einer Datei sehr stark.  Hier das
3256 vorige Beispiel ohne jede Benutzung von Variablen.  Es ist
3257 sehr viel schwerer lesbar, besonders die letzte Zeile.
3258
3259 @example
3260 violin = \relative @{
3261   \repeat volta 2 @{
3262     c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b
3263     \once \override TextScript.padding = #5.0
3264     c4.^"hi there!" d8 e' f g d
3265     c,4.\markup @{
3266       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3267     @}
3268     b8 c4 c-. |
3269   @}
3270 @}
3271 @end example
3272
3273 @c TODO Replace the following with a better example  -td
3274 @c Skylining handles this correctly without padText
3275
3276 Bisher haben wir vor allem statische Ersetzungen betrachtet:
3277 wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit
3278 all dem Code, mit dem wir es definiert haben (also alles,
3279 was sich rechts von @code{padtext=} befindet).
3280
3281 LilyPond kann auch nicht-statische Ersetzungen bewältigen.  Man
3282 kann sie sich als Funktionen vorstellen.
3283
3284 @lilypond[quote,verbatim,ragged-right]
3285 padText =
3286 #(define-music-function
3287      (padding)
3288      (number?)
3289    #{
3290      \once \override TextScript.padding = $padding
3291    #})
3292
3293 \relative {
3294   c'''4^"piu mosso" b a b |
3295   \padText #1.8
3296   c4^"piu mosso" d e f |
3297   \padText #2.6
3298   c4^"piu mosso" fis a g |
3299 }
3300 @end lilypond
3301
3302 Die Benutzung von Variablen ist auch eine gute Möglichkeit,
3303 Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
3304 ändern sollte (siehe auch @rprogram{Updating old input files
3305 with convert-ly}).
3306 Wenn man eine einzige Definition hat (wie etwa @code{\dolce}),
3307 die für alle Vorkommen in der Notation eingesetzt wird, muss
3308 man auch nur einmal diese Definition aktualisieren, anstatt
3309 dass man sie in jeder @file{.ly}-Datei einzeln ändern müsste.
3310
3311
3312 @node Notové zápisy a hlasy
3313 @subsection Notové zápisy a hlasy
3314 @translationof Scores and parts
3315
3316 In Orchestermusik werden alle Noten zweimal gedruckt.  Einmal
3317 in einer Stimme für die Spieler, und einmal ein der Partitur
3318 für den Dirigenten.  Variablen können benutzen, um sich doppelte
3319 Arbeit zu ersparen.  Die Noten werden nur einmal eingegeben und
3320 in einer Variable abgelegt.  Der Inhalt der Variable wird dann
3321 benutzt um sowohl die Stimme als auch die Partitur zu erstellen.
3322
3323 Es bietet sich an, die Noten in einer extra Datei abzulegen.
3324 Nehmen wir an, dass die Datei @file{horn-music.ly} folgende
3325 Noten eines Horn/@/Fagott-Duos enthält:
3326
3327 @example
3328 hornNotes = \relative @{
3329   \time 2/4
3330   r4 f8 a | cis4 f | e4 d |
3331 @}
3332 @end example
3333
3334 @noindent
3335 Eine Stimme wird also erstellt, indem man folgendes in eine
3336 Datei schreibt:
3337
3338 @example
3339 \include "horn-music.ly"
3340
3341 \header @{
3342   instrument = "Horn in F"
3343 @}
3344
3345 @{
3346  \transpose f c' \hornNotes
3347 @}
3348 @end example
3349
3350 Die Zeile
3351
3352 @example
3353 \include "horn-music.ly"
3354 @end example
3355
3356 @noindent
3357 ersetzt den Inhalt von @file{horn-music.ly} an dieser Position
3358 in der Datei, sodass @code{hornNotes} im Folgenden definiert
3359 ist.  Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass
3360 das Argument (@code{\hornNotes}) eine Quinte nach oben transponiert
3361 werden soll.  Klingendes @code{f} wird als @code{c'}, wie es
3362 die Stimmung eines normalen F-Hornes verlangt.  Die Transposition
3363 kann in folgender Notenausgabe gesehen werden:
3364
3365 @lilypond[quote,ragged-right]
3366 \transpose f c' \relative {
3367   \time 2/4
3368   r4 f8 a | cis4 f | e4 d |
3369 }
3370 @end lilypond
3371
3372 In Ensemblestücken sind manche Stimmen für viele Takte stumm.
3373 Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
3374 Sie wird mit einem großen @code{R} notiert, gefolgt von der
3375 Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}für eine Halbe usw.).  Indem man die Dauern multipliziert, kann man auch
3376 längere Dauern erzeugen.  Diese Pause etwa dauert drei Takte
3377 in einem 2/4-Takt:
3378
3379 @example
3380 R2*3
3381 @end example
3382
3383 Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert.  Das geschieht, indem man folgendes in die Datei
3384 schreibt:
3385
3386 @example
3387 \set Score.skipBars = ##t
3388 @end example
3389
3390 @noindent
3391 Dieser Befehl setzt die Eigenschaft @code{skipBars} im
3392 @code{Score}-Kontext auf wahr (@code{##t}).  Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
3393 Beispiel:
3394
3395 @lilypond[quote,ragged-right]
3396 \transpose f c' \relative {
3397   \time 2/4
3398   \set Score.skipBars = ##t
3399   R2*3 |
3400   r4 f8 a | cis4 f | e4 d |
3401 }
3402 @end lilypond
3403
3404 Die Partitur wird erstellt, indem man alle Noten kombiniert.
3405 Angenommen, die andere Stimme ist in @code{bassoonNotes}
3406 in der Datei @file{bassoon-music.ly} definiert, würde eine
3407 Partitur erstellt mit:
3408
3409 @example
3410 \include "bassoon-music.ly"
3411 \include "horn-music.ly"
3412
3413 <<
3414   \new Staff \hornNotes
3415   \new Staff \bassoonNotes
3416 >>
3417 @end example
3418
3419 @noindent
3420 woraus sich ergibt:
3421
3422 @lilypond[quote,ragged-right]
3423 \relative <<
3424   \new Staff {
3425     \clef "treble"
3426     \time 2/4
3427     R2*3 |
3428     r4 f8 a | cis4 f | e4 d |
3429   }
3430   \new Staff {
3431     \clef "bass"
3432     \time 2/4
3433     r4 d,8 f | gis4 c | b4 bes |
3434     a8 e f4 | g4 d | gis4 f |
3435   }
3436 >>
3437 @end lilypond