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