]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/cs/learning/fundamental.itely
Doc-cs. Partial translation of fundamental.itely.
[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.13.42"
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 * Souvislosti 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{Souvislosti a rytci,,souvislosti 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í kousků 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římé 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 Zum Schluss wollen wir die Stimmen in einem etwas komplizierteren Stück
872 analysieren.  Hier die Noten der ersten zwei Takte von Chopins
873 @notation{Deux Nocturnes}, Op. 32.  Dieses Beispiel soll später in diesem
874 und dem nächsten Kapitel benutzt werden, um verschiedene Techniken,
875 Notation zu erstellen, zu demonstrieren.  Ignorieren Sie deshalb an diesem
876 Punkt alles in folgendem Code, das Ihnen seltsam vorkommt, und konzentrieren
877 Sie sich auf die Noten und die Stimmen.  Die komplizierten Dinge werden
878 in späteren Abschnitten erklärt werden.
879
880 @c The following should appear as music without code
881 @lilypond[quote,ragged-right]
882 \new Staff \relative c'' {
883   \key aes \major
884   <<  % Voice one
885     { c2 aes4. bes8 }
886   \\  % Voice two
887     { aes2 f4 fes }
888   \\  % No voice three
889   \\  % Voice four
890     {
891       % Ignore these for now - they are explained in Ch 4
892       \once \override NoteColumn #'force-hshift = #0
893       <ees c>2
894       \once \override NoteColumn #'force-hshift = #0.5
895       des2
896     }
897   >> |
898   <c ees aes c>1 |
899 }
900 @end lilypond
901
902 Die Richtung der Hälse wird  oft benutzt, um anzuzeigen, dass zwei
903 gleichzeitige Melodien sich fortsetzen.  Hier zeigen die Hälse aller
904 oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
905 Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt
906 wird.
907
908 Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
909 dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
910 unterschiedliche Dauern besitzen.  Schauen Sie sich die Noten
911 auf dem dritten Schlag im ersten Takt an.  Das As ist eine punktierte
912 Viertel, das F ist eine Viertel und das Des eine Halbe.  Sie können
913 nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
914 besitzen die gleiche Dauer.  Sie können aber auch nicht nacheinander
915 geschrieben werden, denn sie beginnen auf der gleichen Taktzeit.  Dieser
916 Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
917 drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
918 hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
919 eingesetzt.  Noch einmal: der Quellcode für dieses Beispiel wird später
920 erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht
921 verstehen können.
922
923 @c The following should appear as music without code
924 @c The three voice styles should be defined in -init
925 @lilypond[quote,ragged-right]
926 \new Staff \relative c'' {
927   \key aes \major
928   <<
929     {  % Voice one
930       \voiceOneStyle
931       c2 aes4. bes8
932     }
933   \\  % Voice two
934     { \voiceTwoStyle
935       aes2 f4 fes
936     }
937   \\  % No Voice three (we want stems down)
938   \\  % Voice four
939     { \voiceThreeStyle
940       % Ignore these for now - they are explained in Ch 4
941       \once \override NoteColumn #'force-hshift = #0
942       <ees c>2
943       \once \override NoteColumn #'force-hshift = #0.5
944       des2
945     }
946   >>
947   <c ees aes c>1
948 }
949 @end lilypond
950
951 Versuchen wir also, diese Musik selber zu notieren.  Wie wir sehen
952 werden, beinhaltet das einige Schwierigkeiten.  Fangen wir an, wie
953 wir es gelernt haben, indem wir mit der @code{<< \\  >>}-Konstruktion
954 die drei Stimmen des ersten Taktes notieren:
955
956 @lilypond[quote,verbatim,ragged-right]
957 \new Staff \relative c'' {
958   \key aes \major
959   <<
960     { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des }
961   >> |
962   <c ees aes c>1 |
963 }
964 @end lilypond
965
966 @cindex Hals nach unten
967 @cindex Hals nach oben
968 @cindex Notenhals, Richtung
969 @cindex Richtung des Notenhalses
970 @cindex Notenhalsrichtung
971 @cindex Stimmen und Notenhalsrichtung
972 @cindex Notenhalsrichtung in Stimmen
973
974 Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
975 Stimmen tragen Hälse nach oben, die gerade Hälse nach unten.  Die Hälse
976 für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
977 sollen in diesem Beispiel eigentlich nach unten zeigen.  Wir können das
978 korrigieren, indem wir die dritte Stimme einfach auslassen und die
979 Noten in die vierte Stimme verschieben.  Das wird einfach vorgenommen,
980 indem noch ein Paar @code{\\}-Stimmen hinzugefügt wird.
981
982 @lilypond[quote,verbatim,ragged-right]
983 \new Staff \relative c'' {
984   \key aes \major
985   <<  % Voice one
986     { c2 aes4. bes8 }
987   \\  % Voice two
988     { aes2 f4 fes }
989   \\  % Omit Voice three
990   \\  % Voice four
991     { <ees c>2 des }
992   >> |
993   <c ees aes c>1 |
994 }
995 @end lilypond
996
997 @noindent
998 Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
999 anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
1000 Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
1001 LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
1002 vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
1003 Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
1004 so, dass Zusammenstöße möglichst vermieden werden.  Das funktioniert
1005 gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
1006 Stimme eindeutig standardmäßig schlecht positioniert.  LilyPond bietet
1007 verschiedene Möglichkeiten, die horizontale Position von Noten
1008 anzupassen.  Wir sind aber noch nicht so weit, dass wir diese Funktionen
1009 anwenden könnten.  Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in
1010 @ref{Überlappende Notation in Ordnung bringen}.
1011
1012
1013 @seealso
1014 Notationsreferenz: @ruser{Mehrere Stimmen}.
1015
1016
1017 @node Přímé začátky hlasů
1018 @subsection Přímé začátky hlasů
1019 @translationof Explicitly instantiating voices
1020
1021 @funindex \voiceOne
1022 @funindex voiceOne
1023 @funindex \voiceTwo
1024 @funindex voiceTwo
1025 @funindex \voiceThree
1026 @funindex voiceThree
1027 @funindex \voiceFour
1028 @funindex voiceFour
1029 @funindex \oneVoice
1030 @funindex oneVoice
1031 @funindex \new Voice
1032 @cindex Voice context, erstellen von
1033 @cindex Stimmenkontexte, erstellen von
1034
1035 Voice-Kontexte können auch manuell innerhalb
1036 eines @code{<< >>}-Abschnittes initiiert werden.  Mit den Befehlen
1037 @code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme
1038 entsprechendes Verhalten von vertikaler Verschiebung und Richtung
1039 von Hälsen und anderen Objekten hinzugefügt werden.  In längeren
1040 Partituren können die Stimmen damit besser auseinander gehalten
1041 werden.
1042
1043 Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
1044 verwendet haben:
1045
1046 @example
1047 \new Staff @{
1048   \relative c' @{
1049     << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1050   @}
1051 @}
1052 @end example
1053
1054 @noindent
1055 ist identisch mit
1056
1057 @example
1058 \new Staff <<
1059   \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1060   \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1061 >>
1062 @end example
1063
1064 Beide würden folgendes Notenbild erzeugen:
1065
1066 @c The following example should not display the code
1067 @lilypond[ragged-right,quote]
1068 \new Staff <<
1069   \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1070   \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1071 >>
1072 @end lilypond
1073
1074 @cindex Stimmen, mehrere zu einer zusammenführen
1075 @cindex eine Stimme wiederherstellen
1076
1077 Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen,
1078 Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
1079 @code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
1080 nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
1081 dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
1082 horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
1083 zu vermeiden.  Der Befehl
1084 @code{\oneVoice} stellt wieder auf das normale Verhalten um.
1085
1086 Schauen wir uns in einigen einfachen Beispielen an, was genau
1087 die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
1088 mit Text, Bögen und Dynamikbezeichnung anstellen:
1089
1090 @lilypond[quote,ragged-right,verbatim]
1091 \relative c' {
1092   % Default behavior or behavior after \oneVoice
1093   c4 d8~ d e4( f | g4 a) b-> c |
1094 }
1095 @end lilypond
1096
1097 @lilypond[quote,ragged-right,verbatim]
1098 \relative c' {
1099   \voiceOne
1100   c4 d8~ d e4( f | g4 a) b-> c |
1101   \oneVoice
1102   c,4 d8~ d e4( f | g4 a) b-> c |
1103 }
1104 @end lilypond
1105
1106 @lilypond[quote,ragged-right,verbatim]
1107 \relative c' {
1108   \voiceTwo
1109   c4 d8~ d e4( f | g4 a) b-> c |
1110   \oneVoice
1111   c,4 d8~ d e4( f | g4 a) b-> c |
1112 }
1113 @end lilypond
1114
1115 Schauen wir und nun drei unterschiedliche Arten an, den gleichen
1116 Abschnitt polyphoner Musik zu notieren, jede Art mit ihren
1117 Vorteilen in unterschiedlichen Situationen.  Wir benutzen dabei
1118 das Beispiel vom vorherigen Abschnitt.
1119
1120 Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung
1121 auftritt, gehört der Hauptstimme an.  Das ist nützlich, wenn zusätzliche
1122 Stimme auftreten, während die Hauptstimme sich fortsetzt.  Hier also
1123 eine bessere Version des Beispiels aus dem vorigen Abschnitt.  Die
1124 farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in
1125 einem einzigen Stimmen (@code{voice})-Kontext befindet.  Somit kann ein
1126 Phrasierungsbogen ober sie gesetzt werden.
1127
1128 @lilypond[quote,ragged-right,verbatim]
1129 \new Staff \relative c' {
1130   \voiceOneStyle
1131   % The following notes are monophonic
1132   c16^( d e f
1133   % Start simultaneous section of three voices
1134   <<
1135     % Continue the main voice in parallel
1136     { g4 f e | d2 e) | }
1137     % Initiate second voice
1138     \new Voice {
1139       % Set stems, etc., down
1140       \voiceTwo
1141       r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1142     }
1143     % Initiate third voice
1144     \new Voice {
1145       % Set stems, etc, up
1146       \voiceThree
1147       s2. | s4 b4 c2 |
1148     }
1149   >>
1150 }
1151 @end lilypond
1152
1153 @cindex Verschachteln von musikalischen Ausdrücken
1154 @cindex Verschachteln von gleichzeitigen Ausdrücken
1155 @cindex Ausdrücke, Verschachteln von
1156 @cindex Stimmen, temporär
1157 @cindex Stimmen, Verschachteln von
1158 @cindex Verschachteln von Stimmen
1159 @cindex temporäre Stimmen
1160
1161 Tiefer verschachtelte polyphone Konstrukte sind möglich, und
1162 wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
1163 sein, Noten zu setzen:
1164
1165 @lilypond[quote,ragged-right,verbatim]
1166 \new Staff \relative c' {
1167   c16^( d e f
1168   <<
1169     { g4 f e | d2 e2) | }
1170     \new Voice {
1171       \voiceTwo
1172       r8 e4 d c8~
1173       <<
1174         { c8 b16 a b8 g~ g2 | }
1175         \new Voice {
1176           \voiceThree
1177           s4 b4 c2 |
1178         }
1179       >>
1180     }
1181   >>
1182 }
1183 @end lilypond
1184
1185 @cindex Platzhalternoten
1186 @cindex unsichtbare Noten
1187 @cindex Noten verstecken
1188
1189 Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
1190 an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind.  Wenn
1191 aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
1192 unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
1193 Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
1194 an denen die Stimme nicht auftaucht, wie etwa hier:
1195
1196 @lilypond[quote,ragged-right,verbatim]
1197 \new Staff \relative c' <<
1198   % Initiate first voice
1199   \new Voice {
1200     \voiceOne
1201     c16^( d e f g4 f e | d2 e) |
1202   }
1203   % Initiate second voice
1204   \new Voice {
1205     % Set stems, etc, down
1206     \voiceTwo
1207     s4 r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
1208   }
1209   % Initiate third voice
1210   \new Voice {
1211     % Set stems, etc, up
1212     \voiceThree
1213     s1 | s4 b c2 |
1214   }
1215 >>
1216 @end lilypond
1217
1218 @subsubheading Notenkolumnen
1219
1220 @cindex Notenkolumne
1221 @cindex Notenkollision
1222 @cindex Zusammenstöße von Noten
1223 @cindex Kollisionen von Noten
1224 @cindex Vertikale Position
1225 @cindex shift-Befehle
1226 @cindex Verschieben von Noten
1227 @funindex \shiftOff
1228 @funindex \shiftOn
1229 @funindex \shiftOnn
1230 @funindex \shiftOnnn
1231 @funindex shiftOff
1232 @funindex shiftOn
1233 @funindex shiftOnn
1234 @funindex shiftOnnn
1235
1236 Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
1237 Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
1238 auch mehreren Kolumnen gesetzt, um die Noten am Überschneiden zu
1239 hindern.  Wir bezeichnen sie als Notenkolumnen.  Jede Stimme hat
1240 eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
1241 shift) wird eingesetzt, wenn eine Kollision auftreten könnte.
1242 Das zeigt das Beispiel oben.  Im zweiten Takt wird das C der zweiten
1243 Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
1244 und im letzten Akkord wird das C der dritten Stimme auch nach
1245 rechts verschoben im Verhältnis zu den anderen Stimmen.
1246
1247 Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
1248 @code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
1249 verschoben werden sollen, wenn sich sonst eine Kollision nicht
1250 vermeiden ließe.  Die Standardeinstellung ist, dass die äußeren
1251 Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
1252 eingestellt haben, während für die inneren Stimmen (3 und 4)
1253 @code{\shiftOn} eingeschaltet ist.  Wenn eine Verschiebung
1254 auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
1255 nach links verschoben.
1256
1257 @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
1258 Verschiebungsebenen, die man kurzzeitig anwählen kann, um
1259 Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
1260 @ref{Beispiele aus dem Leben}.
1261
1262 Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
1263 einer Stimme mit Hälsen nach oben und eine Note (oder einen
1264 Akkord) von einer Stimme mit Hälsen nach unten tragen.  Wenn
1265 Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
1266 an der selben Stelle auftreten und in beiden Stimmen ist
1267 keine Verschiebung oder die gleiche Verschiebungsebene
1268 definiert, wird die Fehlermeldung
1269 @qq{zu viele kollidierende Notenspalten werden ignoriert}
1270 ausgegeben.
1271
1272
1273 @seealso
1274 Notationsreferenz: @ruser{Mehrere Stimmen}.
1275
1276
1277 @node Hlasy a zpěvy
1278 @subsection Hlasy a zpěvy
1279 @translationof Voices and vocals
1280
1281 Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
1282 die Kombination von zwei Ausdrücken: den Noten und dem Text.
1283 Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
1284
1285
1286 @funindex \new Lyrics
1287 @funindex \lyricsto
1288 @funindex lyricsto
1289 @funindex Lyrics
1290 @cindex Lyrics context, erstellen
1291 @cindex Gesangtext, Verbindung mit Noten
1292
1293 Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
1294 mit dem einfache Partituren gut erstellt werden können.
1295 Diese Methode ist jedoch recht eingeschränkt.  Wenn der Notensatz
1296 komplexer wird, muss der Gesangstext mit einem neuen
1297 @code{Lyrics}-Kontext begonnen werden (mit dem Befehl
1298 @code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
1299 mit einer bestimmten Stimme verknüpft werden, indem die
1300 Bezeichnung der Stimme benutzt wird.
1301
1302 @lilypond[quote,verbatim]
1303 <<
1304   \new Voice = "one" {
1305     \relative c'' {
1306       \autoBeamOff
1307       \time 2/4
1308       c4 b8. a16 | g4. f8 | e4 d | c2 |
1309     }
1310   }
1311   \new Lyrics \lyricsto "one" {
1312     No more let | sins and | sor -- rows | grow. |
1313   }
1314 >>
1315 @end lilypond
1316
1317 Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
1318 verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
1319 In diesem Fall also müssen Sie ein System (@code{Staff}) und
1320 eine Stimme (@code{Voice}) explizit erstellen, damit alles
1321 funktioniert.
1322
1323 @cindex Gesangstext und Balken
1324 @cindex Text und Balken
1325 @cindex Balken und Text
1326 @funindex \autoBeamOff
1327 @funindex autoBeamOff
1328
1329 Die automatischen Balken, die LilyPond in der Standardeinstellung
1330 setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
1331 so gut für Musik mit Text, wo man entweder gar keine Balken
1332 benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
1333 Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
1334 eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
1335
1336 @funindex \new ChoirStaff
1337 @funindex \lyricmode
1338 @funindex ChoirStaff
1339 @funindex lyricmode
1340 @cindex Vokalpartitur, Aufbau
1341 @cindex Chorpartitur, Aufbau
1342
1343 Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
1344 benutzen, um diese flexiblere Technik für Gesangstexte
1345 zu illustrieren.  Das Beispiel wurde so umgeformt, dass jetzt
1346 Variablen eingesetzt werden, um den Text und die Noten
1347 von der Partiturstruktur zu trennen.  Es wurde zusätzlich
1348 eine Chorpartiturklammer hinzugefügt.  Der Gesangtext muss mit
1349 @code{\lyricmode} eingegeben werden, damit er als Text und
1350 nicht als Noten interpretiert werden kann.
1351
1352 @lilypond[quote,verbatim]
1353 global = { \key f \major \time 6/8 \partial 8 }
1354
1355 SopOneMusic = \relative c'' {
1356   c8 | c8([ bes)] a a([ g)] f | f'4. b, | c4.~ c4
1357 }
1358 SopOneLyrics = \lyricmode {
1359   Let | flee -- cy flocks the | hills a -- dorn, __
1360 }
1361 SopTwoMusic = \relative c' {
1362   r8 | r4. r4 c8 | a'8([ g)] f f([ e)] d | e8([ d)] c bes'
1363 }
1364 SopTwoLyrics = \lyricmode {
1365   Let | flee -- cy flocks the | hills a -- dorn,
1366 }
1367
1368 \score {
1369   \new ChoirStaff <<
1370     \new Staff <<
1371       \new Voice = "SopOne" {
1372         \global
1373         \SopOneMusic
1374       }
1375       \new Lyrics \lyricsto "SopOne" {
1376         \SopOneLyrics
1377       }
1378     >>
1379     \new Staff <<
1380       \new Voice = "SopTwo" {
1381         \global
1382         \SopTwoMusic
1383       }
1384       \new Lyrics \lyricsto "SopTwo" {
1385         \SopTwoLyrics
1386       }
1387     >>
1388   >>
1389 }
1390 @end lilypond
1391
1392 Dies ist die Grundstruktur für alle Chorpartituren.  Mehr
1393 Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
1394 Stimmen können zu jedem System hinzugefügt werden, mehr
1395 Strophen können zum Text hinzugefügt werden, und schließlich
1396 können die Variablen schnell in eine eigene Datei verschoben
1397 werden, wenn sie zu lang werden sollten.
1398
1399 @cindex Choralnotation
1400 @cindex Hymnus-Notation
1401 @cindex SATB-Partitur
1402 @cindex mehrere Strophen
1403 @cindex Strophen, mehrere
1404 @cindex Choral mit mehreren Strophen
1405
1406 Hier ein Beispiel der ersten Zeile eines Chorals mit vier
1407 Strophen für gemischten Chor.  In diesem Fall ist der Text
1408 für alle vier Stimmen identisch.  Beachten Sie, wie die
1409 Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
1410 (die Partitur) voneinander zu trennen.  Eine Variable wurde
1411 eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
1412 aufzunehmen, nämlich Taktart und Tonart.  Solch eine
1413 Variable wird oft auch mit @qq{global} bezeichnet.
1414
1415 @lilypond[quote,verbatim]
1416 keyTime = { \key c \major \time 4/4 \partial 4 }
1417
1418 SopMusic   = \relative c' { c4 | e4. e8 g4  g    | a4   a   g  }
1419 AltoMusic  = \relative c' { c4 | c4. c8 e4  e    | f4   f   e  }
1420 TenorMusic = \relative c  { e4 | g4. g8 c4.   b8 | a8 b c d e4 }
1421 BassMusic  = \relative c  { c4 | c4. c8 c4  c    | f8 g a b c4 }
1422
1423 VerseOne =
1424   \lyricmode { E -- | ter -- nal fa -- ther, | strong to save, }
1425 VerseTwo   =
1426   \lyricmode { O | Christ, whose voice the | wa -- ters heard, }
1427 VerseThree =
1428   \lyricmode { O | Ho -- ly Spi -- rit, | who didst brood }
1429 VerseFour  =
1430   \lyricmode { O | Tri -- ni -- ty of | love and pow'r }
1431
1432 \score {
1433   \new ChoirStaff <<
1434     \new Staff <<
1435       \clef "treble"
1436       \new Voice = "Sop"  { \voiceOne \keyTime \SopMusic }
1437       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1438       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1439       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1440       \new Lyrics \lyricsto "Sop" { \VerseThree }
1441       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1442     >>
1443     \new Staff <<
1444       \clef "bass"
1445       \new Voice = "Tenor" { \voiceOne \keyTime \TenorMusic }
1446       \new Voice = "Bass"  { \voiceTwo \BassMusic }
1447     >>
1448   >>
1449 }
1450 @end lilypond
1451
1452
1453 @seealso
1454 Notation Reference: @ruser{Notation von Gesang}.
1455
1456
1457 @node Souvislosti a rytci
1458 @section Souvislosti a rytci
1459 @translationof Contexts and engravers
1460
1461 Souvislosti a rytci (@qq{Stempel}) sind in den vorherigen
1462 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1463 nun etwas ausführlicher widmen, denn sie sind sehr
1464 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1465 vornehmen zu können.
1466
1467 @menu
1468 * Vysvětlení souvislostí::
1469 * Vytvoření souvislostí::
1470 * Vysvětlení rytců::
1471 * Změna souvisejících vlastností::
1472 * Přidání a odstranění rytců::
1473 @end menu
1474
1475 @node Vysvětlení souvislostí
1476 @subsection Vysvětlení souvislostí
1477 @translationof Contexts explained
1478
1479 @cindex Kontexte erklärt
1480
1481 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1482 hinzugefügt werden,
1483 die im Quellcode gar nicht explizit vorkommen.  Vergleichen Sie
1484 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1485
1486 @lilypond[quote,verbatim,relative=2]
1487 cis4 cis2. | a4 a2. |
1488 @end lilypond
1489
1490 Der Quellcode ist sehr kurz und knapp, während in der
1491 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1492 eine Taktart hinzugefügt wurden.  Während LilyPond
1493 den Eingabetext @emph{interpretiert}, wird die
1494 musikalische Information von rechts nach links gelesen,
1495 in etwa, wie man eine Partitur von links nach
1496 rechts liest.  Während das Programm den Code liest,
1497 merkt es sich, wo sich Taktgrenzen befinden und
1498 für welche Tonhöhen Versetzungszeichen gesetzt werden
1499 müssen.  Diese Information muss auf mehreren Ebenen
1500 gehandhabt werden, denn Versetzungszeichen etwa
1501 beziehen sich nur auf ein System, Taktlinien dagegen
1502 üblicherweise auf die gesamte Partitur.
1503
1504 Innerhalb von LilyPond sind diese Regeln und
1505 Informationshappen in @emph{Kontexten} (engl.
1506 contexts) gruppiert.  Der @code{Voice} (Stimmen)-Kontext
1507 wurde schon vorgestellt.  Daneben
1508 gibt es noch die @code{Staff} (Notensystem-) und
1509 @code{Score} (Partitur)-Kontexte.  Kontexte sind
1510 hierarchisch geschichtet um die hierarchische
1511 Struktur einer Partitur zu spiegeln.  Ein @code{Staff}-Kontext
1512 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1513 und ein @code{Score}-Kontext kann viele
1514 @code{Staff}-Kontexte beinhalten.
1515
1516 @quotation
1517 @sourceimage{context-example,5cm,,}
1518 @end quotation
1519
1520 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1521 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1522 verbundene Elemente zu ordnen.  Der @code{Voice}-Kontext
1523 zum Beispiel kann eine Vorzeichenregel einführen und der
1524 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1525 einzuordnen, ob ein Versetzungszeichen gesetzt werden
1526 muss oder nicht.
1527
1528 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1529 standardmäßig im @code{Score}-Kontext verankert.  Manchmal sollen
1530 die Systeme einer Partitur aber unterschiedliche Taktarten
1531 enthalten, etwa in einer polymetrischen Partitur mit
1532 4/4- und 3/4-Takt.  In diesem Fall müssen also die Standardeinstellungen
1533 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1534
1535 In einfachen Partituren werden die Kontexte implizit erstellt,
1536 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1537 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1538 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1539 dass man auch wirklich die erwünschte Zahl an Systemen in der
1540 richtigen Reihenfolge erhält.  Wenn Stücke mit spezialisierter
1541 Notation gesetzt werden sollen, ist es üblich, die existierenden
1542 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1543
1544 Zusätzlich zu den @code{Score,} @code{Staff} und
1545 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1546 der Partitur- und Systemebene liegen und Gruppen von Systemen
1547 kontrollieren.  Das sind beispielsweise der
1548 @code{PianoStaff} und @code{ChoirStaff}-Kontext.  Es gibt zusätzlich
1549 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1550 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1551
1552 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1553 englischen
1554 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1555 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1556 angeschlossen, etwa
1557 @code{GregorianTranscriptionStaff}.
1558
1559
1560 @seealso
1561 Notationreferenz: @ruser{Vysvětlení souvislostí}.
1562
1563
1564 @node Vytvoření souvislostí
1565 @subsection Vytvoření souvislostí
1566 @translationof Creating contexts
1567
1568 @funindex \new
1569 @funindex new
1570 @cindex Neue Kontexte
1571 @cindex Erstellen von Kontexten
1572 @cindex Kontexte, Erstellen
1573
1574 In einer Eingabedatei enthält eine @code{Score}-Umgebung (einen
1575 Kontext), die mit
1576 dem Befehl @code{\score} eingeleitet wird, nur einen einzigen
1577 musikalischen Ausdruck und mit ihm verknüpft eine Ausgabedefinition
1578 (entweder eine @code{\layout}- oder eine @code{\midi}-Umgebung).
1579 Üblicherweise wird der @code{Score}-Kontext automatisch von
1580 LilyPond erstellt, wenn der musikalische Ausdruck interpretiert
1581 wird.
1582
1583 Wenn nur ein System vorhanden ist, kann man es ruhig
1584 LilyPond überlassen, auch die @code{Voice}- und @code{Staff}-Kontexte
1585 zu erstellen, aber für komplexere Partituren ist es notwendig,
1586 sie mit einem Befehl zu erstellen.  Der einfachste Befehl
1587 hierzu ist @code{\new}.  Er wird dem musikalischen Ausdruck
1588 vorangestellt, etwa so:
1589
1590 @example
1591 \new @var{Typ} @var{musikalischer Ausdruck}
1592 @end example
1593
1594 @noindent
1595 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1596 @code{Voice}) ist.  Dieser Befehl erstellt einen neuen Kontext und
1597 beginnt, den @var{muskalischen Ausdruck} innerhalb dieses
1598 Kontexts auszuwerten.
1599
1600 @warning{Der @bs{}@code{new Score}-Befehl sollte nicht benutzt werden,
1601 weil der Partitur-(Score)-Kontext der obersten Ebene
1602 normalerweise automatisch erstellt wird, wenn der musikalische Ausdruck
1603 innerhalb der @code{\score}-Umgebung interpretiert wird.  Standard-Werte
1604 von Kontexteigenschaften, die für einen bestimmten @code{Score} gelten
1605 sollen, können innerhalb der @bs{}@code{layout}-Umgebung definiert werden.
1606 Siehe @ref{Změna souvisejících vlastností,,změnu souvisejících vlastností}.}
1607
1608 Wir haben schon viele explizite Beispiel gesehen, in denen
1609 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1610 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1611 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1612
1613 @lilypond[quote,verbatim,ragged-right]
1614 \score {  % start of single compound music expression
1615   <<  % start of simultaneous staves section
1616     \time 2/4
1617     \new Staff {  % create RH staff
1618       \clef "treble"
1619       \key g \minor
1620       \new Voice {  % create voice for RH notes
1621         \relative c'' {  % start of RH notes
1622           d4 ees16 c8.
1623           d4 ees16 c8.
1624         }  % end of RH notes
1625       }  % end of RH voice
1626     }  % end of RH staff
1627     \new Staff <<  % create LH staff; needs two simultaneous voices
1628       \clef "bass"
1629       \key g \minor
1630       \new Voice {  % create LH voice one
1631         \voiceOne
1632         \relative g {  % start of LH voice one notes
1633           g8 <bes d> ees, <g c>
1634           g8 <bes d> ees, <g c>
1635         }  % end of LH voice one notes
1636       }  % end of LH voice one
1637       \new Voice {  % create LH voice two
1638         \voiceTwo
1639         \relative g {  % start of LH voice two notes
1640           g4 ees
1641           g4 ees
1642         }  % end of LH voice two notes
1643       }  % end of LH voice two
1644     >>  % end of LH staff
1645   >>  % end of simultaneous staves section
1646 }  % end of single compound music expression
1647 @end lilypond
1648
1649 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1650 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1651 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1652 jeweils zwei Leerzeichen, und die entsprechenden
1653 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1654 eingerückt werden.  Dies ist nicht erforderlich, es wird aber
1655 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1656 eliminieren und ist darum sehr empfohlen.  Es macht es
1657 möglich, die Struktur einer Partitur auf einen Blick zu
1658 verstehen, und alle nicht passenden Klammern
1659 erschließen sich schnell.  Beachten Sie auch, dass das
1660 untere Notensystem mit eckigen Klammern erstellt wird,
1661 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1662 um die Noten darzustellen.  Das obere System braucht
1663 nur einen einzigen musikalischen Ausdruck und ist deshalb
1664 von geschweiften Klammern umschlossen.)
1665
1666 @cindex Kontexte, Benennung
1667 @cindex Benennung von Kontexten
1668
1669 Der @code{\new}-Befehl kann einem Kontext auch einen
1670 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1671 selben Typs zu unterscheiden:
1672
1673 @example
1674 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1675 @end example
1676
1677 Beachten Sie den Unterschied zwischen der Bezeichnung des
1678 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1679 Namen, der aus beliebigen Buchstaben bestehen kann
1680 und vom Benutzer frei erfunden werden kann.  Zahlen und
1681 Leerzeichen können auch benutzt werden, in dem Fall
1682 muss der Name aber von doppelten Anführungszeichen
1683 umgeben werden, also etwa
1684 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1685 Der Name wird
1686 benutzt, um später auf genau diesen spezifischen Kontext
1687 zu verweisen.  Dieses Vorgehen wurde schon in dem Abschnitt
1688 zu Gesangstexten angewandt, siehe @ref{Hlasy a zpěvy,,hlasy a zpěvy}.
1689
1690
1691 @seealso
1692 Notationsreferenz: @ruser{Vytvoření souvislostí}.
1693
1694
1695 @node Vysvětlení rytců
1696 @subsection Vysvětlení rytců
1697 @translationof Engravers explained
1698
1699 @cindex Engraver
1700 @cindex Stempel (Engraver)
1701
1702 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1703 von einem @code{Engraver} (Stempel) produziert.  Es gibt
1704 also einen Engraver, der die Systeme erstellt, einen, der die
1705 Notenköpfe ausgibt, einen für die Hälse, einen für die
1706 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1707 Glück braucht man für die meisten Partituren nur ein
1708 paar Engraver, und für einfache Partituren muss man eigentlich
1709 überhaupt nichts über sie wissen.
1710
1711 Engraver leben und wirken aus den Kontexten heraus.  Engraver
1712 wie der @code{Metronome_mark_engraver}, dessen Aktion
1713 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1714 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1715
1716 Der @code{Clef_engraver} (Schlüssel-Stempel) und der
1717 @code{Key_engraver} (Vorzeichen-Stempel)  finden sich in
1718 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1719 könnten unterschiedliche Tonarten und Notenschlüssel
1720 brauchen.
1721
1722 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1723 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1724 @code{Voice}-Kontext, der untersten Kontextebene.
1725
1726 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1727 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1728 dieser Funktion.  Diese Eigenschaften, wie etwa die Eigenschaften,
1729 die mit Kontexten assoziiert sind, können verändert werden,
1730 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1731 der von ihm produzierten Elemente in der Partitur zu ändern.
1732
1733 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1734 den (englischen) Wörtern ihrer Funktionsweise bestehen.  Nur
1735 das erste Wort hat einen Großbuchstaben, und die restlichen
1736 Wörter werden mit einem Unterstrich angefügt.  Ein
1737 @code{Staff_symbol_engraver}  verantwortet also die Erstellung
1738 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1739 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1740 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1741
1742 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1743 Sie werden sehen, dass es mit etwas Englischkenntnissen
1744 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1745 abzuleiten.
1746
1747 @multitable @columnfractions .3 .7
1748 @headitem Engraver
1749   @tab Funktion
1750 @item Accidental_engraver
1751   @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1752 @item Beam_engraver
1753   @tab Erstellt Balken.
1754 @item Clef_engraver
1755   @tab Erstellt Notenschlüssel.
1756 @item Completion_heads_engraver
1757   @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1758 @c The old Dynamic_engraver is deprecated. -jm
1759 @item New_dynamic_engraver
1760   @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1761 @item Forbid_line_break_engraver
1762   @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1763 @item Key_engraver
1764   @tab Erstellt die Vorzeichen.
1765 @item Metronome_mark_engraver
1766   @tab Erstellt Metronom-Bezeichnungen.
1767 @item Note_heads_engraver
1768   @tab Erstellt Notenköpfe.
1769 @item Rest_engraver
1770   @tab Erstellt Pausen.
1771 @item Staff_symbol_engraver
1772   @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1773 @item Stem_engraver
1774   @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1775 @item Time_signature_engraver
1776   @tab Erstellt die Taktartbezeichnung.
1777 @end multitable
1778
1779 @smallspace
1780
1781 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1782 verändert werden kann, indem die Wirkungsweise der
1783 Engraver beeinflusst wird.
1784
1785
1786 @seealso
1787 Referenz der Interna: @rinternals{Engravers and Performers}.
1788
1789
1790 @node Změna souvisejících vlastností
1791 @subsection Změna souvisejících vlastností
1792 @translationof Modifying context properties
1793
1794 @cindex Kontext-Eigenschaften, Verändern
1795 @cindex Eigenschaften von Kontexten
1796 @cindex Verändern von Kontext-Eigenschaften
1797 @funindex \set
1798 @funindex \unset
1799 @funindex set
1800 @funindex unset
1801
1802 Kontexte sind dafür verantwortlich, die Werte bestimmter
1803 Kontext-@emph{Eigenschaften} zu speichern.  Viele davon
1804 können verändert werden, um die Interpretation der
1805 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1806 Kontexte werden mit dem @code{\set}-Befehl geändert.
1807 Er wird in Form
1808
1809 @example
1810 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1811 @end example
1812
1813 @noindent
1814 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1815 @code{Score},
1816 @code{Staff} oder @code{Voice} ist.  Der erste Teil kann auch
1817 ausgelassen werden; in diesem Fall wird der aktuelle
1818 Kontext (üblicherweise @code{Voice}) eingesetzt.
1819
1820 Die Bezeichnung von Kontexten-Eigenschaften besteht
1821 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
1822 verbunden sind.  Alle außer dem ersten werden am Anfang
1823 groß geschrieben.  Hier einige Beispiele der gebräuchlichsten
1824 Kontext-Eigenschaften.  Es gibt sehr viel mehr.
1825
1826 @c attempt to force this onto a new page
1827 @need 50
1828 @multitable @columnfractions .25 .15 .45 .15
1829 @headitem eigenschaftsBezeichnung
1830   @tab Typ
1831   @tab Funktion
1832   @tab Beispiel-Wert
1833 @item extraNatural
1834   @tab boolescher Wert
1835   @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt.
1836   @tab @code{#t}, @code{#f}
1837 @item currentBarNumber
1838   @tab Integer
1839   @tab Setzt die aktuelle Taktnummer.
1840   @tab @code{50}
1841 @item doubleSlurs
1842   @tab boolescher Wert
1843   @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
1844   @tab @code{#t}, @code{#f}
1845 @item instrumentName
1846   @tab Text
1847   @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
1848   @tab @code{"Cello I"}
1849 @item fontSize
1850   @tab reale Zahl
1851   @tab Vergrößert oder verkleinert die Schriftgröße.
1852   @tab @code{2.4}
1853 @item stanza
1854   @tab Text
1855   @tab Setzt den Text zu Beginn einer Strophe.
1856   @tab @code{"2"}
1857 @end multitable
1858
1859 @noindent
1860 Ein boolescher Wert ist entweder wahr  (@code{#t})
1861 oder falsch (@code{#f}),
1862 ein Integer eine positive ganze Zahl, ein Real (reelle Zahl) eine positive
1863 oder negative Dezimalzahl, und Text wird in doppelte
1864 Anführungszeichen (Shift+2) eingeschlossen.  Beachten Sie
1865 das Vorkommen des Rautenzeichens
1866 (@code{#}) an unterschiedlichen Stellen: als Teil eines
1867 booleschen Wertes vor dem @code{t} oder @code{f}, aber
1868 auch vor einem @emph{Wert} in der
1869 @code{\set}-Befehlskette.  Wenn ein boolescher Wert
1870 eingegeben werden soll, braucht man also zwei
1871 Rautenzeichen, z. B. @code{##t}.
1872
1873 @cindex Eigenschaften in Kontexten
1874 @cindex Veränderung von Eigenschaften in Kontexten
1875
1876 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
1877 in welchem Kontext sie sich befindet.  Manchmal versteht das
1878 sich von selbst, aber in einigen Fällen kann es zunächst
1879 unverständlich erscheinen.  Wenn der falsche Kontext angegeben
1880 wird, wird keine Fehlermeldung produziert, aber die
1881 Veränderung wird einfach nicht ausgeführt.
1882 @code{instrumentName} befindet sich offensichtlich innerhalb
1883 von einem @code{Staff}-Kontext, denn das Notensystem soll
1884 benannt werden.  In dem folgenden Beispiel erhält das erste
1885 System korrekt die Instrumentenbezeichnung, das zweite aber
1886 nicht, weil der Kontext ausgelassen wurde.
1887
1888 @lilypond[quote,verbatim,ragged-right]
1889 <<
1890   \new Staff \relative c'' {
1891     \set Staff.instrumentName = #"Soprano"
1892     c2 c
1893  }
1894   \new Staff \relative c' {
1895     \set instrumentName = #"Alto"  % Wrong!
1896     d2 d
1897  }
1898 >>
1899 @end lilypond
1900
1901 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
1902 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
1903 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
1904 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
1905 gar nichts.  Das ist kein Fehler, und darum wird auch keine Fehlermeldung
1906 produziert.
1907
1908 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
1909 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
1910 kann.  Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
1911 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
1912 wirklich existieren.  Aber wenn LilyPond diese Bezeichnung nicht
1913 zuordnen kann, bewirkt der Befehl einfach gar nichts.  Manche Editoren,
1914 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
1915 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
1916 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
1917 unbekannte Bezeichnungen anders (wie ConTEXT).  Wenn Sie keinen
1918 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
1919 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe
1920 @rinternals{Tunable context properties}, oder
1921 @rinternals{Contexts}.
1922
1923 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
1924 in einem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
1925 können in mehr als einem Kontext benutzt werden.  Als Beispiel mag die
1926 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
1927 setzt.  Die Standardeinstellung ist ##t (wahr) in allen Systemen.
1928 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch)
1929 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus.  Wird
1930 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
1931 auf alle darin enthaltenen Systeme aus.
1932
1933 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System
1934 ausgeschaltet sind:
1935
1936 @lilypond[quote,verbatim,ragged-right]
1937 <<
1938   \new Staff \relative c'' {
1939     ais2 aes
1940   }
1941   \new Staff \relative c'' {
1942     \set Staff.extraNatural = ##f
1943     ais2 aes
1944   }
1945 >>
1946 @end lilypond
1947
1948 @noindent
1949 während das dazu dient, sie in allen Systemen auszuschalten:
1950
1951 @lilypond[quote,verbatim,ragged-right]
1952 <<
1953   \new Staff \relative c'' {
1954     ais2 aes
1955   }
1956   \new Staff \relative c'' {
1957     \set Score.extraNatural = ##f
1958     ais2 aes
1959   }
1960 >>
1961 @end lilypond
1962
1963 Ein anderes Beispiel ist die Eigenschaft @code{clefOctavation}:
1964 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
1965 der Wert der Oktavierung in allen aktuellen Systemen und wird
1966 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
1967
1968 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
1969 effektiv wieder von dem Kontext: in den meisten Fällen wird der
1970 Kontext auf ihre Standardeinstellungen zurückgesetzt.
1971 Normalerweise wird aber @code{\unset} nicht benötigt,
1972 denn ein neues @code{\set} erledigt alles, was man braucht.
1973
1974 Die @code{\set}- und @code{\unset}-Befehle könne überall im
1975 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
1976 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
1977 mit @code{\set} oder @code{\unset} neu gesetzt wird.  Versuchen
1978 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
1979 auf die Notenköpfe auswirkt.  Die Änderung bezieht sich immer auf den Standard,
1980 nicht vom letzten gesetzten Wert.
1981
1982 @lilypond[quote,verbatim,ragged-right,relative=1]
1983 c4 d
1984 % make note heads smaller
1985 \set fontSize = #-4
1986 e4 f |
1987 % make note heads larger
1988 \set fontSize = #2.5
1989 g4 a
1990 % return to default size
1991 \unset fontSize
1992 b4 c |
1993 @end lilypond
1994
1995 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
1996 Eigenschaften ändern lassen.  Beachten Sie, dass Integer und
1997 Zahlen immer mit einem Rautenzeichen beginnen, während
1998 die Werte wahr und falsch (mit @code{##t} und @code{##f}
1999 notiert) immer mit zwei Rauten beginnen.  Eine Eigenschaft, die
2000 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
2001 auch wenn wir später sehen werden, dass Text auf eine sehr viel
2002 allgemeinere und mächtigere Art mit dem @code{\markup}-Befehl
2003 eingegeben werden kann.
2004
2005 @subsubheading Kontexteigenschaften mit @code{\with} setzen
2006
2007 @funindex \with
2008 @funindex with
2009 @cindex Kontexteigenschaft, setzen mit \with
2010
2011 Die Standardwerte von Kontexteigenschaften können zu dem Zeitpunkt
2012 definiert werden, an welchem der Kontext erstellt wird. Manchmal
2013 ist das eine saubere Weise, eine Eigenschaft zu bestimmen, die für
2014 die gesamte Partitur erhalten bleichen soll.  Wenn ein Kontext mit
2015 einem @code{\new}-Befehl erstellt wird, können in einer
2016 direkt folgenden @code{\with @{ .. @}}-Umgebung die Eigenschaften
2017 bestimmt werden.  Wenn also die zusätzlichen
2018 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
2019 man schreiben:
2020
2021 @example
2022 \new Staff \with @{ extraNatural = ##f @}
2023 @end example
2024
2025 @noindent
2026 etwa so:
2027
2028 @lilypond[quote,verbatim,ragged-right]
2029 <<
2030   \new Staff
2031     \relative c'' {
2032       gis4 ges aes ais
2033     }
2034   \new Staff \with { extraNatural = ##f } {
2035     \relative c'' {
2036       gis ges aes ais
2037     }
2038   }
2039 >>
2040 @end lilypond
2041
2042 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2043 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2044 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden,
2045 wie sie vorher in der @code{\with}-Umgebung definiert wurden.
2046
2047 @cindex Schriftgröße, Standardeinstellung
2048 @cindex fontSize (Schriftgröße), Standardeinstellung
2049
2050 Wenn also die @code{fontSize}-Eigenschaft in einer @code{\with}-Umgebung
2051 definiert wird, wird der Standardwert für die Schriftgröße
2052 festgelegt.  Wenn dieser Wert später mit @code{\set} verändert
2053 wird, kann dieser neue Standardwert mit dem Befehl
2054 @code{\unset fontSize} wieder erreicht werden.
2055
2056 @subsubheading Kontexteigenschaften mit @code{\context} setzen
2057
2058 @cindex Kontexteigenschaften, mit \context setzen
2059 @cindex Eigenschaften von Kontexten, mit \context setzen
2060 @funindex \context
2061 @funindex context
2062
2063 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2064 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte)
2065 gleichzeitig mit einem Befehl gesetzt werden.  Der Kontext wird
2066 spezifiziert, indem seine Bezeichnung benutzt wird, also etwa
2067 @code{Staff}, mit einem Backslash davor: @code{\Staff}.  Der Befehl
2068 für die Eigenschaft ist der gleiche, wie er auch in der
2069 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt.  Er wird in
2070 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2071 von einer @code{\layout}-Umgebung steht.  Jede @code{\context}-Umgebung
2072 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2073 aktuellen Partitur befinden (d. h. innerhalb einer @code{\score}-
2074 oder @code{\book}-Umgebung).  Hier ist ein Beispiel, wie man diese
2075 Funktion anwendet:
2076
2077 @lilypond[verbatim,quote]
2078 \score {
2079   \new Staff {
2080     \relative c'' {
2081       cis4 e d ces
2082     }
2083   }
2084   \layout {
2085     \context {
2086       \Staff
2087       extraNatural = ##t
2088     }
2089   }
2090 }
2091 @end lilypond
2092
2093 Wenn die Veränderung der Eigenschaft sich auf alle Systeme einer
2094 @code{score}-Umgebung beziehen soll:
2095
2096 @lilypond[quote,verbatim]
2097 \score {
2098   <<
2099     \new Staff {
2100       \relative c'' {
2101         gis4 ges aes ais
2102       }
2103     }
2104     \new Staff {
2105       \relative c'' {
2106         gis4 ges aes ais
2107       }
2108     }
2109   >>
2110   \layout {
2111     \context {
2112       \Score extraNatural = ##f
2113     }
2114   }
2115 }
2116 @end lilypond
2117
2118 @noindent
2119 Kontext-Eigenschaften, die auf diese Weise gesetzt werden, können für
2120 bestimmten Kontexte überschrieben werden, indem die
2121 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2122 innerhalb der aktuellen Noten.
2123
2124
2125 @seealso
2126 Notationsreferenz:
2127 @ruser{Die Standardeinstellungen von Kontexten ändern},
2128 @ruser{Der set-Befehl}.
2129
2130 Referenz der Interna:
2131 @rinternals{Contexts},
2132 @rinternals{Tunable context properties}.
2133
2134
2135 @node Přidání a odstranění rytců
2136 @subsection Přidání a odstranění rytců
2137 @translationof Adding and removing engravers
2138
2139 @cindex Engraver, Hinzufügen von
2140 @cindex Engraver, Entfernen von
2141 @cindex Hinzufügen von Engravern
2142 @cindex Entfernen von Engravern
2143
2144 @funindex \consists
2145 @funindex \remove
2146 @funindex consists
2147 @funindex remove
2148
2149 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2150 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2151 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2152 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2153 einem Kontext entfernt wird, kann er seine Objekte nicht
2154 länger produzieren.  Das ist eine eher grobe Methode, die
2155 Notenausgabe zu beeinflussen, aber es kann von großem
2156 Nutzen sein.
2157
2158
2159 @subsubheading Einen einzelnen Kontext verändern
2160
2161 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2162 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2163 den Befehl zur Kontext-Erstellung geschrieben, wie
2164 in dem vorigen Abschnitt gezeigt.
2165
2166 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2167 Abschnitt produzieren, aber die Notenlinien entfernen.  Erinnern
2168 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2169 erstellt werden.
2170
2171 @lilypond[quote,verbatim,ragged-right]
2172 \new Staff \with {
2173   \remove Staff_symbol_engraver
2174 }
2175 \relative c' {
2176   c4 d
2177   \set fontSize = #-4  % make note heads smaller
2178   e4 f |
2179   \set fontSize = #2.5  % make note heads larger
2180   g4 a
2181   \unset fontSize  % return to default size
2182   b4 c |
2183 }
2184 @end lilypond
2185
2186 @cindex Ambitus-Engraver
2187
2188 Engraver können auch zu einem bestimmten
2189 Kontext hinzugefügt werden.  Dies geschieht
2190 mit dem Befehl
2191
2192 @code{\consists @var{Engraver_bezeichnung}}
2193
2194 @noindent
2195 welcher auch wieder innerhalb der @code{\with}-Umgebung
2196 gesetzt wird.  Einige Chorpartituren zeigen einen
2197 Ambitus direkt zu Beginn der ersten Notenzeile, um
2198 den Stimmumfang des Stückes anzuzeigen, siehe auch
2199 @rglos{ambitus}.  Der Ambitus wird vom
2200 @code{Ambitus_engraver} erstellt, der normalerweise
2201 in keinem Kontext enthalten ist.  Wenn wir
2202 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2203 er automatisch den Stimmumfang für diese einzelne Stimme
2204 und zeigt ihn an:
2205
2206 @lilypond[quote,verbatim,ragged-right]
2207 \new Staff <<
2208   \new Voice \with {
2209     \consists Ambitus_engraver
2210   } {
2211     \relative c'' {
2212       \voiceOne
2213       c4 a b g
2214     }
2215   }
2216   \new Voice {
2217     \relative c' {
2218       \voiceTwo
2219       c4 e d f
2220     }
2221   }
2222 >>
2223 @end lilypond
2224
2225 @noindent
2226 wenn wir den Ambitus-Engraver allerdings zum
2227 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2228 Stimmen in diesem Notensystem errechnet:
2229
2230 @lilypond[quote,verbatim,ragged-right]
2231 \new Staff \with {
2232   \consists Ambitus_engraver
2233 }
2234 <<
2235   \new Voice {
2236     \relative c'' {
2237       \voiceOne
2238       c4 a b g
2239     }
2240   }
2241   \new Voice {
2242     \relative c' {
2243       \voiceTwo
2244       c4 e d f
2245     }
2246   }
2247 >>
2248 @end lilypond
2249
2250
2251 @subsubheading Alle Kontexte des gleichen Typs verändern
2252
2253 @funindex \layout
2254
2255 Die vorigen Beispiele zeigen, wie man Engraver in einem
2256 bestimmten Kontext hinzufügen oder entfernen kann.  Es ist
2257 auch möglich, Engraver in jedem Kontext eines bestimmten
2258 Typs hinzuzufügen oder zu entfernen.  Dazu werden die
2259 Befehle in dem entsprechenden Kontext in einer
2260 @code{\layout}-Umgebung gesetzt.  Wenn wir also z. B.
2261 den Ambitus für jedes Notensystem in einer Partitur
2262 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2263
2264 @lilypond[quote,verbatim,ragged-right]
2265 \score {
2266   <<
2267     \new Staff {
2268       \relative c'' {
2269         c4 a b g
2270       }
2271     }
2272     \new Staff {
2273       \relative c' {
2274         c4 a b g
2275       }
2276     }
2277     \new Staff {
2278       \clef "G_8"
2279       \relative c' {
2280         c4 a b g
2281       }
2282     }
2283     \new Staff {
2284       \clef "bass"
2285       \relative c {
2286         c4 a b g
2287       }
2288     }
2289   >>
2290   \layout {
2291     \context {
2292       \Staff
2293       \consists Ambitus_engraver
2294     }
2295   }
2296 }
2297 @end lilypond
2298
2299 @noindent
2300 Die Werte der Kontext-Eigenschaften können auch für
2301 alle Kontexte eines bestimmten Typs auf die gleiche
2302 Weise geändert werden, indem der @code{\set}-Befehl in
2303 einer @code{\context}-Umgebung angewendet wird.
2304
2305
2306 @seealso
2307 Notationsreferenz: @ruser{Umgebungs-Plugins verändern},
2308 @ruser{Die Standardeinstellungen von Kontexten ändern}.
2309
2310 @knownissues
2311 Die @code{Stem_engraver} und @code{Beam_engraver} fügen ihre
2312 Objekte an Notenköpfe an.  Wenn der @code{Note_heads_engraver}
2313 entfernt wird, werden keine Notenköpfe erstellt und demzufolge auch keine
2314 Hälse oder Bögen dargestellt.
2315
2316
2317 @node Rozšíření příkladů
2318 @section Rozšíření příkladů
2319 @translationof Extending the templates
2320
2321 Sie haben sich durch die Übung gearbeitet, Sie
2322 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2323 haben die grundlegenden Konzepte verstanden.  Aber wie
2324 erhalten Sie genau die Systeme, die Sie brauchen? Es
2325 gibt eine ganze Anzahl an fertigen Vorlagen
2326 (siehe @ref{Vorlagen}), mit denen Sie beginnen
2327 können.  Aber was, wenn Sie nicht genau das finden,
2328 was Sie brauchen? Lesen Sie weiter.
2329
2330 @menu
2331 * Soprán a violoncello::
2332 * Čtyřhlasý notový zápis SATB::
2333 * Vytvoření notového zápisu od základu::
2334 * Úspora psaní na stroji pomocí proměnných a funkcí::
2335 * Notové zápisy a hlasy::
2336 @end menu
2337
2338
2339 @node Soprán a violoncello
2340 @subsection Soprán a violoncello
2341 @translationof Soprano and cello
2342
2343 @cindex Template, Verändern von
2344 @cindex Vorlage, Verändern von
2345 @cindex Veränderung von Vorlagen
2346
2347 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2348 am nächsten kommt.  Nehmen wir einmal an, Sie wollen
2349 ein Stück für Soprán a violoncello schreiben.  In diesem
2350 Fall könnten Sie mit der Vorlage @qq{Noten und Text}
2351 (für die Sopran-Stimme) beginnen.
2352
2353 @example
2354 \version @w{"@version{}"}
2355 melody = \relative c' @{
2356   \clef "treble"
2357   \key c \major
2358   \time 4/4
2359   a4 b c d
2360 @}
2361
2362 text = \lyricmode @{
2363   Aaa Bee Cee Dee
2364 @}
2365
2366 \score @{
2367   <<
2368     \new Voice = "one" @{
2369       \autoBeamOff
2370       \melody
2371     @}
2372     \new Lyrics \lyricsto "one" \text
2373   >>
2374   \layout @{ @}
2375   \midi @{ @}
2376 @}
2377 @end example
2378
2379 Jetzt wollen wir die Cello-Stimme hinzufügen.  Schauen wir uns das
2380 Beispiel @qq{Nur Noten} an:
2381
2382 @example
2383 \version @w{"@version{}"}
2384
2385 melody = \relative c' @{
2386   \clef "treble"
2387   \key c \major
2388   \time 4/4
2389   a4 b c d
2390 @}
2391
2392 \score @{
2393   \new Staff \melody
2394   \layout @{ @}
2395   \midi @{ @}
2396 @}
2397 @end example
2398
2399 Wir brauchen den @code{\version}-Befehl nicht zweimal.  Wir
2400 brauchen aber den @code{melody}-Abschnitt.  Wir wollen
2401 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2402 @code{\score}-Abschnitten würden wir zwei Stimmen
2403 getrennt voneinander erhalten.  In diesem Fall wollen wir
2404 sie aber zusammen, als Duett.  Schließlich brauchen wir
2405 innerhalb des @code{\score}-Abschnittes nur einmal die
2406 Befehle @code{\layout} und @code{\midi}.
2407
2408 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in
2409 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2410 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2411 würde für beide Melodien eingesetzt werden.  Wir müssen
2412 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2413 zu unterscheiden.  Nennen wir die Abschnitte also @code{SopranNoten}
2414 für den Sopran und @code{CelloNoten} für die Cellostimme.  Wenn
2415 wir schon dabei sind, können wir @code{text}auch nach
2416 @code{SoprText} umbenennen.  Denken Sie daran, beide
2417 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2418 gleich am Anfang (@code{melody = \relative c' @{ }) und
2419 dann auch noch die Benutzung der Variable innerhalb des
2420 @code{\score}-Abschnittes.
2421
2422 Gleichzeitig können wir auch noch das Notensystem für das
2423 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2424 Wir ändern auch die Noten etwas ab.
2425
2426 @example
2427 \version @w{"@version{}"}
2428
2429 SopranNoten = \relative c' @{
2430   \clef "treble"
2431   \key c \major
2432   \time 4/4
2433   a4 b c d
2434 @}
2435
2436 SoprText = \lyricmode @{
2437   Aaa Bee Cee Dee
2438 @}
2439
2440 CelloNoten = \relative c @{
2441   \clef "bass"
2442   \key c \major
2443   \time 4/4
2444   d4 g fis8 e d4
2445 @}
2446
2447 \score @{
2448   <<
2449     \new Voice = "eins" @{
2450       \autoBeamOff
2451       \SopranNoten
2452     @}
2453     \new Lyrics \lyricsto "eins" \Soprantext
2454   >>
2455   \layout @{ @}
2456   \midi @{ @}
2457 @}
2458 @end example
2459
2460 Das sieht schon vielversprechend aus, aber die Cello-Stimme
2461 erscheint noch nicht im Notensatz -- wir haben vergessen,
2462 sie in den @code{\score}-Abschnitt einzufügen.  Wenn die
2463 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2464 wir
2465
2466 @example
2467 \new Staff \CelloNoten
2468 @end example
2469
2470 @noindent
2471 unter dem Befehl für den Sopran hinzufügen.  Wir brauchen auch
2472 die spitzen Klammern (@code{<<} und @code{>>}) um die
2473 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2474 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2475 zwei @code{Staff}-Instanzen).  Der @code{\score}-Abschnitt
2476 sieht jetzt so aus:
2477
2478 @c Indentation in this example is deliberately poor
2479 @example
2480 \score @{
2481   <<
2482     <<
2483       \new Voice = "eins" @{
2484         \autoBeamOff
2485         \SopranNoten
2486       @}
2487       \new Lyrics \lyricsto "eins" \SoprText
2488     >>
2489     \new Staff \CelloNoten
2490   >>
2491   \layout @{ @}
2492   \midi @{ @}
2493 @}
2494 @end example
2495
2496 @noindent
2497 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2498 nicht mehr.  Das können wir aber schnell in Ordnung bringen.
2499 Hier also die gesamte Vorlage für Soprán a violoncello:
2500
2501 @lilypond[quote,verbatim,ragged-right,addversion]
2502 sopranoMusic = \relative c' {
2503   \clef "treble"
2504   \key c \major
2505   \time 4/4
2506   a4 b c d
2507 }
2508
2509 sopranoLyrics = \lyricmode {
2510   Aaa Bee Cee Dee
2511 }
2512
2513 celloMusic = \relative c {
2514   \clef "bass"
2515   \key c \major
2516   \time 4/4
2517   d4 g fis8 e d4
2518 }
2519
2520 \score {
2521   <<
2522     <<
2523       \new Voice = "one" {
2524         \autoBeamOff
2525         \sopranoMusic
2526       }
2527       \new Lyrics \lyricsto "one" \sopranoLyrics
2528     >>
2529     \new Staff \celloMusic
2530   >>
2531   \layout { }
2532   \midi { }
2533 }
2534 @end lilypond
2535
2536
2537 @seealso
2538 Die Vorlagen, mit denen wir begonnen haben, können im
2539 Anhang @qq{Vorlagen} gefunden werden, siehe
2540 @ref{Ein einzelnes System}.
2541
2542
2543 @node Čtyřhlasý notový zápis SATB
2544 @subsection Čtyřhlasý notový zápis SATB
2545 @translationof Four-part SATB vocal score
2546
2547 @cindex Vorlage, SATB
2548 @cindex Vorlage, Chorpartitur
2549 @cindex SATB-Vorlage
2550 @cindex Chorpartitur, Vorlage
2551
2552 Die meisten Partituren für vierstimmigen gemischten Chor
2553 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2554 oder Händels @notation{Messias})  sind so aufgebaut, dass
2555 für jede der vier Stimmen ein eigenes System besteht und
2556 die Orchesterbegleitung dann als Klavierauszug darunter
2557 notiert wird.  Hier ein Beispiel aus Händels @notation{Messias}:
2558
2559 @c The following should appear as music without code
2560 @lilypond[quote,ragged-right]
2561 global = { \key d \major \time 4/4 }
2562
2563 sopranoMusic = \relative c'' {
2564   \clef "treble"
2565   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2566 }
2567 sopranoWords = \lyricmode {
2568   Wor -- thy | is the lamb | that was slain |
2569 }
2570 altoMusic = \relative a' {
2571   \clef "treble"
2572   r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2573 }
2574 altoWords = \sopranoWords
2575 tenorMusic = \relative c' {
2576   \clef "G_8"
2577   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2578 }
2579 tenorWords = \sopranoWords
2580 bassMusic = \relative c' {
2581   \clef "bass"
2582   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2583 }
2584 bassWords = \sopranoWords
2585 upper = \relative a' {
2586   \clef "treble"
2587   \global
2588   r4 <a d fis>2 <a e' a>4
2589   <d fis d'>4. <d fis d'>8 <a d a'>2
2590   <g cis g'>4 <a d fis> <a cis e>2
2591 }
2592 lower = \relative c, {
2593   \clef "bass"
2594   \global
2595   <d d'>4 <d d'>2 <cis cis'>4
2596   <b b'>4. <b' b'>8 <fis fis'>2
2597   <e e'>4 <d d'> <a' a'>2
2598 }
2599
2600 \score {
2601   <<  % combine ChoirStaff and PianoStaff in parallel
2602     \new ChoirStaff <<
2603       \new Staff = "sopranos" <<
2604         \set Staff.instrumentName = #"Soprano"
2605         \new Voice = "sopranos" {
2606           \global
2607           \sopranoMusic
2608         }
2609       >>
2610       \new Lyrics \lyricsto "sopranos" {
2611         \sopranoWords
2612       }
2613       \new Staff = "altos" <<
2614         \set Staff.instrumentName = #"Alto"
2615         \new Voice = "altos" {
2616           \global
2617           \altoMusic
2618         }
2619       >>
2620       \new Lyrics \lyricsto "altos" {
2621         \altoWords
2622       }
2623       \new Staff = "tenors" <<
2624         \set Staff.instrumentName = #"Tenor"
2625         \new Voice = "tenors" {
2626           \global
2627           \tenorMusic
2628         }
2629       >>
2630       \new Lyrics \lyricsto "tenors" {
2631         \tenorWords
2632       }
2633       \new Staff = "basses" <<
2634         \set Staff.instrumentName = #"Bass"
2635         \new Voice = "basses" {
2636           \global
2637           \bassMusic
2638         }
2639       >>
2640       \new Lyrics \lyricsto "basses" {
2641         \bassWords
2642       }
2643     >>  % end ChoirStaff
2644
2645     \new PianoStaff <<
2646       \set PianoStaff.instrumentName = #"Piano"
2647       \new Staff = "upper" \upper
2648       \new Staff = "lower" \lower
2649     >>
2650   >>
2651 }
2652 @end lilypond
2653
2654 Keine der Vorlage bietet diesen Aufbau direkt an.  Die Vorlage, die
2655 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer
2656 Klavierauszug}, siehe @ref{Vokalensemble}.  Wir müssen diese
2657 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2658 automatisch aus dem Chorsatz generiert werden.  Die Variablen
2659 für die Noten und den Text des Chores sind in Ordnung, wir
2660 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2661
2662 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2663 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2664 in dem Beispiel oben.  Wir wollen sie so sortieren, dass die
2665 Texte jeder Stimme direkt unter den Noten notiert werden.
2666 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2667 welches die Standardeinstellung ist; wir können also die
2668 @code{\voiceXXX}-Befehle entfernen.  Wir müssen auch noch
2669 den Schlüssel für den Tenor ändern.  Die Methode, mit der
2670 der Text den Stimmen zugewiesen wird, ist uns noch nicht
2671 bekannt, darum wollen wir sie umändern auf die Weise, die
2672 wir schon kennen.  Wir fügen auch noch Instrumentbezeichnungen
2673 zu den Systemen hinzu.
2674
2675 Damit erhalten wir folgenden @code{ChoirStaff}:
2676
2677 @example
2678 \new ChoirStaff <<
2679   \new Staff = "sopranos" <<
2680     \set Staff.instrumentName = #"Sopran"
2681     \new Voice = "sopranos" @{
2682       \global
2683       \sopranoMusic
2684     @}
2685   >>
2686   \new Lyrics \lyricsto "sopranos" @{
2687     \sopranoWords
2688   @}
2689   \new Staff = "altos" <<
2690     \set Staff.instrumentName = #"Alt"
2691     \new Voice = "altos" @{
2692       \global
2693       \altoMusic
2694     @}
2695   >>
2696   \new Lyrics \lyricsto "altos" @{
2697     \altoWords
2698   @}
2699   \new Staff = "tenors" <<
2700     \set Staff.instrumentName = #"Tenor"
2701     \new Voice = "tenors" @{
2702       \global
2703       \tenorMusic
2704     @}
2705   >>
2706   \new Lyrics \lyricsto "tenors" @{
2707     \tenorWords
2708   @}
2709   \new Staff = "basses" <<
2710     \set Staff.instrumentName = #"Bass"
2711     \new Voice = "basses" @{
2712       \global
2713       \bassMusic
2714     @}
2715   >>
2716   \new Lyrics \lyricsto "basses" @{
2717     \bassWords
2718   @}
2719 >>  % end ChoirStaff
2720 @end example
2721
2722 Als nächstes müssen wir das Klaviersystem bearbeiten.
2723 Das ist einfach: wir nehmen einfach den Klavierteil
2724 aus der @qq{Piano solo}-Vorlage:
2725
2726 @example
2727 \new PianoStaff <<
2728   \set PianoStaff.instrumentName = #"Piano  "
2729   \new Staff = "oben" \oben
2730   \new Staff = "unten" \unten
2731 >>
2732 @end example
2733
2734 @noindent
2735 und fügen die Variablen @code{oben}
2736 und @code{unten} hinzu.
2737
2738 Das Chorsystem und das Pianosystem müssen mit
2739 spitzen Klammern kombiniert werden, damit beide
2740 übereinander erscheinen:
2741
2742 @example
2743 <<  % ChoirStaff und PianoStaff parallel kombinieren
2744   \new ChoirStaff <<
2745     \new Staff = "sopranos" <<
2746       \new Voice = "sopranos" @{
2747         \global
2748         \sopranoMusic
2749       @}
2750     >>
2751     \new Lyrics \lyricsto "sopranos" @{
2752       \sopranoWords
2753      @}
2754     \new Staff = "altos" <<
2755       \new Voice = "altos" @{
2756         \global
2757         \altoMusic
2758       @}
2759     >>
2760     \new Lyrics \lyricsto "altos" @{
2761       \altoWords
2762     @}
2763     \new Staff = "tenors" <<
2764       \clef "G_8"  % tenor clef
2765       \new Voice = "tenors" @{
2766         \global
2767         \tenorMusic
2768       @}
2769     >>
2770     \new Lyrics \lyricsto "tenors" @{
2771       \tenorWords
2772     @}
2773     \new Staff = "basses" <<
2774       \clef "bass"
2775       \new Voice = "basses" @{
2776         \global
2777         \bassMusic
2778       @}
2779     >>
2780     \new Lyrics \lyricsto "basses" @{
2781       \bassWords
2782     @}
2783   >>  % end ChoirStaff
2784
2785   \new PianoStaff <<
2786     \set PianoStaff.instrumentName = #"Piano"
2787     \new Staff = "upper" \upper
2788     \new Staff = "lower" \lower
2789   >>
2790 >>
2791 @end example
2792
2793 Alles miteinander kombiniert und mit den Noten für drei
2794 Takte sieht unser Beispiel nun so aus:
2795
2796 @lilypond[quote,verbatim,ragged-right,addversion]
2797 global = {
2798   \key d \major
2799   \time 4/4
2800 }
2801 sopranoMusic = \relative c'' {
2802   \clef "treble"
2803   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2804 }
2805 sopranoWords = \lyricmode {
2806   Wor -- thy | is the lamb | that was slain |
2807 }
2808 altoMusic = \relative a' {
2809   \clef "treble"
2810   r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2811 }
2812 altoWords = \sopranoWords
2813 tenorMusic = \relative c' {
2814   \clef "G_8"
2815   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2816 }
2817 tenorWords = \sopranoWords
2818 bassMusic = \relative c' {
2819   \clef "bass"
2820   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2821 }
2822 bassWords = \sopranoWords
2823 upper = \relative a' {
2824   \clef "treble"
2825   \global
2826   r4 <a d fis>2 <a e' a>4
2827   <d fis d'>4. <d fis d'>8 <a d a'>2
2828   <g cis g'>4 <a d fis> <a cis e>2
2829 }
2830 lower = \relative c, {
2831   \clef "bass"
2832   \global
2833   <d d'>4 <d d'>2 <cis cis'>4
2834   <b b'>4. <b' b'>8 <fis fis'>2
2835   <e e'>4 <d d'> <a' a'>2
2836 }
2837
2838 \score {
2839   <<  % combine ChoirStaff and PianoStaff in parallel
2840     \new ChoirStaff <<
2841       \new Staff = "sopranos" <<
2842         \set Staff.instrumentName = #"Soprano"
2843         \new Voice = "sopranos" {
2844           \global
2845           \sopranoMusic
2846         }
2847       >>
2848       \new Lyrics \lyricsto "sopranos" {
2849         \sopranoWords
2850       }
2851       \new Staff = "altos" <<
2852         \set Staff.instrumentName = #"Alto"
2853         \new Voice = "altos" {
2854           \global
2855           \altoMusic
2856         }
2857       >>
2858       \new Lyrics \lyricsto "altos" {
2859         \altoWords
2860       }
2861       \new Staff = "tenors" <<
2862         \set Staff.instrumentName = #"Tenor"
2863         \new Voice = "tenors" {
2864           \global
2865           \tenorMusic
2866         }
2867       >>
2868       \new Lyrics \lyricsto "tenors" {
2869         \tenorWords
2870       }
2871       \new Staff = "basses" <<
2872         \set Staff.instrumentName = #"Bass"
2873         \new Voice = "basses" {
2874           \global
2875           \bassMusic
2876         }
2877       >>
2878       \new Lyrics \lyricsto "basses" {
2879         \bassWords
2880       }
2881     >>  % end ChoirStaff
2882
2883     \new PianoStaff <<
2884       \set PianoStaff.instrumentName = #"Piano  "
2885       \new Staff = "upper" \upper
2886       \new Staff = "lower" \lower
2887     >>
2888   >>
2889 }
2890 @end lilypond
2891
2892
2893 @node Vytvoření notového zápisu od základu
2894 @subsection Vytvoření notového zápisu od základu
2895 @translationof Building a score from scratch
2896
2897 @cindex Template, eigene schreiben
2898 @cindex Vorlagen, eigene schreiben
2899 @cindex eigene Vorlagen erstellen
2900 @cindex Erstellen von eigenen Vorlagen
2901 @cindex Schreiben von eigenen Vorlagen
2902
2903 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2904 gewonnen haben, werden Sie vielleicht feststellen, dass es
2905 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2906 die fertigen Vorlagen zu verändern.  Auf diese Art könne Sie
2907 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2908 die Sie notieren wollen.  Als Beispiel wollen wir demonstrieren,
2909 wie man die Partitur für ein Orgelpreludium von Grund auf
2910 konstruiert.
2911
2912 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2913 Hier notieren wir den Titel, den Namen des Komponisten usw.
2914 Danach schreiben wir die einzelnen Variablen auf und
2915 schließlich am Ende die eigentliche Partitur, den
2916 @code{\score}-Abschnitt.  Beginnen wir mit einer groben
2917 Struktur, in die wir dann die Einzelheiten nach und nach
2918 eintragen.
2919
2920 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2921 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2922 für zwei Manuale und Pedal.  Sie können die Noten am Ende
2923 dieses Abschnittes sehen.  Das obere Manual trägt zwei Stimmen,
2924 das untere und das Pedalsystem jeweils nur eine.  Wir
2925 brauchen also vier Variablen für die Noten und eine, um
2926 Taktart und Tonart zu definieren.
2927
2928 @example
2929 \version @w{"@version{}"}
2930 \header @{
2931   title = "Jesu, meine Freude"
2932   composer = "J. S. Bach"
2933 @}
2934 keyTime = @{ \key c \minor \time 4/4 @}
2935 ManualOneVoiceOneMusic = @{ s1 @}
2936 ManualOneVoiceTwoMusic = @{ s1 @}
2937 ManualTwoMusic = @{ s1 @}
2938 PedalOrganMusic = @{ s1 @}
2939
2940 \score @{
2941 @}
2942 @end example
2943
2944 Im Moment haben wir eine unsichtbare
2945 Note in jede Stimme eingesetzt (@code{s1}).
2946 Die Noten werden später hinzugefügt.
2947
2948 Als nächstes schauen wir uns an, was in die
2949 Partitur (die @code{\score}-Umgebung)
2950 kommt.  Dazu wird einfach die Notensystemstruktur
2951 konstruiert, die wir benötigen.  Orgelmusik
2952 wird meistens auf drei Systemen notiert, eins
2953 für jedes Manual und ein drittes für die Pedalnoten.
2954 Die Systeme für die Manuale werden mit einer
2955 geschweiften Klammer verbunden, wir
2956 benutzen hier also ein @code{PianoStaff}.
2957 Das erste Manualsystem braucht zwei Stimmen,
2958 das zweite nur eine.
2959
2960 @example
2961 \new PianoStaff <<
2962   \new Staff = "ManualOne" <<
2963     \new Voice @{
2964       \ManualOneVoiceOneMusic
2965     @}
2966     \new Voice @{
2967       \ManualOneVoiceTwoMusic
2968     @}
2969   >>  % Ende ManualOne Systemkontext
2970   \new Staff = "ManualTwo" <<
2971     \new Voice @{
2972       \ManualTwoMusic
2973     @}
2974   >>  % Ende ManualTwo Systemkontext
2975 >>  % Ende PianoStaff Kontext
2976 @end example
2977
2978 Als nächstes soll das System für das Pedal hinzugefügt
2979 werden.  Es soll unter das Klaviersystem gesetzt
2980 werden, aber muss gleichzeitig mit ihm erscheinen.
2981 Wir brauchen also spitze Klammern um beide
2982 Definitionen.  Sie wegzulassen würde eine Fehlermeldung
2983 in der Log-Datei hervorrufen.  Das ist ein sehr
2984 häufiger Fehler, der wohl auch Ihnen früher
2985 oder später unterläuft.  Sie können das fertige
2986 Beispiel am Ende des Abschnittes kopieren und die
2987 Klammern entfernen, um zu sehen, wie die
2988 Fehlermeldung aussehen kann, die Sie in solch
2989 einem Fall erhalten würden.
2990
2991 @example
2992 <<  % PianoStaff and Pedal Staff must be simultaneous
2993   \new PianoStaff <<
2994     \new Staff = "ManualOne" <<
2995       \new Voice @{
2996         \ManualOneVoiceOneMusic
2997       @}
2998       \new Voice @{
2999         \ManualOneVoiceTwoMusic
3000       @}
3001     >>  % end ManualOne Staff context
3002     \new Staff = "ManualTwo" <<
3003       \new Voice @{
3004         \ManualTwoMusic
3005       @}
3006     >>  % end ManualTwo Staff context
3007   >>  % end PianoStaff context
3008   \new Staff = "PedalOrgan" <<
3009     \new Voice @{
3010       \PedalOrganMusic
3011     @}
3012   >>
3013 >>
3014 @end example
3015
3016 Es ist nicht notwendig, die simultane Konstruktion
3017 @code{<< .. >>} innerhalb des zweiten Manualsystems
3018 und des Pedalsystems zu benutzen, denn sie enthalten
3019 nur eine Stimme.  Andererseits schadet es nichts, sie
3020 zu schreiben, und es ist eine gute Angewohnheit, immer
3021 die spitzen Klammern nach einem @code{\new Staff} zu
3022 schreiben, wenn mehr als eine Stimme vorkommen könnten.
3023 Für Stimmen (@code{Voice}) dagegen gilt genau das
3024 Gegenteil: eine neue Stimme sollte immer von
3025 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3026 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3027 die nacheinander gesetzt werden sollen.
3028
3029 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3030 hinzu und bringen wir die Einzüge in Ordnung.  Gleichzeitig
3031 wollen wir die richtigen Schlüssel setzen und die Richtung der
3032 Hälse und Bögen in den Stimmen des oberen Systems
3033 kontrollieren, indem die obere Stimme ein
3034 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3035 erhält.  Die Taktart und Tonart werden mit unserer fertigen
3036 Variable @code{\keyTime} eingefügt.
3037
3038 @example
3039 \score @{
3040   <<  % PianoStaff and Pedal Staff must be simultaneous
3041     \new PianoStaff <<
3042       \new Staff = "ManualOne" <<
3043         \keyTime  % set time signature and key
3044         \clef "treble"
3045         \new Voice @{
3046           \voiceOne
3047           \ManualOneVoiceOneMusic
3048         @}
3049         \new Voice @{
3050           \voiceTwo
3051           \ManualOneVoiceTwoMusic
3052         @}
3053       >>  % end ManualOne Staff context
3054       \new Staff = "ManualTwo" <<
3055         \keyTime
3056         \clef "bass"
3057         \new Voice @{
3058           \ManualTwoMusic
3059         @}
3060       >>  % end ManualTwo Staff context
3061     >>  % end PianoStaff context
3062     \new Staff = "PedalOrgan" <<
3063       \keyTime
3064       \clef "bass"
3065       \new Voice @{
3066         \PedalOrganMusic
3067       @}
3068     >>  % end PedalOrgan Staff
3069   >>
3070 @}  % end Score context
3071 @end example
3072
3073 @cindex Spreizbarkeit von Systemen
3074 @cindex Dehnung von Systemen, vertikal
3075 @cindex Systeme, vertikales Dehnen
3076
3077 Das Layout des Orgelsystems oben ist fast perfekt, es hat jedoch einen kleinen
3078 Fehler, den man nicht bemerken kann, wenn man nur ein einzelnes System
3079 betrachtet:  Der Abstand des Pedalsystems zum System der linken Hand
3080 sollte in etwa der gleiche sein wie der Abstand zwischen den Systemen
3081 der linken und rechten Hand.  Die Dehnbarkeit von Systemen in einem
3082 Klaviersystem (@code{PianoStaff})-Kontext ist beschränkt (sodass der
3083 Abstand zwischen den Systemen der linken und rechten Hand nicht zu groß
3084 wird), und das Pedalsystem sollte sich genauso verhalten.
3085
3086 @cindex Untereigenschaft
3087 @cindex sub-properties
3088 @cindex graphische Objekte
3089 @cindex Grobs
3090 @cindex Objekte, graphische
3091
3092 Die Spreizbarkeit von Systemen kann mit der @code{staff-staff-spacing}-Eigenschaft
3093 des @code{VerticalAxisGroup}-@qq{graphischen Objekts} (üblicherweise als
3094 @qq{Grob} innerhalb der LilyPond-Dokumentation bezeichnet) kontrolliert
3095 werden.  An dieser Stelle brauchen Sie sich um die Details nicht zu
3096 sorgen, sie werden später erklärt.  Sehr Neugierige können sich den
3097 Abschnitt @ruser{Grundlagen zum Verändern von Eigenschaften} anschauen.  Im Moment
3098 kann man nicht nur die @code{strechability} (Spreizbarkeit)-Untereigenschaft verändern,
3099 darum müssen hier auch die anderen Untereigenschaften kopiert werden.  Die
3100 Standardeinstellungen dieser Untereigenschaften finden sich in der Datei
3101 @file{scm/define-grobs.scm} in den Definitionen für den
3102 @code{VerticalAxisGroup}-Grob.  Der Wert für @code{strechability} wird aus
3103 der Definition für das Klaviersystem (@code{PianoStaff}) entnommen
3104 (in der Datei @file{ly/engraver-init.ly}), damit die Werte identisch
3105 sind.
3106
3107 @example
3108 \score @{
3109   <<  % PianoStaff and Pedal Staff must be simultaneous
3110     \new PianoStaff <<
3111       \new Staff = "ManualOne" <<
3112         \keyTime  % set key and time signature
3113         \clef "treble"
3114         \new Voice @{
3115           \voiceOne
3116           \ManualOneVoiceOneMusic
3117         @}
3118         \new Voice @{
3119           \voiceTwo
3120           \ManualOneVoiceTwoMusic
3121         @}
3122       >>  % end ManualOne Staff context
3123       \new Staff = "ManualTwo" \with @{
3124         \override VerticalAxisGroup
3125           #'staff-staff-spacing #'stretchability = 5
3126       @} <<
3127         \keyTime
3128         \clef "bass"
3129         \new Voice @{
3130           \ManualTwoMusic
3131         @}
3132       >>  % end ManualTwo Staff context
3133     >>  % end PianoStaff context
3134     \new Staff = "PedalOrgan" <<
3135       \keyTime
3136       \clef "bass"
3137       \new Voice @{
3138         \PedalOrganMusic
3139       @}
3140     >>  % end PedalOrgan Staff
3141   >>
3142 @}  % end Score context
3143 @end example
3144
3145 Damit ist das Grundgerüst fertig.  Jede Orgelmusik mit drei
3146 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3147 in einem System sich ändern kann.  Jetzt müssen wir nur noch
3148 die Noten einfügen und alle Teile zusammenfügen, indem wir
3149 die Variablen mit einem Backslash in die Partitur einbauen.
3150
3151 @lilypond[quote,verbatim,ragged-right,addversion]
3152 \header {
3153   title = "Jesu, meine Freude"
3154   composer = "J S Bach"
3155 }
3156 keyTime = { \key c \minor \time 4/4 }
3157 ManualOneVoiceOneMusic = \relative g' {
3158   g4 g f ees |
3159   d2 c2 |
3160 }
3161 ManualOneVoiceTwoMusic = \relative c' {
3162   ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3163   c8 c4 b8 c8. g16 c b c d |
3164 }
3165 ManualTwoMusic = \relative c' {
3166   c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3167   f16 ees f d g aes g f ees d e8~ ees16 f ees d |
3168 }
3169 PedalOrganMusic = \relative c {
3170   r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3171   r16 g ees f g f g8 c,2 |
3172 }
3173
3174 \score {
3175   <<  % PianoStaff and Pedal Staff must be simultaneous
3176     \new PianoStaff <<
3177       \new Staff = "ManualOne" <<
3178         \keyTime  % set time signature and key
3179         \clef "treble"
3180         \new Voice {
3181           \voiceOne
3182           \ManualOneVoiceOneMusic
3183         }
3184         \new Voice {
3185           \voiceTwo
3186           \ManualOneVoiceTwoMusic
3187         }
3188       >>  % end ManualOne Staff context
3189       \new Staff = "ManualTwo" \with {
3190         \override VerticalAxisGroup
3191           #'staff-staff-spacing #'stretchability = 5
3192       } <<
3193         \keyTime
3194         \clef "bass"
3195         \new Voice {
3196           \ManualTwoMusic
3197         }
3198       >>  % end ManualTwo Staff context
3199     >>  % end PianoStaff context
3200     \new Staff = "PedalOrgan" <<
3201       \keyTime
3202       \clef "bass"
3203       \new Voice {
3204         \PedalOrganMusic
3205       }
3206     >>  % end PedalOrgan Staff context
3207   >>
3208 }  % end Score context
3209 @end lilypond
3210
3211 @seealso
3212 Glossar:
3213 @rglos{system}.
3214
3215
3216 @node Úspora psaní na stroji pomocí proměnných a funkcí
3217 @subsection Úspora psaní na stroji pomocí proměnných a funkcí
3218 @translationof Saving typing with variables and functions
3219
3220 @cindex Variablen
3221
3222 Bis jetzt wurde immer derartige Notation vorgestellt:
3223
3224 @lilypond[quote,verbatim,ragged-right]
3225 hornNotes = \relative c'' { c4 b dis c }
3226
3227 \score {
3228   {
3229     \hornNotes
3230   }
3231 }
3232 @end lilypond
3233
3234 Sie können sich vorstellen, dass das etwa für minimalistische
3235 Musik sehr nützlich sein könnte:
3236
3237 @lilypond[quote,verbatim,ragged-right]
3238 fragmentA = \relative c'' { a4 a8. b16 }
3239 fragmentB = \relative c'' { a8. gis16 ees4 }
3240 violin = \new Staff {
3241   \fragmentA \fragmentA |
3242   \fragmentB \fragmentA |
3243 }
3244
3245 \score {
3246   {
3247     \violin
3248   }
3249 }
3250 @end lilypond
3251
3252 Diese Variablen (die man auch als Makros oder Benutzer-Befehl
3253 bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt
3254 werden:
3255
3256 @c TODO Avoid padtext - not needed with skylining
3257 @lilypond[quote,verbatim,ragged-right]
3258 dolce = \markup { \italic \bold dolce }
3259 padText = { \once \override TextScript #'padding = #5.0 }
3260 fthenp=_\markup {
3261     \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p
3262 }
3263
3264 violin = \relative c'' {
3265   \repeat volta 2 {
3266     c4._\dolce b8 a8 g a b
3267     \padText
3268     c4.^"hi there!" d8 e' f g d
3269     c,4.\fthenp b8 c4 c-.
3270   }
3271 }
3272
3273 \score {
3274   {
3275     \violin
3276   }
3277   \layout{ragged-right=##t}
3278 }
3279 @end lilypond
3280
3281 Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen.  Aber es lohnt sich schon, sie zu
3282 benutzen, wenn man sie nur einmal benutzen will, denn sie
3283 vereinfachen die Struktur einer Datei sehr stark.  Hier das
3284 vorige Beispiel ohne jede Benutzung von Variablen.  Es ist
3285 sehr viel schwerer lesbar, besonders die letzte Zeile.
3286
3287 @example
3288 violin = \relative c'' @{
3289   \repeat volta 2 @{
3290     c4._\markup @{ \italic \bold dolce @} b8 a8 g a b
3291     \once \override TextScript #'padding = #5.0
3292     c4.^"hi there!" d8 e' f g d
3293     c,4.\markup @{
3294       \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
3295     @}
3296     b8 c4 c-. |
3297   @}
3298 @}
3299 @end example
3300
3301 @c TODO Replace the following with a better example  -td
3302 @c Skylining handles this correctly without padText
3303
3304 Bisher haben wir vor allem statische Ersetzungen betrachtet:
3305 wenn LilyPond etwa @code{\padText} sieht, wird es ersetzt mit
3306 all dem Code, mit dem wir es definiert haben (also alles,
3307 was sich rechts von @code{padtext=} befindet).
3308
3309 LilyPond kann auch nicht-statische Ersetzungen bewältigen.  Man
3310 kann sie sich als Funktionen vorstellen.
3311
3312 @lilypond[quote,verbatim,ragged-right]
3313 padText =
3314 #(define-music-function
3315      (parser location padding)
3316      (number?)
3317    #{
3318      \once \override TextScript #'padding = $padding
3319    #})
3320
3321 \relative c''' {
3322   c4^"piu mosso" b a b |
3323   \padText #1.8
3324   c4^"piu mosso" d e f |
3325   \padText #2.6
3326   c4^"piu mosso" fis a g |
3327 }
3328 @end lilypond
3329
3330 Die Benutzung von Variablen ist auch eine gute Möglichkeit,
3331 Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
3332 ändern sollte (siehe auch @rprogram{Updating old input files
3333 with convert-ly}).
3334 Wenn man eine einzige Definition hat (wie etwa @code{\dolce}),
3335 die für alle Vorkommen in der Notation eingesetzt wird, muss
3336 man auch nur einmal diese Definition aktualisieren, anstatt
3337 dass man sie in jeder @file{.ly}-Datei einzeln ändern müsste.
3338
3339
3340 @node Notové zápisy a hlasy
3341 @subsection Notové zápisy a hlasy
3342 @translationof Scores and parts
3343
3344 In Orchestermusik werden alle Noten zweimal gedruckt.  Einmal
3345 in einer Stimme für die Spieler, und einmal ein der Partitur
3346 für den Dirigenten.  Variablen können benutzen, um sich doppelte
3347 Arbeit zu ersparen.  Die Noten werden nur einmal eingegeben und
3348 in einer Variable abgelegt.  Der Inhalt der Variable wird dann
3349 benutzt um sowohl die Stimme als auch die Partitur zu erstellen.
3350
3351 Es bietet sich an, die Noten in einer extra Datei abzulegen.
3352 Nehmen wir an, dass die Datei @file{horn-music.ly} folgende
3353 Noten eines Horn/@/Fagott-Duos enthält:
3354
3355 @example
3356 hornNotes = \relative c @{
3357   \time 2/4
3358   r4 f8 a | cis4 f | e4 d |
3359 @}
3360 @end example
3361
3362 @noindent
3363 Eine Stimme wird also erstellt, indem man folgendes in eine
3364 Datei schreibt:
3365
3366 @example
3367 \include "horn-music.ly"
3368
3369 \header @{
3370   instrument = "Horn in F"
3371 @}
3372
3373 @{
3374  \transpose f c' \hornNotes
3375 @}
3376 @end example
3377
3378 Die Zeile
3379
3380 @example
3381 \include "horn-music.ly"
3382 @end example
3383
3384 @noindent
3385 ersetzt den Inhalt von @file{horn-music.ly} an dieser Position
3386 in der Datei, sodass @code{hornNotes} im Folgenden definiert
3387 ist.  Der Befehl @code{\transpose f@tie{}c'} zeigt an, dass
3388 das Argument (@code{\hornNotes}) eine Quinte nach oben transponiert
3389 werden soll.  Klingendes @code{f} wird als @code{c'}, wie es
3390 die Stimmung eines normalen F-Hornes verlangt.  Die Transposition
3391 kann in folgender Notenausgabe gesehen werden:
3392
3393 @lilypond[quote,ragged-right]
3394 \transpose f c' \relative c {
3395   \time 2/4
3396   r4 f8 a | cis4 f | e4 d |
3397 }
3398 @end lilypond
3399
3400 In Ensemblestücken sind manche Stimmen für viele Takte stumm.
3401 Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
3402 Sie wird mit einem großen @code{R} notiert, gefolgt von der
3403 Dauer (@code{1}@tie{}für eine Ganze, @code{2}@tie{}für eine Halbe usw.).  Indem man die Dauern multipliziert, kann man auch
3404 längere Dauern erzeugen.  Diese Pause etwa dauert drei Takte
3405 in einem 2/4-Takt:
3406
3407 @example
3408 R2*3
3409 @end example
3410
3411 Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert.  Das geschieht, indem man folgendes in die Datei
3412 schreibt:
3413
3414 @example
3415 \set Score.skipBars = ##t
3416 @end example
3417
3418 @noindent
3419 Dieser Befehl setzt die Eigenschaft @code{skipBars} im
3420 @code{Score}-Kontext auf wahr (@code{##t}).  Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
3421 Beispiel:
3422
3423 @lilypond[quote,ragged-right]
3424 \transpose f c' \relative c {
3425   \time 2/4
3426   \set Score.skipBars = ##t
3427   R2*3 |
3428   r4 f8 a | cis4 f | e4 d |
3429 }
3430 @end lilypond
3431
3432 Die Partitur wird erstellt, indem man alle Noten kombiniert.
3433 Angenommen, die andere Stimme ist in @code{bassoonNotes}
3434 in der Datei @file{bassoon-music.ly} definiert, würde eine
3435 Partitur erstellt mit:
3436
3437 @example
3438 \include "bassoon-music.ly"
3439 \include "horn-music.ly"
3440
3441 <<
3442   \new Staff \hornNotes
3443   \new Staff \bassoonNotes
3444 >>
3445 @end example
3446
3447 @noindent
3448 woraus sich ergibt:
3449
3450 @lilypond[quote,ragged-right]
3451 \relative c <<
3452   \new Staff {
3453     \clef "treble"
3454     \time 2/4
3455     R2*3 |
3456     r4 f8 a | cis4 f | e4 d |
3457   }
3458   \new Staff {
3459     \clef "bass"
3460     \time 2/4
3461     r4 d,8 f | gis4 c | b4 bes |
3462     a8 e f4 | g4 d | gis4 f |
3463   }
3464 >>
3465 @end lilypond