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