]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/user/fundamental.itely
Merge branch 'master' of ssh+git://git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / de / user / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2 @c This file is part of lilypond-learning.tely
3 @ignore
4     Translation of GIT committish: 3a8542af9f54c99b53374328af0d5d87005ca49e
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.11.61"
11 @c Translators: Till Rettig, Reinhold Kainhofer
12
13 @node Fundamental concepts
14 @chapter Fundamental concepts
15
16 Nachdem im Tutorial gezeigt wurde, wie aus einfachen Text-Dateien
17 wunderschön formatierte Musiknoten erzeugt werden können, stellt
18 dieses Kapitel die Konzepte und Techniken vor, wie auch komplexere
19 Partituren erstellt werden können.
20
21 @menu 
22 * How LilyPond files work::
23 * Voices contain music::
24 * Contexts and engravers::
25 * Extending the templates::
26 @end menu
27
28 @node How LilyPond files work
29 @section How LilyPond files work
30
31 Das LilyPond Eingabeformat hat eine ziemlich freie Form, so dass 
32 für erfahrene Benutzer viel Freiheit besteht, die Struktur ihrer 
33 Quelldateien anzulegen.  Für Neulinge kann diese Flexibilität aber 
34 erst einmal verwirrend sein.  In diesem Kapitel soll darum ein Teil 
35 dieser Strukturen dargestellt werden, vieles aber zur Vereinfachung 
36 auch weggelassen werden.  Für eine komplette Beschreibung des Eingabeformats 
37 siehe @ruser{File structure}.
38
39 Die meisten Beispiele in diesem Handbuch sind kleine Schnipsel, wie 
40 etwa dieser:
41
42 @example
43 c4 a b c
44 @end example
45
46 Wie hoffentlich bekannt ist, lässt sich solch ein Schnipsel nicht 
47 in dieser Form übersetzen.  Diese Beispiele sind also nur Kurzformen 
48 von wirklichen Beispielen.  Sie müssen wenigstens zusätzlich in 
49 geschweifte Klammern gesetzt werden.
50
51 @example
52 @{
53   c4 a b c
54 @}
55 @end example
56
57 Die meisten Beispiele benutzen auch den @code{\relative c'}-Befehl. 
58 Der ist nicht nötig, um die Dateien zu übersetzen, aber in den meisten 
59 Fällen sieht der Notensatz seltsam aus, wenn man den Befehl 
60 weglässt.
61
62 @lilypond[quote,fragment,ragged-right,verbatim]
63 \relative c'' {
64   c4 a b c
65 }
66 @end lilypond
67
68 Eine komplette Definition des Eingabeformats findet sich
69 im Kapitel @ruser{File structure}.
70
71 @menu
72 * Introduction to the LilyPond file structure::
73 * Score is a (single) compound musical expression::
74 * Nesting music expressions::
75 * On the un-nestedness of brackets and ties::
76 @end menu
77
78 @node Introduction to the LilyPond file structure
79 @subsection Introduction to the LilyPond file structure
80
81 @cindex Eingabeformat
82 @cindex Dateistruktur
83 @cindex Struktur, Datei
84
85 Ein grundlegendes Beispiel einer Eingabedatei für LilyPond lautet:
86
87 @example
88 \version @w{"@version{}"}
89 \header @{ @}
90 \score @{
91   @var{...zusammengesetzter Musik-Ausdruck...}  % Die gesamten Noten kommen hier hin!
92   \layout @{ @}
93   \midi @{ @}
94 @}
95 @end example
96
97 @noindent
98 Aufgrund der Flexibilität von LilyPond gibt es viele Variationen dieses 
99 Schemas, aber dieses Beispiel dient als einfacher Ausgangspunkt.
100
101 @funindex \book
102 @funindex \score
103 @funindex book
104 @funindex score
105 @cindex book
106 @cindex score
107
108 Bisher hat noch keines der Beispiele den @code{\score@{@}}-Befehl
109 benutzt, da Lilypond derartige zusätzliche Befehle automatisch
110 bei Bedarf einfügt, wenn die Eingabedatei eine einfache Struktur 
111 hat.
112
113 Sehen wir uns als ein solches einfaches Beispiel an:
114
115 @example
116 \relative c'' @{
117   c4 a d c
118 @}
119 @end example
120
121 @noindent
122 Im Hintergrund kommen hier noch einige Ebenen dazu: LilyPond-Code 
123 in der obigen Form ist in Wirklichkeit eine Abkürzung.  Auch wenn man so 
124 Dateien schreiben kann und sie auch korrekt gesetzt werden, heißt 
125 der vollständige Code, der hier gemeint ist, eigentlich:
126
127 @example
128 \book @{
129   \score @{
130     \new Staff @{
131       \new Voice @{
132         \relative c'' @{
133           c4 a b c
134         @}
135       @}
136     @}
137     \layout @{ @}
138   @}
139 @}
140 @end example
141
142 @noindent
143 Mit anderen Worten:  Wenn die Eingabedatei einen einfachen Musik-Ausdruck
144 enthält, wird LilyPond die Datei so interpretieren, als ob dieser
145 Ausdruck in den oben gezeigten Befehlen eingegeben wurde.  Diese nötige 
146 Stuktur wird automatisch im Speicher beim Aufruf von LilyPond erzeugt, 
147 ohne dass der Benutzer davon etwas bemerkt.
148
149 @cindex Implizite Kontexte
150 @cindex Kontexte, implizit
151
152 @strong{Ein Wort der Warnung ist jedoch angebracht!} Viele der Beispiele
153 in der Dokumentation von LilyPond lassen die @code{\new Staff} und @code{\new Voice}
154 Befehle zur Erzeugung einer Notenzeile und einer Stimme (beides ist in 
155 LilyPond ein sogenannter Kontext) bewusst aus, 
156 damit sie implizit von LilyPond im Speicher erzeugt werden.
157 Für einfache Dokumente funktioniert das im Allgemeinen sehr gut, für 
158 komplexere Partituren können dadurch aber unerwartete Ergebnisse 
159 entstehen, teilweise sogar unerwartete leere Notenzeilen.  Um 
160 die entsprechenden Kontexte in diesem Fall explizit zu erzeugen,
161 siehe @ref{Contexts and engravers}.
162
163 @warning{Wenn mehr als ein paar Zeilen an Musik eingegeben werden,
164 empfielt es sich, die Notenzeilen und die Stimmen immer explizit
165 mit @code{\new Staff} und @code{\new Voice} zu erzeugen.}
166
167 Im Moment wollen wir aber zu unserem ersten Beispiel zurückkehren und
168 nur den @code{\score}-Befehl näher betrachten.
169
170 Eine Partitur (@code{\score}) muss immer mit einem musikalischen Ausdruck 
171 beginnen.  Das ist letztendlich alle Musik, angefangen bei einer 
172 einzelnen
173 Note bis hin zu einer riesigen Partitur mit vielen Notensystemen 
174 (bezeichnet durch @code{GrandStaff}):
175
176 @example
177 @{
178   \new GrandStaff <<
179     @var{...hier die gesamte Partitur...}
180   >>
181 @}
182 @end example
183
184 @noindent
185 Da sich alles innerhalb der geschweiften Klammern @code{@{ ... @}} 
186 befindet, wird es wie ein einziger musikalischer Ausdruck behandelt.
187
188
189 Ein @code{\score} auch andere Dinge enthalten, wie etwa
190
191 @example
192 \score @{
193   @{ c'4 a b c' @}
194   \layout @{ @}
195   \midi @{ @}
196   \header @{ @}
197 @}
198 @end example
199
200 @funindex \header
201 @funindex \layout
202 @funindex \midi
203 @funindex header
204 @funindex layout
205 @funindex midi
206 @cindex header
207 @cindex midi
208 @cindex Layout
209 @cindex Kopfzeile
210
211 @noindent
212 Wie man sieht, sind die drei Befehle @code{\header}, @code{\layout} und
213 @code{\midi} von spezieller Natur: Im Gegensatz zu vielen Anderen Befehlen, 
214 die auch mit einem @code{\} beginnen, liefern sie @emph{keinen} Musikausdruck
215 und sind auch nicht Teil eines musikalischen Ausdrucks.  Daher können sie
216 sowohl innerhalb eines @code{\score}-Blocks als auch außerhalb plaziert
217 werden.  Tatsächlich werden einige dieser Befehle meist außerhalb des 
218 @code{\score}-Blocksgesetzt, zum Beispiel findet sich der @code{\header} 
219 sehr oft oberhalb der @code{\score}-Umgebung.  Das 
220 funktioniert genauso gut.
221
222 Zwei bisher noch nicht aufgetauchte Befehle sind 
223 @code{\layout @{ @}} und @code{\midi @{@}}.  Wenn sie in einer 
224 Datei vorkommen, führt dies dazu, dass Lilypond eine druckfähige PDF-Datei
225 bzw. eine MIDI-Datei erzeugt.  Genauer beschrieben werden sie im 
226 Benutzerhandbuch -- @ruser{Score layout} und
227 @ruser{Creating MIDI files}.
228
229 @cindex Partituren, mehrfache
230 @cindex book-Abschnitte, implizit
231 @cindex implizite book-Umgebung
232 @funindex \book
233 @funindex book
234
235 Ihr LilyPond Code kann auch mehrere @code{\score}-Blöcke enthalten. 
236 Jeder davon wird als eigenständige Partitur interpretiert, die 
237 allerdings alle in dieselbe Ausgabedatei plaziert weden.
238 Ein @code{\book}-Befehl ist nicht explizit notwendig -- er wird 
239 implizit erzeugt.  Wenn jedoch für jeden @code{\score}-Block in einer 
240 einzigen @code{.ly}-Datei eine eigene Ausgabe-Datei erzeugt werden soll,
241 dann muss jeder dieser Blöcke in einen eigenen @code{\book}-Block
242 gesetzt werden: Jeder @code{\book}-Block erzeugt dann eine
243 eigene Ausgabedatei.
244
245 Zusammenfassung:
246
247 Jeder @code{\book}-Block erzeugt eine eigene Ausgabedatei (z.B. eine
248 PDF-Datei).  Wenn Sie keinen derartigen Block explizit angegeben haben,
249 setzt LilyPond den gesamten Dateiinhalt innerhalb eines einzigen 
250 impliziten @code{\book}-Blocks.
251
252 Jeder @code{\score}-Block beschreibt ein eigenständiges Musikstück 
253 innerhalb des @code{\book}-Blocks.
254
255 @cindex Layout-Umgebung, Platzierung
256 @cindex Platzierung von layout-Umgebung
257
258 Jeder @code{\layout}-Block wirkt sich auf den @code{\score}- oder
259 @code{\book}-Block aus, in dem er auftritt.  So wirkt z.B. ein 
260 @code{\layout}-Block innerhalb eines @code{\score}-Blocks nur auf 
261 diesen einen Block und seinen gesamten Inhalt, ein @code{\layout}-Block 
262 außerhalb eines @code{\score}-Blocks (und daher innerhalb des implizit 
263 erzeugten oder explizit angegebenen @code{\book}-Blocks) jedoch auf 
264 alle @code{\score}-Blocks innerhalb dieses @code{\book}-Blocks.
265
266 Nähere Details finden sich im Abschnitt @ruser{Multiple scores in a book}.
267
268 @cindex Variablen
269 @cindex Bezeichner
270
271 Eine gute Möglichkeit zur Vereinfachung sind selbst definierte Variablen. 
272 Alle Vorlagen verwenden diese Möglichkeit.
273
274 @example
275 melodie = \relative c' @{
276   c4 a b c
277 @}
278
279 \score @{
280   @{ \melodie @}
281 @}
282 @end example
283
284 Wenn LilyPond diese Datei analysiert, nimmt es den Inhalt
285 von @code{melodie} (alles nach dem Gleichheitszeichen) und 
286 fügt ihn immer dann ein, wenn ein @code{\melodie} 
287 vorkommt.  Die Namen sind frei wählbar, die Variable kann genauso
288 gut  @code{melodie}, @code{GLOBAL},
289 @code{rechteHandklavier}, oder @code{foofoobarbaz} heißen.  Für mehr
290 Information siehe
291 @ref{Saving typing with variables and functions}.
292 Als Variablenname kann fast jeder beliebige Name benutzt werden,
293 allerdings dürfen nur Buchstaben vorkommen (also keine Zahlen, Unterstriche,
294 Sonderzeichen, etc.) und er darf nicht wie ein LilyPond-Befehl
295 lauten.  Die genauen Einschränkungen sind beschrieben in 
296 @ruser{File structure}.
297
298
299 @seealso
300 Eine vollständige Definition des Eingabeformats findet sich in 
301 @ruser{File structure}.
302
303
304 @node Score is a (single) compound musical expression
305 @subsection Score is a (single) compound musical expression
306
307 @funindex \score
308 @funindex score
309 @cindex score
310 @cindex Partitur
311 @cindex Musikstück
312 @cindex zusammengesetzter Musikausdruck
313 @cindex Musikausdruck, zusammengesetzter
314
315
316 Im vorigen Kapitel, @ref{Introduction to the LilyPond file structure}, 
317 wurde die allgemeine Struktur einer LilyPond-Quelldatei 
318 beschrieben.  Aber anscheinend haben wir die wichtigste 
319 Frage ausgelassen, nämlich wie man herausfindet, was nach 
320 dem @code{\score} geschrieben werden soll.
321
322 In Wirklichkeit ist das aber gar kein Geheimnis.  Diese 
323 Zeile ist die Antwort:
324
325 @quotation
326 @emph{Eine Partitur fängt immer mit @code{\score} an, gefolgt 
327 von einem einzelnen musikalischen Ausdruck.}
328 @end quotation
329
330 @noindent
331 Vielleicht wollen Sie noch einmal 
332 @ref{Music expressions explained} überfliegen.  In diesem
333 Kapitel wurde gezeigt, wie sich große musikalische Ausdrücke 
334 aus kleinen Teilen zusammensetzen.  Noten können zu Akkorden 
335 verbunden werden usw. Jetzt gehen wir aber in die andere Richtung 
336 und betrachten, wie sich ein großer musikalischer Ausdruck 
337 zerlegen lässt.
338
339 @example
340 \score @{
341   @{   % diese Klammer startet den großen mus. Ausdruck
342     <<
343       @var{...hier eine ganze Wagner-Oper einfügen...}
344     >>
345   @}   % diese Klammer beendet den Ausdruck
346   \layout @{ @}
347 @}
348 @end example
349
350 Eine Wagner-Oper ist mindestens doppelt so lang wie dieses Handbuch,
351 beschränken wir uns also auf einen Sänger und Klavier.  Wir brauchen 
352 keine ganze Orchesterpartitur, aber wir brauchen einen Sänger und ein Klavier.
353
354 @example
355 \score @{
356   @{
357     <<
358       \new Staff = "Sänger" <<
359       >>
360       \new PianoStaff = "Klavier" <<
361       >>
362     >>
363   @}
364   \layout @{ @}
365 @}
366 @end example
367
368 Zur Erinnerung: mit @code{<<} und @code{>>} werden Noten gleichzeitig
369 gesetzt; wir wollen ja auch Klavier- und Sängerstimme gleichzeitig 
370 und nicht hintereinander haben.  Bei genauerem Hinsehen fällt auf, dass
371 die @code{<< ... >>}-Konstruktion für die Notenzeile des Sängers eigentlich 
372 nicht unbedingt nötig wäre, da sie ja nur einen (sequenzielle) musikalischen
373 Ausdruck enthält, nämlich alle Noten des Sängers hintereinander.  Daher
374 könnte an sich auch einfach ein @code{@{...@}} benutzt werden.  Die 
375 Spitzklammern sind allerdings notwendig, sobald die Notenzeile mehrere
376 parallelle Ausdrücke -- wie etwa zwei parallele Stimmen oder eine Stimme
377 mit zugehörigem Text -- enthält. 
378 Wir werden die Musik später in das Beispiel einfügen, im Moment begnügen 
379 wir uns mit einigen Platzhalter-Noten und -Texten.
380
381 @lilypond[verbatim,quote,ragged-right]
382 \score {
383   <<
384     \new Staff = "Sänger" <<
385       \new Voice = "Singstimme" { c'1 }
386       \addlyrics { And }
387     >>
388     \new PianoStaff = "Klavier" <<
389       \new Staff = "oben" { }
390       \new Staff = "unten" { }
391     >>
392   >>
393   \layout { }
394 }
395 @end lilypond
396
397 Jetzt haben wir viel mehr Details.  Wir haben ein System (engl. staff) 
398 für einen Sänger, in dem sich wieder eine Stimme (engl. voice) 
399 befindet.  @code{Voice} bedeutet für LilyPond eine Stimme (sowohl 
400 gesungen als auch gespielt) und evtl. zusätzlich einen Text.  Zusätzlich 
401 werden zwei Notensysteme für das Klavier mit dem Befehl @code{\new 
402 PianoStaff} gesetzt.  @code{PianoStaff} bezeichnet die Piano-Umgebung (etwa 
403 durchgehende Taktstriche und die geschweifte Klammer am Anfang), in der 
404 dann wiederum zwei eigene Systeme ("oben" für die rechte Hand und 
405 "unten" 
406 für die linke) erstellt werden.
407
408 Jetzt könnte man in diese Umgebung Noten einfügen.  Innerhalb der 
409 geschweiften Klammern neben @code{\new Voice = "Singstimme"}
410 könnte man
411
412 @example
413 \relative c'' @{
414   r4 d8\noBeam g, c4 r
415 @}
416 @end example
417
418 @noindent
419 schreiben.  Aber wenn man seine Datei so direkt schreibt, wird 
420 der @code{\score}-Abschnitt sehr lang und es wird ziemlich schwer zu 
421 verstehen, wie alles zusammenhängt.  Darum bietet es sich an, Bezeichner 
422 (oder Variablen) zu verwenden.
423
424 @lilypond[verbatim,quote,ragged-right]
425 melodie = \relative c'' { r4 d8\noBeam g, c4 r }
426 text    = \lyricmode { And God said, }
427 oben    = \relative c'' { <g d g,>2~ <g d g,> }
428 unten   = \relative c { b2 e2 }
429
430 \score {
431   <<
432     \new Staff = "Sänger" <<
433       \new Voice = "Singstimme" { \melodie }
434       \addlyrics { \text }
435     >>
436     \new PianoStaff = "Klavier" <<
437       \new Staff = "oben" { \oben }
438       \new Staff = "unten" {
439         \clef "bass"
440         \unten
441       }
442     >>
443   >>
444   \layout { }
445 }
446 @end lilypond
447
448 Achten Sie auf den Unterschied zwischen Noten, die mit @code{\relative}
449 oder direkt in einem musikalischen Ausruck eingegeben werden, und 
450 dem Text des Lieds, der innerhalb @code{\lyricmode} angegeben 
451 werden muss.  Diese Unterscheidung ist für LilyPond essentiell,
452 um zu entscheiden, ob der folgende Inhalt als Musik oder Text 
453 interpretiert werden soll.  Wie könnte LilyPond sonst entscheiden, 
454 ob @code{@{a b c@}} die drei Noten a, b und c darstellen soll oder
455 den Text eines Lieds über das Alphabet!
456
457 Beim Schreiben (oder Lesen) einer @code{\score}-Umgebung 
458 sollte man langsam und sorgfältig vorgehen.  Am besten fängt 
459 man mit dem größten Gebilde an und definiert dann die darin 
460 enthaltenen kleineren der Reihe nach.  Es hilft auch, sehr 
461 genau mit den Einzügen zu sein, so dass jede Zeile, die 
462 der gleichen Ebene angehört, wirklich horizontal an der 
463 gleichen Stelle beginnt.
464
465
466 @seealso
467 Benutzerhandbuch: @ruser{Structure of a score}.
468
469
470 @node Nesting music expressions
471 @subsection Nesting music expressions
472
473 @cindex Notenzeilen, temporäre
474 @cindex Ossia
475 @cindex temporäre Notenzeilen
476
477 Notenzeilen (die @q{Staff}-Kontexte) müssen nicht unbedingt gleich
478 zu Beginn erzeugt werden -- sie können auch zu einem späteren
479 Zeitpunkt eingeführt weden.  Das ist vor allem nützlichm um 
480 @rglosnamed{ossia,Ossias} zu erzeugen.  Hier folgt ein kures Beispiel,
481 wie eine zusätzliche temporäre Notenzeile für nur drei Noten erzeugt 
482 werden kann:
483
484 @lilypond[verbatim,quote,ragged-right]
485 \new Staff {
486   \relative g' {
487     r4 g8 g c4 c8 d |
488     e4 r8
489     <<
490       { f c c }
491       \new Staff {
492         f8 f c
493       }
494     >>
495     r4 |
496   }
497 }
498 @end lilypond
499
500 @noindent
501 Wie man sieht, ist die Größe des Notenschlüssels dieselbe, wie sie 
502 auch bei einer Schlüsseländerung auftritt -- etwas kleiner als
503 der Schlüssel am Beginn einer Notenzeile.   Dies ist normal für
504 Notenschlüssel, die innerhalb einer Notenzeile gesetzt werden.
505
506 @cindex Notenzeile, Positionierung
507 @cindex Positionierung einer Notenzeile
508
509 Der Ossia-Abschnitt kann auch oberhalb der Hauptnotenzeile
510 gesetzt werden:
511
512 @lilypond[verbatim,quote,ragged-right]
513 \new Staff = "Hauptzeile" {
514   \relative g' {
515     r4 g8 g c4 c8 d |
516     e4 r8
517     <<
518       { f c c }
519       \new Staff \with {
520         alignAboveContext = "Hauptzeile" }
521       { f8 f c }
522     >>
523     r4 |
524   }
525 }
526 @end lilypond
527
528 Dieses Beispiel benutzt den @code{\with}-Befehl, der später noch
529 genauer erklärt wird.  Damit kann das Standardverhalten einer
530 einzelnen Notenzeile geändert werden: Hier wird einfach angegeben,
531 dass die neue Notenzeile oberhalb der bereits existierenden Zeile
532 mit Namen @qq{Hauptzeile} plaziert werden soll, anstatt 
533 standardmäßig unterhalb.
534
535
536 @seealso
537 Ossia werden oft ohne Notenschlüssel und Taktangabe gedruck, meist 
538 auch etwas kleiner als die anderen Notenzeilen.  Dies ist natürlich 
539 auch in LilyPond möglich, benötigt aber Befehle, die bisher noch 
540 nicht vorgestellt wurden.  Siehe @ref{Size of objects}
541 und @ruser{Ossia staves}.
542
543
544 @node On the un-nestedness of brackets and ties
545 @subsection On the un-nestedness of brackets and ties
546
547 @cindex Klammern, geschachtelt
548 @cindex Schachtelung von Klammern
549 @cindex Klammer-Typen
550
551 Sie haben bisher zahlreiche verschiedene Arten von Klammern
552 beim Schreiben von Musik mit LilyPond kennengelernt.  Diese
553 folgen verschiedenen Regeln, die zu Beginn vielleicht 
554 verwirrend wirken.  Bevor die genauen Regeln vorgestellt werden,
555 wollen wir die diversen Klammerarten kurz rekapitulieren:
556
557 @c attempt to force this onto a new page
558 @need 50
559 @multitable @columnfractions .3 .7
560 @headitem Klammerart
561   @tab Funktion
562 @item @code{@{ .. @}}
563   @tab Umschließt ein sequenzielles Musiksegment
564 @item @code{< .. >}
565   @tab Umschließt die Noten eines Akkords
566 @item @code{<< .. >>}
567   @tab Umschließt parallele Musikausdrücke
568 @item @code{( .. )}
569   @tab Markiert den Beginn und das Ende eines Haltebogens
570 @item @code{\( .. \)}
571   @tab Markiert den Beginn und das Ende eines Phasierungsbogens
572 @item @code{[ .. ]}
573   @tab Markiert den Beginn und das Ende eines manuell erzeugten Balkens
574 @end multitable
575
576 Zusätzlich sollten vielleicht noch einige weiter Konstruktionen
577 erwähnt werden, die Noten auf irgendeine Art und Weise verbinden:
578 Haltebögen (durch eine Tilde @code{~} markiert),
579 Triolen (als @code{\times x/y @{..@}} geschrieben) und
580 Vorschlagnoten (als @code{\grace@{..@}} notiert).
581
582 Außerhalb von LilyPond fordert die übliche Benutzung von 
583 Klammern, dass die entsprechenden Arten korrekt verschachtelt
584 werden, wie z.B. in @code{<< [ @{ ( .. ) @} ] >>}.  Die 
585 schließenden Klammern kommen dabei in der umgekehrten Reihenfolge
586 wie die öffnenden Klammern vor.  Dies ist auch in LilyPond 
587 ein @strong{Muss} für die drei Klammerarten, die in obiger 
588 Tabelle mit dem Wort @q{Umschließt} beschrieben werden -- sie 
589 müssen korrekt geschachtelt werden.
590 Die restlichen Klammerarten (durch @q{Markiert} beschrieben),
591 die Haltebögen und die Triolen brauchen jedoch mit den 
592 anderen Klammerarten @strong{nicht} unbedingt korrekt 
593 geschachtelt werden.  Tatsächlich sind sie auch keine Klammern
594 in dem Sinn, dass sie etwas umschließen, sondern viel mehr
595 Indikatoren, an welcher Stelle ein bestimmtes musikalisches 
596 Objekt beginnt oder endet.
597
598 So kann also z.B. einen Phrasierungsbogen vor einem manuellen 
599 Balken beginn, jedoch schon vor dem Ende des Balkens enden.
600 Dies mag zwar musikalisch wenig Sinn ergeben, ist aber in LilyPond
601 auch möglich:
602
603 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
604  { g8\( a b[ c b\) a] }
605 @end lilypond
606
607 Im Allgemeinen können die verschiedenen Klammerarten, Haltebögen,
608 Triolen und Vorschlagnoten beliebig kombiniert werden.
609 Das folgende Beispiel zeigt einen Balken, der in eine Triole reicht 
610 (Zeile 1), eine Bindebogen, der ebenfalls in eine Triole 
611 reicht (Zeile 2), einen Balken und einen Bindeboden in eine Triole,
612 ein Haltebogen, der über zwei Triolen läuft, sowie einen 
613 Phrasierungsbogen, der in einer Triole beginnt (Zeilen 3 und 4).
614
615 @lilypond[quote,verbatim,fragment,ragged-right]
616 {
617   r16[ g16 \times 2/3 {r16 e'8] }
618   g16( a \times 2/3 {b d) e' }
619   g8[( a \times 2/3 {b d') e'~]}
620   \times 4/5 {e'32\( a b d' e'} a'4.\)
621 }
622 @end lilypond
623
624
625 @node Voices contain music
626 @section Voices contain music
627
628 Sänger brauchen Stimmen zum Singen, und LilyPond braucht sie auch:
629 in der Tat sind alle Noten für alle Instrumente in einer Partitur
630 innerhalb von Stimmen gesetzt.  Die Stimme ist das grundlegendste Prinzip
631 von LilyPond.
632
633 @menu 
634 * I'm hearing Voices::
635 * Explicitly instantiating voices::
636 * Voices and vocals::
637 @end menu 
638
639 @node I'm hearing Voices
640 @subsection I'm hearing Voices
641
642 @cindex Polyphonie
643 @cindex Ebenen
644 @cindex mehrere Stimmen
645 @cindex Stimmen, mehrere
646 @cindex Voice context
647 @cindex context, Voice
648 @cindex Kontext, Stimme
649 @cindex Stimmenkontext
650 @cindex gleichzeitige Noten
651 @cindex Stimmen versus Akkorde
652 @cindex Akkorde versus Stimmen
653 @cindex Noten gleichzeitig
654
655 Die grundegendsten und innersten Ebenen ein einer LilyPond-Partitur
656 werden @qq{Voice context} (Stimmenkontext) oder auch nur @qq{Voice}
657 (Stimme) genannt.  Stimmen werden in anderen Notationsprogrammen
658 manchmal auch als @qq{layer} (Ebene) bezeichnet.
659
660 Tatsächlich ist die Stimmenebene die einzige, die wirklich Noten 
661 enthalten kann.  Wenn kein Stimmenkontext explizit erstellt wird, 
662 wird er automatisch erstellt, wie am Anfang dieses Kapitels
663 gezeigt.  Manche Instrumente wie etwa die Oboe können nur eine
664 Note gleichzeitig spielen.  Noten für solche Instrumente sind
665 monophon und brauchen nur eine einzige Stimme.  Instrumente, die
666 mehrere Noten gleichzeitig spielen können, wie das Klavier, brauchen
667 dagegeben oft mehrere Stimmen, um die verschiedenen gleichzeitig
668 erklingenden Noten mit oft unterschiedlichen Rhythmen darstellen 
669 zu können.
670
671 Eine einzelne Stimme kann natürlich auch vielen Noten in einem Akkord
672 enhalten -- wann also braucht man dann mehrere Stimmen? Schauen wir
673 uns zuerst dieses Beispiel mit vier Akkorden an:
674
675 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
676 \key g \major
677 <d g>4 <d fis> <d a'> <d g>
678 @end lilypond
679
680 Das kann ausgedrückt werden, indem man die einfachen spitzen Klammern
681 @code{< ... >} benützt, um Akkorde anzuzeigen.  Hierfür braucht man
682 nur eine Stimme.  Aber gesetzt der Fall das Fis sollte eigentlich
683 eine Achtelnote sein, gefolgt von einer Achtelnote G (als Durchgangsnote
684 hin zum A)? Hier haben wir also zwei Noten, die zur gleichen Zeit
685 beginnen, aber unterschiedliche Dauern haben: die Viertelnote D und die
686 Achtelnote Fis.  Wie können sie notiert werden? Als Akkord kann man sie 
687 nicht schreiben, weil alle Noten in einem Akkord die gleiche Länge besitzen
688 müssen.  Sie können auch nicht als aufeinanderfolgende Noten geschrieben
689 werden, denn sie beginnen ja zur selben Zeit.  In diesem Fall also brauchen
690 wir zwei Stimmen.
691
692 Wie aber wird das in der LilyPond-Syntax ausgedrückt?
693
694 @funindex << \\ >>
695 @funindex \\
696
697 Die einfachste Art, Fragmente mit mehr als einer Stimme auf einem System
698 zu notieren, ist, die Stimmen nacheinander (jeweils mit den Klammern
699 @code{@{ ... @}}) zu schreiben und dann mit den spitzen Klammern
700 (@code{<<...>>}) simultan zu kombinieren.  Die beiden Fragmente müssen
701 zusätzlich noch mit zwei Backslash-Zeichen (@code{\\}) voneinander
702 getrennt werden, damit sie als zwei unterschiedliche Stimmen erkannt 
703 werden.  Ohne diese Trenner würden sie als eine einzige Stimme notiert
704 werden.  Diese Technik ist besonders dann angebracht, wenn es sich bei
705 den Noten um hauptsächlich homophone Musik handelt, in der hier und da
706 polyphone Stellen vorkommen.
707
708 So sieht es aus, wenn die Akkorde in zwei Stimmen aufgeteilt werden
709 und zur Durchgangsnote noch ein Bogen hinzugefügt wird:
710
711 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
712 \key g \major
713 %    Voice "1"                  Voice "2"
714 << { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
715 @end lilypond
716
717 Beachte, dass die Hälse der zweiten Stimme nun nach unten zeigen.
718
719 Hier ein anderes Beispiel:
720
721 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
722 \key d \minor
723 %    Voice "1"             Voice "2"
724 << { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
725 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
726 << { a2. r4 }         \\ { fis2. s4 }       >> |
727 @end lilypond
728
729 Es ist nicht notwendig, für jeden Takt eine eigene
730 @code{<< \\ >>}-Konstruktion zu benutzen.  Bei Musik mit nur wenigen
731 Noten pro Takt kann es die Quelldatei besser lesbar machen, aber
732 wenn in einem Takt viele Noten vorkommen, kann man die gesamten Stimmen
733 separat schreiben, wie hier:
734
735 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
736 \key d \minor
737 << {
738   % Voice "1"
739   r4 g g4. a8 |
740   bes4 bes c bes |
741   a2. r4 |
742 } \\ {
743   % Voice "2"
744   d,2 d4 g |
745   g4 g g8( a) g4 |
746   fis2. s4 |
747 } >>
748 @end lilypond
749
750 Dieses Beispiel hat nur zwei Stimmen, aber die gleiche Konstruktion kann
751 angewendet werden, wenn man drei oder mehr Stimmen hat, indem man weitere
752 Backslash-Trenner hinzufügt.
753
754 Die Stimmenkontexte tragen die Namen @code{"1"}, @code{"2"} usw. In jedem
755 dieser Kontexte wird die vertikale Ausrichtung von Hälsen, Bögen, Dynamik-Zeichen
756 usw. entsprechend ausgerichtet.
757
758 @lilypond[quote,verbatim,fragment]
759 \new Staff \relative c' {
760   % Main voice
761   c16 d e f
762   %    Voice "1"     Voice "2"                 Voice "3"
763   << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
764   << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
765 }
766 @end lilypond
767
768 Diese Stimmen sind alle getrennt von der Hauptstimme, die die Noten 
769 außerhalb der @code{<< .. >>}-Konstruktion beinhaltet.  Lassen wir es
770 uns die @emph{simultane Konstruktion} nennen.  Bindebögen und Legatobögen
771 können nur Noten in der selben Stimmen miteinander verbinden und können
772 also somit nicht aus der simultanen Konstruktion hinausreichen.  Umgekehrt
773 gilt, dass parallele Stimmen aus eigenen simultanen Konstruktionen auf
774 dem gleichen Notensystem die gleiche Stimme sind.  Auch andere, mit dem
775 Stimmenkontext verknüpfte Eigenschaften erstrecken sich auf alle
776 simultanen Konstrukte.  Hier das gleiche Beispiel, aber mit unterschiedlichen Farben für die Notenköpfe der unterschiedlichen Stimmen.
777 Beachten Sie, dass Änderungen in einer Stimme sich nicht auf die anderen
778 Stimmen erstrecken, aber sie sind weiterhin in der selben Stimme vorhanden,
779 auch noch später im Stück.  Beachten Sie auch, dass übergebundene Noten
780 über die gleiche Stimme in zwei Konstrukten verteilt werden können, wie
781 hier an der blauen Dreieckstimme gezeigt.
782
783 @lilypond[quote,verbatim]
784 \new Staff \relative c' {
785   % Main voice
786   c16 d e f
787   << % Bar 1
788     {
789       \voiceOneStyle
790       g4 f e
791     }
792   \\
793     {
794       \voiceTwoStyle
795       r8 e4 d c8 ~
796     }
797   >>
798   << % Bar 2
799      % Voice 1 continues
800     { d2 e2 }
801   \\
802      % Voice 2 continues
803     { c8 b16 a b8 g ~ g2 }
804   \\
805     {
806       \voiceThreeStyle
807       s4 b4 c2
808     }
809   >>
810 }
811 @end lilypond
812
813 @funindex \voiceOneStyle
814 @funindex \voiceTwoStyle
815 @funindex \voiceThreeStyle
816 @funindex \voiceFourStyle
817 @funindex \voiceNeutralStyle
818
819 Die Befehle @code{\voiceXXXStyle} sind vor allem dazu da, um in
820 pädagogischen Dokumenten wie diesem hier angewandt zu werden.
821 Sie verändern die Farbe des Notenkopfes, des Halses und des Balkens, und
822 zusätzlich die Form des Notenkopfes, damit die einzelnen Stimmen
823 einfach auseinander gehalten werden können.  Die erste Stimme ist als
824 rote Raute definiert, die zweite Stimme als blaue Dreiecke, die dritte
825 Stimme als grüne Kreise mit Kreuz und die vierte Stimme (die hier nicht
826 benutzt wird) hat dunkelrote Kreuze.  @code{\voiceNeutralStyle} (hier auch
827 nicht benutzt) macht diese Änderungen rückgängig.  Später soll gezeigt
828 werden, wie Befehle wie diese vom Benutzer selber erstellt werden 
829 können.  Siehe auch @ref{Visibility and color of objects} und
830 @ref{Using variables for tweaks}.
831
832 @cindex Polyphonie und relativer Notationsmodus
833 @cindex relativer Notationsmodus und Polyphonie
834
835 Polyphonie ändert nicht die Verhältnisse der Noten innerhalb eines
836 @code{\relative @{ @}}-Blocks.  Jede Note wird weiterhin relativ zu 
837 der vorherigen Note errechnet, oder relativ zur ersten Note des vorigen
838 Akkords.  So ist etwa hier
839
840 @example
841 \relative c' @{ NoteA << < NoteB NoteC > \\ NoteD >> NoteE @}
842 @end example
843
844 @noindent
845 @code{NoteB} bezüglich @code{NoteA}                      @*
846 @code{NoteC} bezüglich @code{NoteB}, nicht @code{noteA};   @*
847 @code{NoteD} bezüglich @code{NoteB}, nicht @code{NoteA} oder
848 @code{NoteC};                                                 @*
849 @code{NoteE} bezüglich @code{NoteD}, nicht @code{NoteA} errechnet.
850
851 Eine andere Möglichkeit ist, den @code{\relative}-Befehl vor jede
852 Stimme zu stellen.  Das bietet sich an, wenn die Stimmen weit voneinander
853 entfernt sind.
854
855 @example
856 \relative c' @{ NoteA ... @}
857 <<
858   \relative c'' @{ < NoteB NoteC > ... @}
859 \\
860   \relative g' @{ NoteD ... @}
861 >>
862 \relative c' @{ NoteE ... @}
863 @end example
864
865 Zum Schluss wollen wir die Stimmen in einem etwas komplizierteren Stück
866 analysieren.  Hier die Noten der ersten zwei Takte von Chopins
867 @notation{Deux Nocturnes}, Op. 32.  Dieses Beispiel soll später in diesem
868 und dem nächsten Kapitel benutzt werden, um verschiedene Techniken,
869 Notation zu erstellen, zu demonstrieren.  Ignorieren Sie deshalb an diesem
870 Punkt alles in folgendem Code, das Ihnen seltsam vorkommt, und konzentrieren
871 Sie sich auf die Noten und die Stimmen.  Die komplizierten Dinge werden
872 in späteren Abschnitten erklärt werden.
873
874 @c The following should appear as music without code
875 @lilypond[quote,ragged-right]
876 \new Staff \relative c'' {
877   \key aes \major
878   << % Voice one
879     { c2 aes4. bes8 }
880   \\ % Voice two
881     { aes2 f4 fes }
882   \\ % No voice three
883   \\ % Voice four
884     {
885       % Ignore these for now - they are explained in Ch 4
886       \once \override NoteColumn #'force-hshift = #0
887       <ees c>2
888       \once \override NoteColumn #'force-hshift = #0.5
889       des2
890     }
891   >> |
892   <c ees aes c>1 |
893 }
894 @end lilypond
895
896 Die Richtung der Hälse wird  oft benutzt, um anzuzeigen, dass zwei 
897 gleichzeitige Melodien sich fortsetzen.  Hier zeigen die Hälse aller
898 oberen Noten nach oben und die Hälse aller unteren Noten nach unten.
899 Das ist der erste Anhaltspunkt, dass mehr als eine Stimme benötigt 
900 wird.
901
902 Aber die wirkliche Notwendigkeit für mehrere Stimmen tritt erst
903 dann auf, wenn unterschiedliche Noten gleichzeitig erklingen, aber
904 unterschiedliche Dauern besitzen.  Schauen Sie sich die Noten 
905 auf dem dritten Schlag im ersten Takt an.  Das As ist eine punktierte
906 Viertel, das F ist eine Viertel und das Des eine Halbe.  Sie können
907 nicht als Akkord geschrieben werden, denn alle Noten in einem Akkord
908 besitzen die gleiche Dauer.  Sie können aber auch nicht nacheinander
909 geschrieben werden, denn sie beginnen auf der gleichen Taktzeit.  Dieser
910 Taktabschnitt benötigt drei Stimmen, und normalerweise schreibt man
911 drei Stimmen für den ganzen Takt, wie im Beispiel unten zu sehen ist;
912 hier sind unterschiedliche Köpfe und Farben für die verschiedenen Stimmen
913 eingesetzt.  Nocheinmal: der Quellcode für dieses Beispiel wird später 
914 erklärt werden, deshalb ignorieren Sie alles, was Sie hier nicht 
915 verstehen können.
916
917 @c The following should appear as music without code
918 @c The three voice styles should be defined in -init
919 @lilypond[quote,ragged-right]
920 \new Staff \relative c'' {
921   \key aes \major
922   <<
923     { % Voice one
924       \voiceOneStyle
925       c2 aes4. bes8
926     }
927   \\  % Voice two
928     { \voiceTwoStyle
929       aes2 f4 fes
930     }
931   \\  % No Voice three (we want stems down)
932   \\  % Voice four
933     { \voiceThreeStyle
934       % Ignore these for now - they are explained in Ch 4
935       \once \override NoteColumn #'force-hshift = #0
936       <ees c>2
937       \once \override NoteColumn #'force-hshift = #0.5
938       des2
939     }
940   >> |
941   <c ees aes c>1 |
942 }
943 @end lilypond
944
945 Versuchen wir also, diese Musik selber zu notieren.  Wie wir sehen 
946 werden, beinhaltet das einige Schwierigkeiten.  Fangen wir an, wie
947 wir es gelernt haben, indem wir mit der @code{<< \\  >>}-Konstruktion
948 die drei Stimmen des ersten Taktes notieren:
949
950 @lilypond[quote,verbatim,fragment,ragged-right]
951 \new Staff \relative c'' {
952   \key aes \major
953   <<
954     { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
955   >>
956   <c ees aes c>1
957 }
958 @end lilypond
959
960 @cindex Hals nach unten
961 @cindex Hals nach oben
962 @cindex Notenhals, Richtung
963 @cindex Richtung des Notenhalses
964 @cindex Notenhalsrichtung
965 @cindex Stimmen und Notenhalsrichtung
966 @cindex Notenhalsrichtung in Stimmen
967
968 Die Richtung des Notenhalses wird automatisch zugewiesen; die ungeraden
969 Stimmen tragen Hälse nach oben, die gerade Hälse nach unten.  Die Hälse
970 für die Stimmen 1 und 2 stimmen, aber die Hälse in der dritten Stimme
971 sollen in diesem Beispiel eigentlich nach unten zeigen.  Wir können das
972 korrigieren, indem wir die dritte Stimme einfach auslassen und die
973 Noten in die vierte Stimme verschieben:
974
975 @c KEEP LY
976 @lilypond[quote,verbatim,fragment,ragged-right]
977 \new Staff \relative c'' {
978   \key aes \major
979   << % erste Stimme
980     { c2 aes4. bes8 }
981   \\ % zweite Stimme
982     { aes2 f4 fes   }
983   \\ % Stimme drei auslassen
984   \\ % vierte Stimme
985     { <ees c>2 des2 }
986   >> |
987   <c ees aes c>1 |
988 }
989 @end lilypond
990
991 @noindent
992 Wie zu sehen ist, ändert das die Richtung der Hälse, aber zeigt ein
993 anderes Problem auf, auf das man manchmal bei mehreren Stimmen stößt:
994 Die Hälse einer Stimme können mit den Hälsen anderer Stimmen kollidieren.
995 LilyPond erlaubt Noten in verschiedenen Stimmen sich auf der gleichen
996 vertikalen Position zu befinden, wenn die Hälse in entgegengesetzte
997 Richtungen zeigen, und positioniert die dritte und vierte Stimme dann
998 so, dass Zusammenstöße möglichst vermieden werden.  Das funktioniert
999 gewöhnlich recht gut, aber in diesem Beispiel sind die Noten der untersten
1000 Stimme eindeutig standardmäßig schlecht positioniert.  LilyPond bietet
1001 verschiedene Möglichkeiten, die horizontale Position von Noten
1002 anzupassen.  Wir sind aber noch nicht so weit, dass wir diese Funktionen
1003 anwenden könnten.  Darum heben wir uns das Problem für einen späteren Abschnitt auf; siehe @code{force-hshift}-Eigenschaft in @ref{Fixing
1004 overlapping notation}.
1005
1006
1007 @seealso
1008 Notationsreferenz: @ruser{Multiple voices}.
1009
1010
1011 @node Explicitly instantiating voices
1012 @subsection Explicitly instantiating voices
1013
1014 @funindex \voiceOne
1015 @funindex voiceOne
1016 @funindex \voiceTwo
1017 @funindex voiceTwo
1018 @funindex \voiceThree
1019 @funindex voiceThree
1020 @funindex \voiceFour
1021 @funindex voiceFour
1022 @funindex \oneVoice
1023 @funindex oneVoice
1024 @funindex \new Voice
1025 @cindex Voice context, erstellen von
1026 @cindex Stimmenkontexte, erstellen von
1027
1028 Voice-Kontexte können auch manuell innerhalb 
1029 eines @code{<< >>}-Abschnittes initiiert werden.  Mit den Befehlen 
1030 @code{\voiceOne} bis hin zu @code{\voiceFour} kann jeder Stimme 
1031 entsprechendes Verhalten von vertikaler Verschiebung und Richtung 
1032 von Hälsen und anderen Objekten hinzugefügt werden.  In längeren 
1033 Partituren können die Stimmen damit besser auseinander gehalten 
1034 werden.
1035
1036 Die @code{<< \\ >>}-Konstruktion, die wir im vorigen Abschnitt
1037 verwendet haben:
1038
1039 @example
1040 \new Staff @{
1041   \relative c' @{
1042     << @{ e4 f g a @} \\ @{ c,4 d e f @} >>
1043   @}
1044 @}
1045 @end example
1046
1047 @noindent
1048 ist identisch mit
1049
1050 @example
1051 \new Staff <<
1052   \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
1053   \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
1054 >>
1055 @end example
1056
1057 Beide würden folgendes Notenbild erzeugen:
1058
1059 @c The following example should not display the code
1060 @lilypond[ragged-right,quote]
1061 \new Staff <<
1062   \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
1063   \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
1064 >>
1065 @end lilypond
1066
1067 @cindex Stimmen, mehrere zu einer zusammenführen
1068 @cindex eine Stimme wiederherstellen
1069
1070 Der @code{\voiceXXX}-Befehl setzt die Richtung von Hälsen, 
1071 Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen.
1072 @code{\voiceOne} und @code{\voiceThree} lassen diese Objekte
1073 nach oben zeigen, @code{\voiceTwo} und @code{\voiceFour}
1074 dagegen lassen sie abwärts zeigen. Diese Befehle erzeugen eine
1075 horizontale Verschiebung, wenn es erforderlich ist, um Zusammenstöße
1076 zu vermeiden.  Der Befehl 
1077 @code{\oneVoice} stellt wieder auf das normale Verhalten um.
1078
1079 Schauen wir uns in einigen einfachen Beispielen an, was genau
1080 die Befehle @code{\oneVoice}, @code{\voiceOne} und @code{voiceTwo}
1081 mit Text, Bögen und Dynamikbezeichnung anstellen:
1082
1083 @lilypond[quote,ragged-right,verbatim]
1084 \relative c'{
1085   % Default behavior or behavior after \oneVoice
1086   c d8 ~ d e4 ( f g a ) b-> c
1087 }
1088 @end lilypond
1089
1090 @lilypond[quote,ragged-right,verbatim]
1091 \relative c'{
1092   \voiceOne
1093   c d8 ~ d e4 ( f g a ) b-> c
1094   \oneVoice
1095   c, d8 ~ d e4 ( f g a ) b-> c
1096 }
1097 @end lilypond
1098
1099 @lilypond[quote,ragged-right,verbatim]
1100 \relative c'{
1101   \voiceTwo
1102   c d8 ~ d e4 ( f g a ) b-> c
1103   \oneVoice
1104   c, d8 ~ d e4 ( f g a ) b-> c
1105 }
1106 @end lilypond
1107
1108 Schauen wir und nun drei unterschiedliche Arten an, den gleichen
1109 Abschnitt polyphoner Musik zu notieren, jede Art mit ihren 
1110 Vorteilen in unterschiedlichen Situationen.  Wir benutzen dabei
1111 das Beispiel vom vorherigen Abschnitt.
1112
1113 Ein Ausdruck, der direkt innerhalb einer @code{<< >>}-Umgebung 
1114 auftritt, gehört der Hauptstimme an.  Das ist nützlich, wenn zusätzliche 
1115 Stimme auftreten, während die Hauptstimme sich fortsetzt.  Hier also 
1116 eine bessere Version des Beispiels aus dem vorigen Abschnitt.  Die 
1117 farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in 
1118 einem einzigen Stimmen (@code{voice})-Kontext befindet.  Somit kann ein
1119 Phrasierungsbogen ober sie gesetzt werden.
1120
1121 @lilypond[quote,ragged-right,verbatim]
1122 \new Staff \relative c' {
1123   \voiceOneStyle
1124   % The following notes are monophonic
1125   c16^( d e f
1126   % Start simultaneous section of three voices
1127   <<
1128     % Continue the main voice in parallel
1129     { g4 f e | d2 e2) }
1130     % Initiate second voice
1131     \new Voice {
1132       % Set stems, etc, down
1133       \voiceTwo
1134       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1135     }
1136     % Initiate third voice
1137     \new Voice {
1138       % Set stems, etc, up
1139       \voiceThree
1140       s2. | s4 b4 c2
1141     }
1142   >>
1143 }
1144 @end lilypond
1145
1146 @cindex Verschachteln von musikalischen Ausdrücken
1147 @cindex Verschachteln von gleichzeitigen Ausdrücken
1148 @cindex Ausdrücke, Verschachteln von
1149 @cindex Stimmen, temporär
1150 @cindex Stimmen, Verschachteln von
1151 @cindex Verschachteln von Stimmen
1152 @cindex temporäre Stimmen
1153
1154 Tiefer verschachtelte polyphone Konstrukte sind möglich, und
1155 wenn eine Stimme nur kurz auftaucht, kann das der bessere Weg
1156 sein, Noten zu setzen:
1157
1158 @lilypond[quote,ragged-right,verbatim]
1159 \new Staff \relative c' {
1160   c16^( d e f
1161   <<
1162     { g4 f e | d2 e2) }
1163     \new Voice {
1164       \voiceTwo
1165       r8 e4 d c8 ~ |
1166       <<
1167         {c8 b16 a b8 g ~ g2}
1168         \new Voice {
1169           \voiceThree
1170           s4 b4 c2
1171         }
1172       >>
1173     }
1174   >>
1175 }
1176 @end lilypond
1177
1178 @cindex Platzhalternoten
1179 @cindex unsichtbare Noten
1180 @cindex Noten verstecken
1181
1182 Diese Methode, neue Stimmen kurzzeitig zu verschachteln, bietet sich
1183 an, wenn nur sehr kleine Abschnitte polyphonisch gesetzt sind.  Wenn
1184 aber die ganze Partitur polyphon ist, ist es meistens klarer, direkt
1185 unterschiedliche Stimmen über die gesamte Partitur hinweg einzusetzen.
1186 Hierbei kann man mit unsichtbaren Noten dann die Stellen überspringen,
1187 an denen die Stimme nicht auftaucht, wie etwa hier:
1188
1189 @lilypond[quote,ragged-right,verbatim]
1190 \new Staff \relative c' <<
1191   % Initiate first voice
1192   \new Voice {
1193     \voiceOne
1194     c16^( d e f g4 f e | d2 e2) |
1195   }
1196   % Initiate second voice
1197   \new Voice {
1198     % Set stems, etc, down
1199     \voiceTwo
1200     s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1201   }
1202   % Initiate third voice
1203   \new Voice {
1204     % Set stems, etc, up
1205     \voiceThree
1206     s1 | s4 b4 c2 |
1207   }
1208 >>
1209 @end lilypond
1210
1211 @subsubheading Note columns
1212
1213 @cindex Notenkolumne
1214 @cindex Notenkollision
1215 @cindex Zusammenstöße von Noten
1216 @cindex Kollisionen von Noten
1217 @cindex Vertikale Position
1218 @cindex shift-Befehle
1219 @cindex Verschieben von Noten
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 Dicht notierte Noten in einem Akkord, oder Noten auf der gleichen
1230 Taktzeit aber in unterschiedlichen Stimmen, werden in zwei, manchmal
1231 auch mehreren Kolumnen getzt, um die Noten am Überschneiden zu 
1232 hindern.  Wir bezeichnen sie als Notenkolumnen.  Jede Stimme hat
1233 eine eigene Kolumne, und ein stimmenabhängiger Verschiebunsbefehl (engl.
1234 shift) wird eingesetzt, wenn eine Kollision auftreten könnte.  
1235 Das zeigt das Beispiel oben.  Im zweiten Takt wird das C der zweiten
1236 Stimme nach rechts verschoben, relativ gesehen zum D der ersten Stimme,
1237 und im letzten Akkord wird das C der dritten Stimme auch nach 
1238 rechts verschoben im Verhältnis zu den anderen Stimmen.
1239
1240 Die Befehle @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn} und
1241 @code{\shiftOff} bestimmen den Grad, zu dem Noten und Akkorde
1242 verschoben werden sollen, wenn sich sonst eine Kollision nicht
1243 vermeiden ließe.  Die Standardeinstellung ist, dass die äußeren
1244 Stimmen (also normalerweise Stimme 1 und 2) @code{\shiftOff}
1245 eingestellt haben, während für die inneren Stimmen (3 und 4)
1246 @code{\shiftOn} eingeschaltet ist.  Wenn eine Verschiebung
1247 auftritt, werden Stimmen 1 und 3 nach rechts und Stimmen 2 und 4
1248 nach links verschoben.
1249
1250 @code{\shiftOnn} und @code{\shiftOnnn} definieren weitere
1251 Verschiebungsebenen, die man kurzzeitig anwählen kann, um
1252 Zusammenstöße in komplexen Situationen aufzulösen, siehe auch
1253 @ref{Real music example}.
1254
1255 Eine Notenkolumne kann nur eine Note (oder einen Akkord) von
1256 einer Stimme mit Hälsen nach oben und eine Note (oder einen
1257 Akkord) von einer Stimme mit Hälsen nach unten tragen.  Wenn
1258 Noten von zwei Stimmen mit den Hälsen in die gleiche Richtung
1259 an der selben Stelle auftreten und in beiden Stimmen ist
1260 keine Verschiebung oder die gleiche Verschiebungsebene
1261 definiert, wird die Fehlermeldung 
1262 @qq{zu viele kollidierende Notenspalten werden ignoriert}
1263 ausgegeben.
1264
1265
1266 @seealso
1267 Notationsreferenz: @ruser{Multiple voices}.
1268
1269
1270 @node Voices and vocals
1271 @subsection Voices and vocals
1272
1273 Die Notation von Vokalmusik ihre eigene Schwierigkeit, nämlich
1274 die Kombination von zwei Ausdrücken: den Noten und dem Text.
1275 Achtung: Der Gesangstext wird auf Englisch @qq{lyrics} genannt.
1276
1277
1278 @funindex \new Lyrics
1279 @funindex \lyricsto
1280 @funindex lyricsto
1281 @funindex Lyrics
1282 @cindex Lyrics context, erstellen
1283 @cindex Gesangtext, Verbindung mit Noten
1284
1285 Wir haben schon den @code{\addlyrics@{@}}-Befehl betrachtet,
1286 mit dem einfache Partituren gut erstellt werden können.  
1287 Diese Methode ist jedoch recht eingeschränkt.  Wenn der Notensatz
1288 komplexer wird, muss der Gesangstext mit einem neuen
1289 @code{Lyrics}-Kontext begonnen werden (mit dem Befehl
1290 @code{\new Lyrics}) und durch den Befehl @code{\lyricsto@{@}}
1291 mit einer bestimmten Stimme verknüpft werden, indem die
1292 Bezeichnung der Stimme benutzt wird.
1293
1294 @lilypond[quote,verbatim,fragment]
1295 <<
1296   \new Voice = "one" \relative c'' {
1297     \autoBeamOff
1298     \time 2/4
1299     c4 b8. a16 g4. f8 e4 d c2
1300   }
1301   \new Lyrics \lyricsto "one" {
1302     No more let sins and sor -- rows grow.
1303   }
1304 >>
1305 @end lilypond
1306
1307 Beachten Sie, dass der Notentext nur mit einem @code{Voice}-Kontext
1308 verknüpft werden kann, nicht mit einem @code{Staff}-Kontext.
1309 In diesem Fall also müssen Sie ein System (@code{Staff}) und 
1310 eine Stimme (@code{Voice}) explizit erstellen, damit alles 
1311 funktioniert.
1312
1313 @cindex Gesangstext und Balken
1314 @cindex Text und Balken
1315 @cindex Balken und Text
1316 @funindex \autoBeamOff
1317 @funindex autoBeamOff
1318
1319 Die automatischen Balken, die LilyPond in der Standardeinstellung
1320 setzt, eignen sich sehr gut für instrumentale Musik, aber nicht
1321 so gut für Musik mit Text, wo man entweder gar keine Balken 
1322 benutzt oder sie einsetzt, um Melismen zu verdeutlichen.
1323 Im Beispiel oben wird deshalb der Befehl @code{\autoBeamOff}
1324 eingesetzt um die automatischen Balken (engl. beam) auszuschalten.
1325
1326 @funindex \new ChoirStaff
1327 @funindex \lyricmode
1328 @funindex ChoirStaff
1329 @funindex lyricmode
1330 @cindex Vokalpartitur, Aufbau
1331 @cindex Chorpartitur, Aufbau
1332
1333 Wir wollen das frühere Beispiel von @notation{Judas Maccabæus}
1334 benutzen, um diese flexiblere Technik für Gesangstexte
1335 zu illustrieren.  Das Beispiel wurde so umgeformt, dass jetzt
1336 Variablen eingesetzt werden, um den Text und die Noten
1337 von der Partiturstruktur zu trennen.  Es wurde zusätzlich
1338 eine Chorpartiturklammer hinzugefügt.  Der Gesangtext muss mit
1339 @code{\lyricmode} eingegeben werden, damit er als Text und
1340 nicht als Noten interpretiert werden kann.
1341
1342 @lilypond[quote,verbatim]
1343 global = { \time 6/8 \partial 8 \key f \major}
1344 SopOneMusic = \relative c'' {
1345   c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1346 SopTwoMusic = \relative c' {
1347   r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1348 SopOneLyrics = \lyricmode {
1349   Let | flee -- cy flocks the | hills a -- dorn, __ }
1350 SopTwoLyrics = \lyricmode {
1351   Let | flee -- cy flocks the | hills a -- dorn, }
1352
1353 \score {
1354   \new ChoirStaff <<
1355     \new Staff <<
1356       \new Voice = "SopOne" {
1357         \global
1358         \SopOneMusic
1359       }
1360       \new Lyrics \lyricsto "SopOne" {
1361         \SopOneLyrics
1362       }
1363     >>
1364     \new Staff <<
1365       \new Voice = "SopTwo" {
1366         \global
1367         \SopTwoMusic
1368       }
1369       \new Lyrics \lyricsto "SopTwo" {
1370         \SopTwoLyrics
1371       }
1372     >>
1373   >>
1374 }
1375 @end lilypond
1376
1377 Dies ist die Grundstruktur für alle Chorpartituren.  Mehr
1378 Systeme können hinzugefügt werden, wenn sie gebraucht werden, mehr
1379 Stimmen können zu jedem System hinzugefügt werden, mehr
1380 Strophen können zum Text hinzugefügt werden, und schließlich
1381 können die Variablen schnell in eine eigene Datei verschoben 
1382 werden, wenn sie zu lang werden sollten.
1383
1384 @cindex Choralnotation
1385 @cindex Hymnus-Notation
1386 @cindex SATB-Partitur
1387 @cindex mehrere Strophen
1388 @cindex Strophen, mehrere
1389 @cindex Choral mit mehreren Strophen
1390
1391 Hier ein Beispiel der ersten Zeile eines Chorals mit vier
1392 Strophen für gemischten Chor.  In diesem Fall ist der Text
1393 für alle vier Stimmen identisch.  Beachten Sie, wie die
1394 Variablen eingesetzt werden, um Inhalt (Noten und Text) und Form
1395 (die Partitur) voneinander zu trennen.  Eine Variable wurde
1396 eingesetzt, um die Elemente, die auf beiden Systemen auftauchen,
1397 aufzunehmen, nämlich Taktart und Tonart.  Solch eine 
1398 Variable wird oft auch mit @qq{global} bezeichnet.
1399
1400 @lilypond[quote,verbatim]
1401 TimeKey = { \time 4/4 \partial 4 \key c \major}
1402 SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
1403 AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
1404 TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1405 BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
1406 VerseOne   = \lyricmode {
1407   E -- | ter -- nal fa -- ther, | strong to save, }
1408 VerseTwo   = \lyricmode {
1409   O | Christ, whose voice the | wa -- ters heard, }
1410 VerseThree = \lyricmode {
1411   O | Ho -- ly Spi -- rit, | who didst brood }
1412 VerseFour  = \lyricmode {
1413   O | Tri -- ni -- ty of | love and pow'r }
1414
1415 \score {
1416   \new ChoirStaff <<
1417     \new Staff <<
1418       \clef "treble"
1419       \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
1420       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1421       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1422       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1423       \new Lyrics \lyricsto "Sop" { \VerseThree }
1424       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1425     >>
1426     \new Staff <<
1427       \clef "bass"
1428       \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1429       \new Voice = "Bass"  { \voiceTwo \BassMusic  }
1430     >>
1431   >>
1432 }
1433 @end lilypond
1434
1435 @cindex Strophe und Refrain
1436 @cindex Refrain
1437
1438 Dieser Abschnitt schließt mit einem Beispiel, das eine Solo-Strophe
1439 mit anschließendem zweistimmigem Refrain auf zwei Systemen zeigt.
1440 Die Positionierung des einstimmigen Abschnitss und der mehrstimmigen
1441 Stelle ist etwas kompliziert; es braucht etwas Aufmerksamkeit,
1442 um der Erklärung folgen zu können.
1443
1444 Beginnen wir mit einer @code{score}-Umgebung, in der eine
1445 Chorpartitur (@code{ChoirStaff}) gesetzt wird.  Die Partitur soll
1446 schließlich mit der eckigen Klammer beginnen.
1447 Normalerweise bräuchten wir spitze Klammern im Quelltext
1448 nach dem @code{\new ChoirStaff}, damit die Systeme paralell
1449 gesetzt werden, aber hier wollen wir diese Parallelsierung
1450 ja erst nach dem Solo.  Also benutzen wir geschweifte Klammern.
1451 Innerhalb der Chorpartitur erstellen wir zuerst das System, 
1452 das die Strophe enthält.  Es braucht Noten und Text parallel,
1453 also setzen wir hier die spitzen Klammern um @code{\new Voice} 
1454 und @code{\new Lyrics}.
1455
1456 @lilypond[quote,verbatim,ragged-right]
1457 versenotes = \relative c'' {
1458   \clef "treble"
1459   \key g \major
1460   \time 3/4 g g g b b b
1461 }
1462 versewords = \lyricmode {
1463   One two three four five six
1464 }
1465 \score {
1466   \new Choirstaff {
1467     \new Staff <<
1468       \new Voice = "verse" {
1469         \versenotes \break
1470       }
1471       \new Lyrics \lyricsto verse {
1472         \versewords
1473       }
1474     >>
1475   }
1476 }
1477 @end lilypond
1478
1479 @noindent
1480 Damit erhalten wir die Strophe.
1481
1482 Jetzt soll @notation{refrainA} auf dem selben System gesetzt
1483 werden, während gleichzeitig in einem neuen System darunter 
1484 @notation{refrainB} gesetzt wird.  Damit die Oberstimme das
1485 gleiche System benutzt, muss alles direkt auf den Zeilenumbruchbefehl
1486 (@code{\break} folgen, innerhalb der @notation{verse}-Stimme.
1487 Ja, tatsächlich, @emph{innerhalb} der @notation{verse}-Stimme.
1488 Hier haben wir diese parallele Stelle isoliert.  Weitere Systeme
1489 könnten auf die gleiche Weise hinzugefügt werden.
1490
1491 @example
1492 <<
1493   \refrainnotesA
1494   \new Lyrics \lyricsto verse @{
1495     \refrainwordsA
1496   @}
1497   \new Staff <<
1498     \new Voice = "refrainB" @{
1499       \refrainnotesB
1500     @}
1501     \new Lyrics \lyricsto "refrainB" @{
1502       \refrainwordsB
1503     @}
1504   >>
1505 >>
1506 @end example
1507
1508 Nun schließlich das Resultat mit zwei Systemen für den Refrain,
1509 man kann gut sehen, wie sich die parallele Stelle innherhalb
1510 der @notation{verse}-Stimme befindet.
1511
1512 @lilypond[quote,verbatim, ragged-right]
1513 versenotes = \relative c'' {
1514   \clef "treble"
1515   \key g \major
1516   \time 3/4 g g g b b b
1517 }
1518 refrainnotesA = \relative c'' {
1519   \time 2/4
1520   c c g g \bar "|."
1521 }
1522 refrainnotesB = \relative c {
1523   \clef "bass"
1524   \key g \major
1525   c e d d
1526 }
1527 versewords = \lyricmode {
1528   One two three four five six
1529 }
1530 refrainwordsA = \lyricmode {
1531   la la la la
1532 }
1533 refrainwordsB = \lyricmode {
1534   dum dum dum dum
1535 }
1536 \score {
1537   \new ChoirStaff {
1538     \new Staff <<
1539       \new Voice = "verse" {
1540         \versenotes \break
1541         <<
1542           \refrainnotesA
1543           \new Lyrics \lyricsto "verse" {
1544             \refrainwordsA
1545           }
1546           \new Staff <<
1547             \new Voice = "refrainB" {
1548               \refrainnotesB
1549             }
1550             \new Lyrics \lyricsto "refrainB" {
1551               \refrainwordsB
1552             }
1553           >>
1554         >>
1555       }
1556       \new Lyrics \lyricsto "verse" {
1557         \versewords
1558       }
1559     >>
1560   }
1561 }
1562 @end lilypond
1563
1564 @cindex book, Benutzung von
1565 @funindex \book
1566 @funindex book
1567
1568 Dies ist zwar eine interessante und nützliche Übung um zu
1569 verstehen, wie sequentielle und parallele Notationsumgebungen
1570 funktionieren, in der Praxis würde man diesen Code aber
1571 vielleicht eher in zwei @code{\score}-Umgebungen trennnen
1572 und diese dann innerhalb einer @code{\book}-Umgebung
1573 einsetzen, wie im folgenden Beispiel demonstriert:
1574
1575 @lilypond[quote,verbatim,ragged-right]
1576 versenotes = \relative c'' {
1577   \clef "treble"
1578   \key g \major
1579   \time 3/4 g g g b b b
1580 }
1581 refrainnotesA = \relative c'' {
1582   \time 2/4
1583   c c g g \bar "|."
1584 }
1585 refrainnotesB = \relative c {
1586   \clef "bass"
1587   \key g \major
1588   c e d d
1589 }
1590 versewords = \lyricmode {
1591   One two three four five six
1592 }
1593 refrainwordsA = \lyricmode {
1594   la la la la
1595 }
1596 refrainwordsB = \lyricmode {
1597   dum dum dum dum
1598 }
1599 \score {
1600   \new Staff <<
1601     \new Voice = "verse" {
1602       \versenotes
1603     }
1604     \new Lyrics \lyricsto "verse" {
1605       \versewords
1606     }
1607   >>
1608 }
1609
1610 \score {
1611   \new ChoirStaff <<
1612     \new Staff <<
1613       \new Voice = "refrainA" {
1614         \refrainnotesA
1615       }
1616       \new Lyrics \lyricsto "refrainA" {
1617         \refrainwordsA
1618       }
1619     >>
1620     \new Staff <<
1621       \new Voice = "refrainB" {
1622         \refrainnotesB
1623       }
1624       \new Lyrics \lyricsto "refrainB" {
1625         \refrainwordsB
1626       }
1627     >>
1628   >>
1629 }
1630 @end lilypond
1631
1632
1633 @seealso
1634 Notation Reference: @ruser{Vocal music}.
1635
1636
1637 @node Contexts and engravers
1638 @section Contexts and engravers
1639
1640 Kontexte und Engraver (@qq{Stempel}) sind in den vorherigen
1641 Abschnitten schon aufgetaucht; hier wollen wir uns ihnen
1642 nun etwas ausführlicher widmen, denn sie sind sehr
1643 wichtig, um Feineinstellungen in der LilyPond-Notenausgabe
1644 vornehmen zu können.
1645
1646 @menu 
1647 * Contexts explained::
1648 * Creating contexts::
1649 * Engravers explained::
1650 * Modifying context properties::
1651 * Adding and removing engravers::
1652 @end menu
1653
1654 @node Contexts explained
1655 @subsection Contexts explained
1656
1657 @cindex Kontexte erklärt
1658
1659 Wenn Noten gesetzt werden, müssen viele Elemente zu der Notenausgabe
1660 hinzugefügt werden,
1661 die im Quellcode gar nicht explizit vorkommen.  Vergleichen Sie
1662 etwa den Quellcode und die Notenausgabe des folgenden Beispiels:
1663
1664 @lilypond[quote,verbatim,relative=2,fragment]
1665 cis4 cis2. g4
1666 @end lilypond
1667
1668 Der Quellcode ist sehr kurz und knapp, während in der
1669 Notenausgabe Taktlinien, Vorzeichen, ein Schlüssel und
1670 eine Taktart hinzugefügt wurden.  Während LilyPond
1671 den Eingabetext @emph{interpretiert}, wird die
1672 musikalische Information in zeitlicher Reihenfolge
1673 inspiziert, etwa wie man eine Partitur von links nach
1674 rechts liest.  Während das Programm den Code liest,
1675 merkt es sich, wo sich Taktgrenzen befinden und
1676 für welche Tonhöhen Versetzungszeichen gesetzt werden
1677 müssen.  Diese Information muss auf mehreren Ebenen
1678 gehandhabt werden, denn Versetzungszeichen etwa
1679 beziehen sich nur auf ein System, Taktlinien dagegen
1680 üblicherweise auf die gesamte Partitur.
1681
1682 Innerhalb von LilyPond sind diese Regeln und 
1683 Informationshappen in @emph{Kontexten} (engl.
1684 contexts) gruppiert.  Wir sind schon auf den
1685 @code{Voice} (Stimmen)-Kontext gestoßen.  Daneben
1686 gibt es noch die @code{Staff} (Notensystem-) und
1687 @code{Score} (Partitur)-Kontexte.  Kontexte sind
1688 hierarchisch geschichtet um die hierarchische
1689 Struktur einer Partitur zu spiegeln.  Ein @code{Staff}-Kontext
1690 kann zum Beispiel viele @code{Voice}-Kontexte beinhalten,
1691 und ein @code{Score}-Kontext kann viele
1692 @code{Staff}-Kontexte beinhalten.
1693
1694 @quotation
1695 @sourceimage{context-example,5cm,,}
1696 @end quotation
1697
1698 Jeder Kontext hat die Aufgabe, bestimmte Notationsregeln
1699 zu erzwingen, bestimmte Notationsobjekte zu erstellen und
1700 verbundene Elemente zu ordnen.  Der @code{Voice}-Kontext
1701 zum Beispiel kann eine Vorzeichenregel einführen und der
1702 @code{Staff}-Kontext hält diese Regel dann aufrecht, um
1703 einzuordenen, ob ein Versetzungszeichen gesetzt werden
1704 muss oder nicht.
1705
1706 Ein anderes Beispiel: die Synchronisation der Taktlinien ist
1707 standardmäßig im @code{Score}-Kontext verankert.  Manchmal sollen
1708 die Systeme einer Partitur aber unterschiedliche Taktarten
1709 enthalten, etwa in einer polymetrischen Partitur mit 
1710 4/4- und 3/4-Takt.  In diesem Fall müssen also die Standardeinstellungen
1711 der @code{Score}- und @code{Staff}-Kontexte verändert werden.
1712
1713 In einfachen Partituren werden die Kontexte implizit erstellt,
1714 und es kann sein, dass Sie sich dessen gar nicht bewusst sind.
1715 Für etwas größere Projekte, etwa mit vielen Systemen, müssen
1716 die Kontexte aber explizit erstellt werden, um sicher zu gehen,
1717 dass man auch wirklich die erwünschte Zahl an Systemen in der
1718 richtigen Reihenfolge erhält.  Wenn Stücke mit spezialisierter
1719 Notation gesetzt werden sollen, ist es üblich, die existierenden
1720 Kontexte zu verändern oder gar gänzlich neue zu definieren.
1721
1722 Zusätzlich zu den @code{Score,} @code{Staff} und
1723 @code{Voice}-Kontexten gibt es noch Kontexte, die zwischen
1724 der Partitur- und Systemebene liegen und Gruppen von Systemen
1725 kontrollieren.  Das sind beispielsweise der 
1726 @code{PianoStaff} und @code{ChoirStaff}-Kontext.  Es gibt zusätzlich
1727 alternative Kontexte für Systeme und Stimmen sowie eigene Kontexte
1728 für Gesangstexte, Perkussion, Griffsymbole, Generalbass usw.
1729
1730 Die Bezeichnungen all dieser Kontexte werden von einem oder mehreren
1731 englischen
1732 Wörtern gebildet, dabei wird jedes Wort mit einem Großbuchstaben
1733 begonnen und direkt an das folgende ohne Bindestrich oder Unterstrich
1734 angeschlossen, etwa 
1735 @code{GregorianTranscriptionStaff}.
1736
1737
1738 @seealso
1739 Notationreferenz: @ruser{Contexts explained}.
1740
1741
1742 @node Creating contexts
1743 @subsection Creating contexts
1744
1745 @funindex \new
1746 @funindex new
1747 @cindex Neue Kontexte
1748 @cindex Erstellen von Kontexten
1749 @cindex Kontexte, Erstellen
1750
1751 Es gibt nur einen Kontext der obersten Ebene: der 
1752 @code{Score}-Kontext.  Er wird mit dem @code{\score}-Befehl, 
1753 oder -- in einfacheren Partituren -- automatisch
1754 erstellt.
1755
1756 Wenn nur ein System vorhanden ist, kann man es ruhig
1757 LilyPond überlassen, die @code{Voice}- und @code{Staff}-Kontexte
1758 zu erstellen, aber für komplexere Partituren ist es notwendig, 
1759 sie mit einem Befehl zu erstellen.  Der einfachste Befehl 
1760 hierzu ist @code{\new}.  Er wird dem musikalischen Ausdruck 
1761 vorangestellt, etwa so:
1762
1763 @example
1764 \new @var{Typ} @var{musikalischer Ausdruck}
1765 @end example
1766
1767 @noindent
1768 wobei @var{Typ} eine Kontextbezeichnung (wie etwa @code{Staff} oder
1769 @code{Voice}) ist.  Dieser Befehl erstellt einen neuen Kontext und
1770 beginnt, den @var{muskalischen Ausdruck} innherhalb dieses
1771 Kontexts auszuwerten.
1772
1773 Beachten Sie, dass es keinen @code{\new Score}-Befehl gibt: der
1774 Partitur-Kontext der obersten Ebene wird mit dem Befehl @code{\score}
1775 begonnen.
1776
1777 Wir haben schon viele explizite Beispiel gesehen, in denen
1778 neue @code{Staff}- und @code{Voice}-Kontexte erstellt wurden, aber
1779 um noch einmal ins Gedächtnis zu rufen, wie diese Befehle benutzt
1780 werden, hier ein kommentiertes Beispiel aus dem richtigen Leben:
1781
1782 @lilypond[quote,verbatim,ragged-right]
1783 \score {  % start of single compound music expression
1784   <<  % start of simultaneous staves section
1785     \time 2/4
1786     \new Staff {  % create RH staff
1787       \key g \minor
1788       \clef "treble"
1789       \new Voice {  % create voice for RH notes
1790         \relative c'' {  % start of RH notes
1791           d4 ees16 c8. |
1792           d4 ees16 c8. |
1793         }  % end of RH notes
1794       }  % end of RH voice
1795     }  % end of RH staff
1796     \new Staff <<  % create LH staff; needs two simultaneous voices
1797       \key g \minor
1798       \clef "bass"
1799       \new Voice {  % create LH voice one
1800         \voiceOne
1801         \relative g {  % start of LH voice one notes
1802           g8 <bes d> ees, <g c> |
1803           g8 <bes d> ees, <g c> |
1804         }  % end of LH voice one notes
1805       }  % end of LH voice one
1806       \new Voice {  % create LH voice two
1807         \voiceTwo
1808         \relative g {  % start of LH voice two notes
1809           g4 ees |
1810           g4 ees |
1811         }  % end of LH voice two notes
1812       }  % end of LH voice two
1813     >>  % end of LH staff
1814   >>  % end of simultaneous staves section
1815 }  % end of single compound music expression
1816 @end lilypond
1817
1818 (Beachten Sie, dass wir hier alle Zeilen, die eine neue
1819 Umgebung entweder mit einer geschweiften Klammer (@code{@{})
1820 oder doppelten spitzen Klammern (@code{<<}) öffnen, mit
1821 jeweils zwei Leerzeichen, und die entsprechenden 
1822 schließenden Klammern mit der gleichen Anzahl Leerzeichen
1823 eingerückt werden.  Dies ist nicht erforderlich, es wird aber
1824 zu einem großen Teil die nicht passenden Klammerpaar-Fehler
1825 eliminieren und ist darum sehr empfohlen.  Es macht es 
1826 möglich, die Struktur einer Partitur auf einen Blick zu
1827 verstehen, und alle nicht passenden Klammern 
1828 erschließen sich schnell.  Beachten Sie auch, dass das
1829 untere Notensystem mit eckigen Klammern erstellt wird,
1830 denn innerhalb dieses Systems brauchen wir zwei Stimmen,
1831 um die Noten darzustellen.  Das obere System braucht
1832 nur einen einzigen musikalischen Ausdruck und ist deshalb
1833 von geschweiften Klammern umschlossen.)
1834
1835 @cindex Kontexte, Benennung
1836 @cindex Bennenung von Kontexten
1837
1838 Der @code{\new}-Befehl kann einem Kontext auch einen
1839 Namen zur Identifikation geben, um ihn von anderen Kontexten des
1840 selben Typs zu unterscheiden:
1841
1842 @example
1843 \new @var{Typ} = @var{Name} @var{musikalischer Ausdruck}
1844 @end example
1845
1846 Beachten Sie den Unterschied zwischen der Bezeichnung des
1847 Kontexttyps (@code{Staff}, @code{Voice}, usw.) und dem
1848 Namen, der aus beliebigen Buchstaben bestehen kann
1849 und vom Benutzer frei erfunden werden kann.  Zahlen und 
1850 Leerzeichen können auch benutzt werden, in dem Fall
1851 muss der Name aber von doppelten Anführungszeichen
1852 umgeben werden, also etwa  
1853 @code{\new Staff = "Mein System 1" @var{musikalischer Ausdruck}}.
1854 Der Name wird
1855 benutzt, um später auf genau diesen spezifischen Kontext 
1856 zu verweisen.  Dieses Vorgehen wurde schon in dem Abschnitt
1857 zu Gesangstexten angewandt, siehe @ref{Voices and vocals}.
1858
1859
1860 @seealso
1861 Notationsreferenz: @ruser{Creating contexts}.
1862
1863
1864 @node Engravers explained
1865 @subsection Engravers explained
1866
1867 @cindex Engraver
1868 @cindex Stempel (Engraver)
1869
1870 Jedes Zeichen des fertigen Notensatzes von LilyPond wird
1871 von einem @code{Engraver} (Stempel) produziert.  Es gibt
1872 also einen Engraver, der die Systeme erstellt, einen, der die
1873 Notenköpfe ausgibt, einen für die Hälse, einen für die
1874 Balken usw. Insgesamt gibt es über 120 Engraver! Zum
1875 Glück braucht man für die meisten Partituren nur ein
1876 paar Engraver, und für einfache Partituren muss man eigentlich
1877 überhaupt nichts über sie wissen.
1878
1879 Engraver leben und wirken aus den Kontexten heraus.  Engraver
1880 wie der @code{Metronome_mark_engraver}, dessen Aktion
1881 und Ausgabe sich auf die gesamte Partitur bezieht, wirken
1882 in der obersten Kontextebene -- dem @code{Score}-Kontext.
1883
1884 Der @code{Clef_engraver} (Schlüssel-Stempel) und der 
1885 @code{Key_engraver} (Vorzeichen-Stempel)  finden sich in
1886 jedem @code{Staff}-Kontext, denn unterschiedliche Systeme
1887 könnten unterschiedliche Tonarten und Notenschlüssel
1888 brauchen.
1889
1890 Der @code{Note_heads_engraver} (Notenkopf-Stempel) und der
1891 @code{Stem_engraver} (Hals-Stempel) befinden sich in jedem
1892 @code{Voice}-Kontext, der untersten Kontextebene.
1893
1894 Jeder Engraver bearbeitet die bestimmten Objekte, die mit
1895 seiner Funktion assoziiert sind, und verwaltet die Eigenschaften
1896 dieser Funktion.  Diese Eigenschaften, wie etwa die Eigenschaften,
1897 die mit Kontexten assoziiert sind, können verändert werden,
1898 um die Wirkungsweise des Engravers oder das Erscheinungsbild
1899 der von ihm produzierten Elemente in der Partitur zu ändern.
1900
1901 Alle Engraver haben zusammengesetzte Bezeichnung, die aus
1902 den (englischen) Wörtern ihrer Funktionsweise bestehen.  Nur
1903 das erste Wort hat einen Großbuchstaben, und die restlichen
1904 Wörter werden mit einem Unterstrich angefügt.  Ein
1905 @code{Staff_symbol_engraver}  verantwortet also die Erstellung
1906 der Notenlinien, ein @code{Clef_engraver} entscheidet über die
1907 Art der Notenschlüssel und setzt die entsprechenden Symbole; damit
1908 wird gleichzeitig die Referenztonhöhe auf dem Notensystem festgelegt.
1909
1910 Hier die meistgebräuchlichen Engraver mit ihrer Funktion.
1911 Sie werden sehen, dass es mit etwas Englischkenntnissen
1912 einfach ist, die Funktion eines Engravers von seiner Bezeichnung
1913 abzuleiten.
1914
1915 @multitable @columnfractions .3 .7
1916 @headitem Engraver
1917   @tab Funktion
1918 @item Accidental_engraver
1919   @tab Erstellt Versetzungszeichen, vorgeschlagene und Warnversetzungszeichen.
1920 @item Beam_engraver
1921   @tab Erstellt Balken.
1922 @item Clef_engraver
1923   @tab Erstellt Notenschlüssel.
1924 @item Completion_heads_engraver
1925   @tab Teilt Noten in kleiner Werte, wenn sie über die Taktlinie reichen.
1926 @c The old Dynamic_engraver is deprecated. -jm
1927 @item New_dynamic_engraver
1928   @tab Erstellt Dynamik-Klammern und Dynamik-Texte.
1929 @item Forbid_line_break_engraver
1930   @tab Verbietet Zeilenumbrüche, solange ein musikalisches Element aktiv ist.
1931 @item Key_engraver
1932   @tab Erstellt die Vorzeichen.
1933 @item Metronome_mark_engraver
1934   @tab Erstellt Metronom-Bezeichnungen.
1935 @item Note_heads_engraver
1936   @tab Erstellt Notenköpfe.
1937 @item Rest_engraver
1938   @tab Erstellt Pausen.
1939 @item Staff_symbol_engraver
1940   @tab Ersetllt die (standardmäßig) fünf Notenlinien des Systems.
1941 @item Stem_engraver
1942   @tab Erstellt die Notenhälse und Tremolos mit einem Hals.
1943 @item Time_signature_engraver
1944   @tab Erstellt die Taktartbezeichnung.
1945 @end multitable
1946
1947 @smallspace
1948
1949 Es soll später gezeigt werden, wie die LilyPond-Ausgabe
1950 verändert werden kann, indem die Wirkungsweise der
1951 Engraver beeinflusst wird.
1952
1953
1954 @seealso
1955 Referenz der Interna: @rinternals{Engravers and Performers}.
1956
1957
1958 @node Modifying context properties
1959 @subsection Modifying context properties
1960
1961 @cindex Kontext-Eigenschaften, Verändern
1962 @cindex Eigenschaften von Kontexten
1963 @cindex Verändern von Kontext-Eigenschaften
1964 @funindex \set
1965 @funindex \unset
1966 @funindex set
1967 @funindex unset
1968
1969 Kontexte sind dafür verantwortlich, die Werte bestimmter
1970 Kontext-@emph{Eigenschaften} zu speichern.  Viele davon
1971 können verändert werden, um die Interpretation der
1972 Eingabe zu beeinflussen und die Ausgabe zu verändern.
1973 Kontexte werden mit dem @code{\set}-Befehl geändert.
1974 Er wird in Form
1975
1976 @example
1977 \set @var{KontextBezeichnung}.@var{eigenschaftsBezeichnung} = #@var{Wert}
1978 @end example
1979
1980 @noindent
1981 verwendet, wobei @var{KontextBezeichnung} üblicherweise
1982  @code{Score},
1983 @code{Staff} oder @code{Voice} ist.  Der erste Teil kann auch
1984 ausgelassen werden; in diesem Fall wird @code{Voice} eingesetzt.
1985
1986 Die Bezeichnung von Kontexten-Eigenschaften besteht
1987 aus zwei Wörtern, die ohne Unterstrich oder Bindestrich
1988 verbunden sind.  Alle außer dem ersten werden am Anfang
1989 groß geschrieben.  Hier einige Beispiele der gebräuchlichsten
1990 Kontext-Eigenschaften.  Es gibt sehr viel mehr.
1991
1992 @c attempt to force this onto a new page
1993 @need 50
1994 @multitable @columnfractions .25 .15 .45 .15
1995 @headitem eigenschaftsBezeichnung
1996   @tab Typ
1997   @tab Funktion
1998   @tab Beispiel-Wert
1999 @item extraNatural
2000   @tab boolescher Wert
2001   @tab Wenn wahr, werden zusätzliche Auflösungszeichen vor Versetzungszeichen gesetzt. 
2002   @tab @code{#t}, @code{#f}
2003 @item currentBarNumber
2004   @tab Integer
2005   @tab Setzt die aktuelle Taktnummer.
2006   @tab @code{50}
2007 @item doubleSlurs
2008   @tab boolescher Wert
2009   @tab Wenn wahr, werden Legatobögen über und unter die Noten gesetzt.
2010   @tab @code{#t}, @code{#f}
2011 @item instrumentName
2012   @tab Text
2013   @tab Setzt die Instrumentenbezeichnung am Anfang eines Systems.
2014   @tab @code{"Cello I"}
2015 @item fontSize
2016   @tab reale Zahl
2017   @tab Vergrößert oder verkleinert die Schriftgröße.
2018   @tab @code{2.4}
2019 @item stanza
2020   @tab Text
2021   @tab Setzt den Text zu Beginn einer Strophe.
2022   @tab @code{"2"}
2023 @end multitable
2024
2025 @noindent
2026 Ein boolischer Wert ist entweder wahr  (@code{#t}) 
2027 oder falsch (@code{#f}),
2028 ein Integer eine positive ganze Zahl, eine reale Zahl eine positive
2029 oder negative Dezimalzahl, und Text wird in doppelte
2030 Anführungszeichen (Shift+2) eingeschlossen.  Beachten Sie
2031 das Vorkommen des Rautenzeichens
2032 (@code{#}) an unterschiedlichen Stellen: als Teil eines
2033 booleschen Wertes vor dem @code{t} oder @code{f}, aber
2034 auch vor einem @emph{Wert} in der
2035 @code{\set}-Befehlskette.  Wenn ein boolescher Wert
2036 eingegeben werden soll, braucht man also zwei
2037 Rautenzeichen, z. B. @code{##t}.
2038
2039 @cindex Eigenschaften in Kontexten
2040 @cindex Veränderung von Eigenschaften in Kontexten
2041
2042 Bevor eine Eigenschaft geändert werden kann, muss man wissen,
2043 in welchem Kontext sie sich befindet.  Manchmal versteht das
2044 sich von selbst, aber in einigen Fällen kann es zunächst
2045 unverständlich erscheinen.  Wenn der falsche Kontext angegeben
2046 wird, wird keine Fehlermeldung produziert, aber die
2047 Veränderung wird einfach nicht ausgeführt. 
2048 @code{instrumentName} befindet sich offensichtlich innerhalb
2049 von einem @code{Staff}-Kontext, denn das Notensystem soll
2050 benannt werden.  In dem folgenden Beispiel erhält das erste
2051 System korrekt die Instrumentenbezeichnung, das zweite aber
2052 nicht, weil der Kontext ausgelassen wurde.
2053
2054 @lilypond[quote,verbatim,ragged-right]
2055 <<
2056   \new Staff \relative c'' {
2057     \set Staff.instrumentName = #"Soprano"
2058     c4 c
2059  }
2060   \new Staff \relative c' {
2061   \set instrumentName = #"Alto"  % Wrong!
2062   d4 d
2063  }
2064 >>
2065 @end lilypond
2066
2067 Denken Sie daran, dass der Standardkontext @code{Voice} ist; in dem
2068 zweiten @code{\set}-Befehl wird also die Eigenschaft @code{instrumentName}
2069 im @code{Voice}-Kontext auf @qq{Alto}, gesetzt, aber weil LilyPond diese
2070 Eigenschaft nicht im @code{Voice}-Kontext vermutet, passiert einfach
2071 gar nichts.  Das ist kein Fehler, und darum wird auch keine Fehlermeldung
2072 prodziert.
2073
2074 Ebenso gibt es keine Fehlermeldung, wenn die Kontext-Bezeichnung
2075 falsch geschrieben wird und die Änderung also nicht ausgeführt werden
2076 kann.  Tatsächlich kann eine beliebige (ausgedachte) Kontextbezeichnung
2077 mit dem @code{\set}-Befehl eingesetzt werden, genauso wie die, die
2078 wirklich existieren.  Aber wenn LilyPond diese Bezeichnung nicht
2079 zuordnen kann, bewirkt der Befehl einfach gar nichts.  Manche Editoren,
2080 die Unterstützung für LilyPond-Befehle mitbringen, markieren existierende
2081 Kontextbezeichnungen mit einem Punkt, wenn man mit der Maus darüber
2082 fährt (wie etwa JEdit mit dem LilyPondTool), oder markieren
2083 unbekannte Bezeichnungen anders (wie ConTEXT).  Wenn Sie keinen
2084 Editor mit LilyPond-Unterstützung einsetzen, wird empfohlen, die
2085 Bezeichnungen in der Interna-Referenz zu überprüfen: siehe 
2086 @rinternals{Tunable context properties}, oder
2087 @rinternals{Contexts}.
2088
2089 Die Eigenschaft @code{instrumentName} wird erst aktiv, wenn sie
2090 ineinem @code{Staff}-Kontext gesetzt wird, aber manche Eigenschaften
2091 können in mehr als einem Kontext benutzt werden.  Als Beispiel mag die
2092 @code{extraNatural}-Eigenschaft dienen, die zusätzliche Erniedrigungszeichen
2093 setzt.  Die Standardeinstellung ist ##t (wahr) in allen Systemen.
2094 Wenn sie nur in einem @code{Staff} (Notensystem) auf ##f (falsch) 
2095 gesetzt wird, wirkt sie sich auf alle Noten in diesem System aus.  Wird
2096 sie dagegen in der @code{Score}-Umgebung gesetzt, wirkt sich das
2097 auf alle darin enthaltenen Systeme aus.
2098
2099 Das also bewirkt, dass die zusätzlichen Erniedrigungszeichen in einem System 
2100 ausgeschaltet sind:
2101
2102 @lilypond[quote,verbatim,ragged-right]
2103 <<
2104   \new Staff \relative c'' {
2105     ais4 aes
2106  }
2107   \new Staff \relative c'' {
2108     \set Staff.extraNatural = ##f
2109     ais4 aes
2110  }
2111 >>
2112 @end lilypond
2113
2114 @noindent
2115 während das dazu dient, sie in allen Systemen auszuschalten:
2116
2117 @lilypond[quote,verbatim,ragged-right]
2118 <<
2119   \new Staff \relative c'' {
2120     ais4 aes
2121  }
2122   \new Staff \relative c'' {
2123     \set Score.extraNatural = ##f
2124     ais4 aes
2125  }
2126 >>
2127 @end lilypond
2128
2129 Ein anderes Beispiel ist die Eigenschaft @code{clefOctavation}:
2130 wenn sie im @code{Score}-Kontext gesetzt wird, ändert sich sofort
2131 der Wert der Oktavierung in allen aktuellen Systemen und wird
2132 auf einen neuen Wert gesetzt, der sich auf alle Systeme auswirkt.
2133
2134 Der gegenteilige Befehl, @code{\unset}, entfernt die Eigenschaft
2135 effektiv wieder von dem Kontext: in den meisten Fällen wird der
2136 Kontext auf ihre Standardeinstellungen zurückgesetzt.
2137 Normalerweise wird aber @code{\unset} nicht benötigt,
2138 denn ein neues @code{\set} erledigt alles, was man braucht.
2139
2140 Die @code{\set}- und @code{\unset}-Befehle könne überall im
2141 Eingabequelltext erscheinen und werden aktiv von dem Moment, an
2142 dem sie auftreten bis zum Ende der Partitur oder bis die Eigenschaft
2143 mit @code{\set} oder @code{\unset} neu gesetzt wird.  Versuchen
2144 wir als Beispiel, die Schriftgröße mehrmals zu ändern, was sich unter anderem
2145 auf die Notenköpfe auswirkt.  Die Änderung bezieht sich immer auf den Standard,
2146 nicht vom letzten gesetzten Wert.
2147
2148 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
2149 c4
2150 % make note heads smaller
2151 \set fontSize = #-4
2152 d e
2153 % make note heads larger
2154 \set fontSize = #2.5
2155 f g
2156 % return to default size
2157 \unset fontSize
2158 a b
2159 @end lilypond
2160
2161 Wir haben jetzt gesehen, wie sich die Werte von unterschiedlichen
2162 Eigenschaften ändern lassen.  Beachten Sie, dass Integre und
2163 Zahlen immer mit einem Rautenzeichen beginnen, während
2164 die Werte wahr und falsch (mit @code{##t} und @code{##f}
2165 notiert) immer mit zwei Rauten beginnen.  Eine Eigenschaft, die
2166 aus Text besteht, muss in doppelte Anführungsstriche gesetzt werden,
2167 auch wenn wir später sehen werden, dass Text auf eine sehr viel
2168 allgmeinere und mächtigere Art mit dem @code{markup}-Befehl
2169 eingegeben werden kann.
2170
2171 @unnumberedsubsubsec Setting context properties with @code{\with}
2172
2173 @funindex \with
2174 @funindex with
2175 @cindex Kontexteigenschaft, setzen mit \with
2176
2177 Kontexteigenschaften können auch gesetzt werden, wenn der Kontext
2178 erstellt wird.  Das ist in manchen Fällen eine deutlichere Art,
2179 eine Eigenschaft zu bestimmen, die für die gesamte Partitur
2180 erhalten bleichen soll.  Wenn ein Kontext mit einem
2181 @code{\new}-Befehl erstellt wird, dem direkt eine
2182 @code{\with @{ .. @}}-Umgebung folgt, können hier die
2183 Eigenschaften bestimmt werden.  Wenn also die zusätzlichen
2184 Auflösungszeichen für eine ganze Partitur gelten sollen, könnte
2185 man schreiben:
2186
2187 @example
2188 \new Staff \with @{ extraNatural = ##f @}
2189 @end example
2190
2191 @noindent
2192 etwa so:
2193
2194 @lilypond[quote,verbatim,ragged-right]
2195 <<
2196   \new Staff
2197   \relative c'' {
2198     gis ges aes ais
2199   }
2200   \new Staff \with { extraNatural = ##f }
2201   \relative c'' {
2202     gis ges aes ais
2203   }
2204 >>
2205 @end lilypond
2206
2207 Eigenschaften, die auf diese Arte gesetzt werden, können immer noch
2208 dynamisch mit dem @code{\set}-Befehl geändert werden und mit
2209 @code{\unset} auf ihre Standardeinstellungen zurückgesetzt werden.
2210
2211 @cindex Schriftgröße, Standardeinstellung
2212 @cindex fontSize (Schriftgröße), Standardeinstellung
2213
2214 Die @code{fontSize}-Eigenschaft wird anders behandelt.  Wenn sie mit
2215 einer @code{\with}-Umgebung gesetzt wird, wird die Standardschriftgröße
2216 neu gesetzt.  Wenn die Schriftgröße später mit @code{\set} verändert
2217 wird, kann dieser neue Standardwert mit dem Befehl
2218 @code{\unset fontSize} erreicht werden.
2219
2220 @unnumberedsubsubsec Setting context properties with @code{\context}
2221
2222 @cindex Kontexteigenschaften, mit \context setzen
2223 @cindex Eigenschaften von Kontexten, mit \context setzen
2224 @funindex \context
2225 @funindex context
2226
2227 Die Werte von Kontext-Eigenschaften können in @emph{allen} Kontexten
2228 eines bestimmten Typs (etwa alle @code{Staff}-Kontexte) 
2229 gleichzeitig mit einem Befehl gesetzt werden.  Der Kontext wird
2230 spezifieziert, indem seine Bezeichnung benutzt wird, also etwa 
2231 @code{Staff}, mit einem Backslash davor: @code{\Staff}.  Der Befehl
2232 für die Eigenschaft ist der gleiche, wie er auch in der 
2233 @code{\with}-Konstruktion benutzt wird, wie oben gezeigt.  Er wird in
2234 eine @code{\context}-Umgebung eingebettet, welche wiederum innerhalb
2235 von einer @code{\layout}-Umgebung steht.  Jede @code{\context}-Umgebung
2236 wirkt sich auf alle Kontexte dieses Types aus, welche sich in der
2237 aktuellen Partitur befinden (d. h. innherhalb einer @code{\score}-
2238 oder @code{\book}-Umgebung.  Hier ist ein Beispiel, wie man diese
2239 Funktion anwendet:
2240
2241 @lilypond[verbatim,quote]
2242 \score {
2243   \new Staff {
2244     \relative c'' {
2245       cis4 e d ces
2246     }
2247   }
2248   \layout {
2249     \context {
2250       \Staff
2251       extraNatural = ##t
2252     }
2253   }
2254 }
2255 @end lilypond
2256
2257 @noindent
2258 Kontext-Eigenschaften, die auf diese Weise gestzt werden, können für 
2259 bestimmten Kontexte überschrieben werden, indem die 
2260 @code{\with}-Konstruktion eingesetzt wird, oder mit @code{\set}-Befehlen
2261 innerhalb der aktuellen Noten.
2262
2263
2264 @seealso
2265 Notationsreferenz:
2266 @ruser{Changing context default settings}.
2267 @c FIXME
2268 @c uncomment when backslash-node-name issue is resolved -pm
2269 @c @ruser{The set command}.
2270
2271 Referenz der Interna:
2272 @rinternals{Contexts},
2273 @rinternals{Tunable context properties}.
2274
2275
2276 @node Adding and removing engravers
2277 @subsection Adding and removing engravers
2278
2279 @cindex Engraver, Hinzufügen von
2280 @cindex Engraver, Entfernen von
2281 @cindex Hinzufügen von Engravern
2282 @cindex Entfernen von Engravern
2283
2284 @funindex \consists
2285 @funindex \remove
2286 @funindex consists
2287 @funindex remove
2288
2289 Wir haben gesehen, dass jeder Kontext eine Anzahl an Engravern
2290 (Stempeln) beinhaltet, von denen ein jeder einen bestimmten
2291 Teil des fertigen Notensatzes produziert, wie z. B. Taktlinien,
2292 Notenlinien, Notenköpfe, Hälse usw. Wenn ein Engraver aus
2293 einem Kontext entfernt wird, kann er seine Objekte nicht
2294 länger produzieren.  Das ist eine eher grobe Methode, die
2295 Notenausgabe zu beeinflussen, aber es kann von großem
2296 Nutzen sein.
2297
2298
2299 @subsubheading Changing a single context
2300
2301 Um einen Engraver von einem einzelnen Kontext zu entfernen,
2302 wir der @code{\with}-Befehl eingesetzt, direkt hinter
2303 den Befehl zur Kontext-Erstellung geschrieben, wie
2304 in dem vorigen Abschnitt gezeigt.
2305
2306 Als ein Beispiel wollen wir das Beispiel aus dem letzten
2307 Abschnitt produzieren, aber die Notenlinien entfernen.  Erinnern
2308 Sie sich, dass die Notenlinien vom @code{Staff_symbol_engraver}
2309 erstellt werden.
2310
2311 @lilypond[quote,verbatim,ragged-right]
2312 \new Staff \with {
2313   \remove Staff_symbol_engraver
2314 }
2315 \relative c' {
2316   c4
2317   \set fontSize = #-4  % make note heads smaller
2318   d e
2319   \set fontSize = #2.5  % make note heads larger
2320   f g
2321   \unset fontSize  % return to default size
2322   a b
2323 }
2324 @end lilypond
2325
2326 @cindex Ambitus-Engraver
2327
2328 Engraver können auch zu einem bestimmten
2329 Kontext hinzugefügt werden.  Dies geschieht
2330 mit dem Befehl
2331
2332 @code{\consists @var{Engraver_bezeichnung}}
2333
2334 @noindent
2335 welcher auch wieder innerhalb der @code{\with}-Umgebung
2336 gesetzt wird.  Einige Chorpartituren zeigen einen
2337 Ambitus direkt zu Beginn der ersten Notenzeile, um
2338 den Stimmumfang des Stückes anzuzeigen, siehe auch
2339 @rglos{ambitus}.  Der Ambitus wird vom
2340 @code{Ambitus_engraver} erstellt, der normalerweise
2341 in keinem Kontext enthalten ist.  Wenn wir
2342 ihn zum @code{Voice}-Kontext hinzufügen, errechnet
2343 er automatisch den Stimmumfang für diese einzelne Stimme 
2344 und zeigt ihn an:
2345
2346 @lilypond[quote,verbatim,ragged-right]
2347 \new Staff <<
2348   \new Voice \with {
2349     \consists Ambitus_engraver
2350   }
2351   \relative c'' {
2352     \voiceOne
2353     c a b g
2354   }
2355   \new Voice
2356   \relative c' {
2357     \voiceTwo
2358     c e d f
2359   }
2360 >>
2361 @end lilypond
2362
2363 @noindent
2364 wenn wir den Ambitus-Engraver allerdings zum
2365 @code{Staff}-Kontext hinzufügen, wird der Stimmumfang aller
2366 Stimmen in diesem Notensystem errechnet:
2367
2368 @lilypond[quote,verbatim,ragged-right]
2369 \new Staff \with {
2370     \consists Ambitus_engraver
2371   }
2372   <<
2373   \new Voice
2374   \relative c'' {
2375     \voiceOne
2376     c a b g
2377   }
2378   \new Voice
2379   \relative c' {
2380     \voiceTwo
2381     c e d f
2382   }
2383 >>
2384 @end lilypond
2385
2386
2387 @subsubheading Changing all contexts of the same type
2388
2389 @funindex \layout
2390
2391 Die vorigen Beispiele zeigen, wie man Engraver in einem
2392 bestimmten Kontext hinzufügen oder entfernen kann.  Es ist
2393 auch möglich, Engraver in jedem Kontext eines bestimmten
2394 Typs hinzuzufügen oder zu entfernen.  Dazu werden die
2395 Befehle in dem entsprechenden Kontext in einer
2396 @code{\layout}-Umgebung gesetzt.  Wenn wir also z. B. 
2397 den Ambitus für jedes Notensystem in einer Partitur 
2398 mit vier Systemen anzeigen wollen, könnte das so aussehen:
2399
2400 @lilypond[quote,verbatim,ragged-right]
2401 \score {
2402   <<
2403     \new Staff <<
2404       \relative c'' { c a b g }
2405     >>
2406     \new Staff <<
2407       \relative c' { c a b g }
2408     >>
2409     \new Staff <<
2410       \clef "G_8"
2411       \relative c' { c a b g }
2412     >>
2413     \new Staff <<
2414       \clef "bass"
2415       \relative c { c a b g }
2416     >>
2417   >>
2418   \layout {
2419     \context {
2420       \Staff
2421       \consists Ambitus_engraver
2422     }
2423   }
2424 }
2425 @end lilypond
2426
2427 @noindent
2428 Die Werte der Kontext-Eigenschaften können auch für 
2429 alle Kontexte eines bestimmten Typs auf die gleiche
2430 Weise geändert werden, indem der @code{\set}-Befehl in
2431 einer @code{\context}-Umgebung angewendet wird.
2432
2433
2434 @seealso
2435 Notationsreferenz: @ruser{Modifying context plug-ins},
2436 @ruser{Changing context default settings}.
2437
2438
2439 @node Extending the templates
2440 @section Extending the templates
2441
2442 Sie haben sich durch die Übung gearbeitet, Sie
2443 wissen jetzt, wie Sie Notensatz produzieren, und Sie
2444 haben die grundlegenden Konzepte verstanden.  Aber wie
2445 erhalten Sie genau die Systeme, die Sie brauchen? Es
2446 gibt eine ganze Anzahl an fertigen Vorlagen
2447 (siehe @ref{Templates}), mit denen Sie beginnen 
2448 können.  Aber was, wenn Sie nicht genau das finden,
2449 was Sie brauchen? Lesen Sie weiter.
2450
2451 @menu
2452 * Soprano and cello::
2453 * Four-part SATB vocal score::
2454 * Building a score from scratch::
2455 @end menu
2456
2457
2458 @node Soprano and cello
2459 @subsection Soprano and cello
2460
2461 @cindex Template, Verändern von
2462 @cindex Vorlage, Verändern von
2463 @cindex Veränderung von Vorlagen
2464
2465 Beginnen Sie mit der Vorlage, die Ihren Vorstellungen
2466 am nächsten kommt.  Nehmen wir einmal an, Sie wollen
2467 ein Stück für Sopran und Cello schreiben.  In diesem 
2468 Fall könnten Sie mit der Vorlage @qq{Noten und Text} 
2469 (für die Sopran-Stimme) beginnen.
2470
2471 @example
2472 \version @w{"@version{}"}
2473 melody = \relative c' @{
2474   \clef treble
2475   \key c \major
2476   \time 4/4
2477   a4 b c d
2478 @}
2479
2480 text = \lyricmode @{
2481   Aaa Bee Cee Dee
2482 @}
2483
2484 \score @{
2485   <<
2486     \new Voice = "one" @{
2487       \autoBeamOff
2488       \melody
2489     @}
2490     \new Lyrics \lyricsto "one" \text
2491   >>
2492   \layout @{ @}
2493   \midi @{ @}
2494 @}
2495 @end example
2496
2497 Jetzt wollen wir die Cello-Stimme hinzufügen.  Schauen wir uns das
2498 Beispiel @qq{Nur Noten} an:
2499
2500 @example
2501 \version @w{"@version{}"}
2502 melody = \relative c' @{
2503   \clef treble
2504   \key c \major
2505   \time 4/4
2506   a4 b c d
2507 @}
2508
2509 \score @{
2510   \new Staff \melody
2511   \layout @{ @}
2512   \midi @{ @}
2513 @}
2514 @end example
2515
2516 Wir brauchen den @code{\version}-Befehl nicht zweimal.  Wir
2517 brauchen aber den @code{melody}-Abschnitt.  Wir wollen 
2518 keine zwei @code{\score} (Partitur)-Abschnitte -- mit zwei
2519 @code{\score}-Abschnitten würden wir zwei Stimmen
2520 getrennt voneinander erhalten.  In diesem Fall wollen wir
2521 sie aber zusammen, als Duett.  Schließlich brauchen wir 
2522 innerhalb des @code{\score}-Abschnittes nur einmal die
2523 Befehle @code{\layout} und @code{\midi}.
2524
2525 Wenn wir jetzt einfach zwei @code{melody}-Abschnitte in 
2526 unsere Datei kopieren würden, hätten wir zwei @code{melody}-Variable.
2527 Das würde zu keinem Fehler führen, aber die zweite von ihnen
2528 würde für beide Melodien eingesetzt werden.  Wir müssen
2529 ihnen also andere Bezeichnungen zuweisen, um sie voneinander
2530 zu unterscheiden.  Nennen wir die Abschnitte also @code{SopranNoten}
2531 für den Sopran und @code{CelloNoten} für die Cellostimme.  Wenn
2532 wir schon dabei sind, können wir @code{text}auch nach
2533 @code{SoprText} umbenennen.  Denken Sie daran, beide
2534 Vorkommen der Bezeichnung zu ändern: einmal die Definition
2535 gleich am Anfang (@code{melody = \relative c' @{ }) und
2536 dann auch noch die Benutzung der Variable innerhalb des
2537 @code{\score}-Abschnittes.
2538
2539 Gleichzeitig können wir auch noch das Notensystem für das
2540 Cello ändern -- das Cello hat normalerweise einen Bassschlüssel.
2541 Wir ändern auch die Noten etwas ab.
2542
2543 @example
2544 \version @w{"@version{}"}
2545 SopranNoten = \relative c' @{
2546   \clef treble
2547   \key c \major
2548   \time 4/4
2549   a4 b c d
2550 @}
2551
2552 SoprText = \lyricmode @{
2553   Aaa Bee Cee Dee
2554 @}
2555
2556 CelloNoten = \relative c @{
2557   \clef bass
2558   \key c \major
2559   \time 4/4
2560   d4 g fis8 e d4
2561 @}
2562
2563 \score @{
2564   <<
2565     \new Voice = "eins" @{
2566       \autoBeamOff
2567       \SopranNoten
2568     @}
2569     \new Lyrics \lyricsto "eins" \Soprantext
2570   >>
2571   \layout @{ @}
2572   \midi @{ @}
2573 @}
2574 @end example
2575
2576 Das sieht schon vielversprechend aus, aber die Cello-Stimme 
2577 erscheint noch nicht im Notensatz -- wir haben vergessen,
2578 sie in den @code{\score}-Abschnitt einzufügen.  Wenn die
2579 Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
2580 wir
2581
2582 @example
2583 \new Staff \CelloNoten
2584 @end example
2585
2586 @noindent
2587 unter dem Befehl für den Sopran hinzufügen.  Wir brauchen auch
2588 die spitzen Klammern (@code{<<} und @code{>>}) um die
2589 Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
2590 ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
2591 zwei @code{Staff}-Instanzen).  Der @code{\score}-Abschnitt
2592 sieht jetzt so aus:
2593
2594 @c Indentation in this example is deliberately poor
2595 @example
2596 \score @{
2597   <<
2598   <<
2599     \new Voice = "eins" @{
2600       \autoBeamOff
2601       \SopranNoten
2602     @}
2603     \new Lyrics \lyricsto "eins" \SoprText
2604   >>
2605   \new Staff \CelloNoten
2606   >>
2607   \layout @{ @}
2608   \midi @{ @}
2609 @}
2610 @end example
2611
2612 @noindent
2613 Das sieht etwas unschön aus, vor allem die Einrückung stimmt
2614 nicht mehr.  Das können wir aber schnell in Ordnung bringen.
2615 Hier also die gesamte Vorlage für Sopran und Cello:
2616
2617 @lilypond[quote,verbatim,ragged-right,addversion]
2618 sopranoMusic = \relative c' {
2619   \clef treble
2620   \key c \major
2621   \time 4/4
2622   a4 b c d
2623 }
2624
2625 sopranoLyrics = \lyricmode {
2626   Aaa Bee Cee Dee
2627 }
2628
2629 celloMusic = \relative c {
2630   \clef bass
2631   \key c \major
2632   \time 4/4
2633   d4 g fis8 e d4
2634 }
2635
2636 \score {
2637   <<
2638     <<
2639       \new Voice = "one" {
2640         \autoBeamOff
2641         \sopranoMusic
2642       }
2643       \new Lyrics \lyricsto "one" \sopranoLyrics
2644     >>
2645     \new Staff \celloMusic
2646   >>
2647   \layout { }
2648   \midi { }
2649 }
2650 @end lilypond
2651
2652
2653 @seealso
2654 Die Vorlagen, mit denen wir begonnen haben, können im
2655 Anhang @qq{Vorlagen} gefunden werden, siehe
2656 @ref{Single staff}.
2657
2658
2659 @node Four-part SATB vocal score
2660 @subsection Four-part SATB vocal score
2661
2662 @cindex Vorlage, SATB
2663 @cindex Vorlage, Chorpartitur
2664 @cindex SATB-Vorlage
2665 @cindex Chorpartitur, Vorlage
2666
2667 Die meisten Partituren für vierstimmigen gemischten Chor
2668 mit Orchesterbegleitung (wie etwa Mendelssohns @notation{Elias}
2669 oder Händels @notation{Messias})  sind so aufgebaut, dass
2670 für jede der vier Stimmen ein eigenes System besteht und
2671 die Orchesterbegleitung dann als Klavierauszug darunter
2672 notiert wird.  Hier ein Beispiel aus Händels @notation{Messias}:
2673
2674 @c The following should appear as music without code
2675 @lilypond[quote,ragged-right]
2676 global = { \key d \major \time 4/4 }
2677 sopranoMusic = \relative c'' {
2678   \clef "treble"
2679   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2680 }
2681 sopranoWords = \lyricmode {
2682   Wor -- thy is the lamb that was slain
2683 }
2684 altoMusic = \relative a' {
2685   \clef "treble"
2686   r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2687 }
2688 altoWords = \sopranoWords
2689 tenorMusic = \relative c' {
2690   \clef "G_8"
2691   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2692 }
2693 tenorWords = \sopranoWords
2694 bassMusic = \relative c' {
2695   \clef "bass"
2696   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2697 }
2698 bassWords = \sopranoWords
2699 upper = \relative a' {
2700   \clef "treble"
2701   \global
2702   r4 <a d fis>2 <a e' a>4 |
2703   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2704   <g cis g'>4 <a d fis> <a cis e>2 |
2705 }
2706 lower = \relative c, {
2707   \clef "bass"
2708   \global
2709   <d d'>4 <d d'>2 <cis cis'>4 |
2710   <b b'>4. <b' b'>8 <fis fis'>2 |
2711   <e e'>4 <d d'> <a' a'>2 |
2712 }
2713
2714 \score {
2715   <<  % combine ChoirStaff and PianoStaff in parallel
2716     \new ChoirStaff <<
2717       \new Staff = "sopranos" <<
2718         \set Staff.instrumentName = "Soprano"
2719         \new Voice = "sopranos" { \global \sopranoMusic }
2720       >>
2721       \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2722       \new Staff = "altos" <<
2723         \set Staff.instrumentName = "Alto"
2724         \new Voice = "altos" { \global \altoMusic }
2725       >>
2726       \new Lyrics \lyricsto "altos" { \altoWords }
2727       \new Staff = "tenors" <<
2728         \set Staff.instrumentName = "Tenor"
2729         \new Voice = "tenors" { \global \tenorMusic }
2730       >>
2731       \new Lyrics \lyricsto "tenors" { \tenorWords }
2732       \new Staff = "basses" <<
2733         \set Staff.instrumentName = "Bass"
2734         \new Voice = "basses" { \global \bassMusic }
2735       >>
2736       \new Lyrics \lyricsto "basses" { \bassWords }
2737     >>  % end ChoirStaff
2738
2739     \new PianoStaff <<
2740       \set PianoStaff.instrumentName = "Piano"
2741       \new Staff = "upper" \upper
2742       \new Staff = "lower" \lower
2743     >>
2744   >>
2745 }
2746 @end lilypond
2747
2748 Keine der Vorlage bietet diesen Aufbau direkt an.  Die Vorlage, die
2749 am nächsten daran liegt, ist @qq{SATB-Partitur und automatischer 
2750 Klavierauszug}, siehe @ref{Vocal ensembles}.  Wir müssen diese
2751 Vorlage aber so anpassen, dass die Noten für das Klavier nicht
2752 automatisch aus dem Chorsatz generiert werden.  Die Variablen
2753 für die Noten und den Text des Chores sind in Ordnung, wir
2754 müssen nun noch Variablen für die Klaviernoten hinzufügen.
2755
2756 Die Reihenfolge, in welcher die Variablen in das Chorsystem
2757 (@code{ChoirStaff}) eingefügt werden, entspricht nicht der
2758 in dem Beispiel oben.  Wir wollen sie so sortieren, dass die
2759 Texte jeder Stimme direkt unter den Noten notiert werden.
2760 Alle Stimmen sollten als @code{\voiceOne} notiert werden,
2761 welches die Standardeinstellung ist; wir können also die 
2762 @code{\voiceXXX}-Befehle entfernen.  Wir müssen auch noch
2763 den Schlüssel für den Tenor ändern.  Die Methode, mit der
2764 der Text den Stimmen zugewiesen wird, ist uns noch nicht 
2765 bekannt, darum wollen wir sie umändern auf die Weise, die
2766 wir schon kennen.  Wir fügen auch noch Instrumentbezeichnungen
2767 zu den Systemen hinzu.
2768
2769 Damit erhalten wir folgenden @code{ChoirStaff}:
2770
2771 @example
2772     \new ChoirStaff <<
2773       \new Staff = "sopranos" <<
2774         \set Staff.instrumentName = "Soprano"
2775         \new Voice = "sopranos" @{ \global \SopranNoten @}
2776       >>
2777       \new Lyrics \lyricsto "sopranos" @{ \SopranText @}
2778       \new Staff = "altos" <<
2779         \set Staff.instrumentName = "Alto"
2780         \new Voice = "altos" @{ \global \AltNoten @}
2781       >>
2782       \new Lyrics \lyricsto "altos" @{ \AltText @}
2783       \new Staff = "tenors" <<
2784         \set Staff.instrumentName = "Tenor"
2785         \new Voice = "tenors" @{ \global \TenorNoten @}
2786       >>
2787       \new Lyrics \lyricsto "tenors" @{ \TenorText @}
2788       \new Staff = "basses" <<
2789         \set Staff.instrumentName = "Bass"
2790         \new Voice = "basses" @{ \global \BassNoten @}
2791       >>
2792       \new Lyrics \lyricsto "basses" @{ \BassText @}
2793     >>  % Ende ChoirStaff
2794 @end example
2795
2796 Als nächstes müssen wir das Klaviersystem bearbeiten.
2797 Das ist einfach: wir nehmen einfach den Klavierteil
2798 aus der @qq{Piano solo}-Vorlage:
2799
2800 @example
2801 \new PianoStaff <<
2802   \set PianoStaff.instrumentName = "Piano  "
2803   \new Staff = "oben" \oben
2804   \new Staff = "unten" \unten
2805 >>
2806 @end example
2807
2808 @noindent
2809 und fügen die Variablen @code{oben}
2810 und @code{unten} hinzu.
2811
2812 Das Chorsystem und das Pianosystem müssen mit
2813 spitzen Klammern kombiniert werden, damit beide
2814 übereinandern erscheinen:
2815
2816 @example
2817 <<  % ChoirStaff und PianoStaff parallel kombinieren
2818   \new ChoirStaff <<
2819     \new Staff = "sopranos" <<
2820       \new Voice = "sopranos" @{ \global \SopranNoten @}
2821     >>
2822     \new Lyrics \lyricsto "sopranos" @{ \SopranText @}
2823     \new Staff = "altos" <<
2824       \new Voice = "altos" @{ \global \AltNoten @}
2825     >>
2826     \new Lyrics \lyricsto "altos" @{ \AltText @}
2827     \new Staff = "tenors" <<
2828       \clef "G_8"  % Tenorschlüssel
2829       \new Voice = "tenors" @{ \global \TenorNoten @}
2830     >>
2831     \new Lyrics \lyricsto "tenors" @{ \TenorText @}
2832     \new Staff = "basses" <<
2833       \clef "bass"
2834       \new Voice = "basses" @{ \global \BassNoten @}
2835     >>
2836     \new Lyrics \lyricsto "basses" @{ \BassText @}
2837   >>  % Ende ChoirStaff
2838
2839   \new PianoStaff <<
2840     \set PianoStaff.instrumentName = "Piano"
2841     \new Staff = "oben" \oben
2842     \new Staff = "unten" \unten
2843   >>
2844 >>
2845 @end example
2846
2847 Alles miteinander kombiniert und mit den Noten für drei
2848 Takte sieht unser Beispiel nun so aus:
2849
2850 @lilypond[quote,verbatim,ragged-right,addversion]
2851 global = { \key d \major \time 4/4 }
2852 sopranoMusic = \relative c'' {
2853   \clef "treble"
2854   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2855 }
2856 sopranoWords = \lyricmode {
2857   Wor -- thy is the lamb that was slain
2858 }
2859 altoMusic = \relative a' {
2860   \clef "treble"
2861   r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2862 }
2863 altoWords = \sopranoWords
2864 tenorMusic = \relative c' {
2865   \clef "G_8"
2866   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2867 }
2868 tenorWords = \sopranoWords
2869 bassMusic = \relative c' {
2870   \clef "bass"
2871   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2872 }
2873 bassWords = \sopranoWords
2874 upper = \relative a' {
2875   \clef "treble"
2876   \global
2877   r4 <a d fis>2 <a e' a>4 |
2878   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2879   <g cis g'>4 <a d fis> <a cis e>2 |
2880 }
2881 lower = \relative c, {
2882   \clef "bass"
2883   \global
2884   <d d'>4 <d d'>2 <cis cis'>4 |
2885   <b b'>4. <b' b'>8 <fis fis'>2 |
2886   <e e'>4 <d d'> <a' a'>2 |
2887 }
2888
2889 \score {
2890   <<  % combine ChoirStaff and PianoStaff in parallel
2891     \new ChoirStaff <<
2892       \new Staff = "sopranos" <<
2893         \set Staff.instrumentName = "Soprano"
2894         \new Voice = "sopranos" { \global \sopranoMusic }
2895       >>
2896       \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2897       \new Staff = "altos" <<
2898         \set Staff.instrumentName = "Alto"
2899         \new Voice = "altos" { \global \altoMusic }
2900       >>
2901       \new Lyrics \lyricsto "altos" { \altoWords }
2902       \new Staff = "tenors" <<
2903         \set Staff.instrumentName = "Tenor"
2904         \new Voice = "tenors" { \global \tenorMusic }
2905       >>
2906       \new Lyrics \lyricsto "tenors" { \tenorWords }
2907       \new Staff = "basses" <<
2908         \set Staff.instrumentName = "Bass"
2909         \new Voice = "basses" { \global \bassMusic }
2910       >>
2911       \new Lyrics \lyricsto "basses" { \bassWords }
2912     >>  % end ChoirStaff
2913
2914     \new PianoStaff <<
2915       \set PianoStaff.instrumentName = "Piano  "
2916       \new Staff = "upper" \upper
2917       \new Staff = "lower" \lower
2918     >>
2919   >>
2920 }
2921 @end lilypond
2922
2923
2924 @node Building a score from scratch
2925 @subsection Building a score from scratch
2926
2927 @cindex Template, eigene schreiben
2928 @cindex Vorlagen, eigene schreiben
2929 @cindex eigene Vorlagen erstellen
2930 @cindex Erstellen von eigenen Vorlagen
2931 @cindex Schreiben von eigenen Vorlagen
2932
2933 Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code
2934 gewonnen haben, werden Sie vielleicht feststellen, dass es
2935 manchmal einfacher ist, von Grund auf anzufangen, anstatt
2936 die fertigen Vorlagen zu verändern.  Auf diese Art könne Sie
2937 auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen,
2938 die Sie notieren wollen.  Als Beispiel wollen wir demonstrieren,
2939 wie man die Partitur für ein Orgelpreludium von Grund auf
2940 konstruiert.
2941
2942 Beginnen wir mit dem Kopf, dem @code{header}-Abschnitt.
2943 Hier notieren wir den Titel, den Namen des Komponisten usw.
2944 Danach schreiben wir die einzelnen Variablen auf und
2945 schließlich am Ende die eigentliche Partitur, den
2946 @code{\score}-Abschnitt.  Beginnen wir mit einer groben
2947 Struktur, in die wir dann die Einzelheiten nach und nach
2948 eintragen.
2949
2950 Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium
2951 @notation{Jesu, meine Freude} von J. S. Bach, notiert
2952 für zwei Manuale und Pedal.  Sie können die Noten am Ende
2953 dieses Abschnittes sehen.  Das obere Manual trägt zwei Stimmen,
2954 das untere und das Pedalsystem jeweils nur eine.  Wir 
2955 brauchen also vier Variablen für die Noten und eine, um
2956 Taktart und Tonart zu definieren.
2957
2958 @example
2959 \version @w{"@version{}"}
2960 \header @{
2961   title = "Jesu, meine Freude"
2962   composer = "J. S. Bach"
2963 @}
2964 TimeKey = @{ \time 4/4 \key c \minor @}
2965 ManualOneVoiceOneMusic = @{s1@}
2966 ManualOneVoiceTwoMusic = @{s1@}
2967 ManualTwoMusic = @{s1@}
2968 PedalOrganMusic = @{s1@}
2969
2970 \score @{
2971 @}
2972 @end example
2973
2974 Im Moment haben wir eine unsichtbare
2975 Note in jede Stimme eingesetzt (@code{s1}).
2976 Die Noten werden später hinzugefügt.
2977
2978 Als nächstes schauen wir uns an, was in die
2979 Partitur (die @code{\score}-Umgebung)
2980 kommt.  Dazu wird einfach die Notensystemstruktur
2981 konstruiert, die wir benötigen.  Orgelmusik
2982 wird meistens auf drei Systemen notiert, eins
2983 für jedes Manual und ein drittes für die Pedalnoten.
2984 Die Systeme für die Manuale werden mit einer
2985 geschweiften Klammer verbunden, wir 
2986 benutzen hier also ein @code{PianoStaff}.
2987 Das erste Manualsystem braucht zwei Stimmen,
2988 das zweite nur eine.
2989
2990 @example
2991   \new PianoStaff <<
2992     \new Staff = "ManualOne" <<
2993       \new Voice @{ \ManualOneVoiceOneMusic @}
2994       \new Voice @{ \ManualOneVoiceTwoMusic @}
2995     >>  % end ManualOne Staff context
2996     \new Staff = "ManualTwo" <<
2997       \new Voice @{ \ManualTwoMusic @}
2998     >>  % end ManualTwo Staff context
2999   >>  % end PianoStaff context
3000 @end example
3001
3002 Als nächstes soll das System für das Pedal hinzugefügt
3003 werden.  Es soll unter das Klaviersystem gesetzt
3004 werden, aber muss gleichzeitig mit ihm erscheinen.
3005 Wir brauchen also spitze Klammern um beide
3006 Definitionen.  Sie wegzulassen würde eine Fehlermeldung
3007 in der Log-Datei hervorrufen.  Das ist ein sehr
3008 häufiger Fehler, der wohl auch Ihnen früher 
3009 oder später unterläuft.  Sie können das fertige
3010 Beispiel am Ende des Abschnittes kopieren und die
3011 Klammern entfernen, um zu sehen, wie die
3012 Fehlermeldung aussehen kann, die Sie in solch
3013 einem Fall erhalten würden.
3014
3015 @example
3016 <<  % PianoStaff and Pedal Staff must be simultaneous
3017   \new PianoStaff <<
3018     \new Staff = "ManualOne" <<
3019       \new Voice @{ \ManualOneVoiceOneMusic @}
3020       \new Voice @{ \ManualOneVoiceTwoMusic @}
3021     >>  % end ManualOne Staff context
3022     \new Staff = "ManualTwo" <<
3023       \new Voice @{ \ManualTwoMusic @}
3024     >>  % end ManualTwo Staff context
3025   >>  % end PianoStaff context
3026   \new Staff = "PedalOrgan" <<
3027     \new Voice @{ \PedalOrganMusic @}
3028   >>
3029 >>
3030 @end example
3031
3032 Es ist nicht notwendig, die simultane Konstruktion
3033 @code{<< .. >>} innerhalb des zweiten Manualsystems
3034 und des Pedalsystems zu benutzen, denn sie enthalten
3035 nur eine Stimme.  Andererseits schadet es nichts, sie
3036 zu schreiben, und es ist eine gute Angewohnheit, immer
3037 die spitzen Klammern nach einem @code{\new Staff} zu
3038 schreiben, wenn mehr als eine Stimme vorkommen könnten.
3039 Für Stimmen (@code{Voice}) dagegengilt genau das
3040 Gegenteil: eine neue Stimme sollte immer von 
3041 geschweiften Klammern (@code{@{ .. @}}) gefolgt
3042 werden, falls Sie ihre Noten in mehrere Variable aufteilen,
3043 die nacheinander gesetzt werden sollen.
3044
3045 Fügen wir also diese Struktur zu der @code{\score}-Umgebung
3046 hinzu und bringen wir die Einzüge in Ordnung.  Gleichzeitig
3047 wollen wir die richtigen Schlüssel setzen und die Richtung der
3048 Hälse und Bögen in den Stimmen des oberen Systems
3049 kontrollieren, indem die obere Stimme ein
3050 @code{\voiceOne}, die untere dagegen ein @code{\voiceTwo}
3051 erhält.  Die Taktart und Tonart werden mit unserer fertigen
3052 Variable @code{\TimeKey} eingefügt.
3053
3054 @example
3055 \score @{
3056   <<  % PianoStaff and Pedal Staff must be simultaneous
3057     \new PianoStaff <<
3058       \new Staff = "ManualOne" <<
3059         \TimeKey  % set time signature and key
3060         \clef "treble"
3061         \new Voice @{ \voiceOne \ManualOneVoiceOneMusic @}
3062         \new Voice @{ \voiceTwo \ManualOneVoiceTwoMusic @}
3063       >>  % end ManualOne Staff context
3064       \new Staff = "ManualTwo" <<
3065         \TimeKey
3066         \clef "bass"
3067         \new Voice @{ \ManualTwoMusic @}
3068       >>  % end ManualTwo Staff context
3069     >>  % end PianoStaff context
3070     \new Staff = "PedalOrgan" <<
3071       \TimeKey
3072       \clef "bass"
3073       \new Voice @{ \PedalOrganMusic @}
3074     >>  % end PedalOrgan Staff
3075   >>
3076 @}  % end Score context
3077 @end example
3078
3079 Damit ist das Grundgerüst fertig.  Jede Orgelmusik mit drei
3080 Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen
3081 in einem System sich ändern kann.  Jetzt müssen wir nur noch
3082 die Noten einfügen und alle Teile zusammenfügen, indem wir
3083 die Variablen mit einem Backslash in die Partitur einbauen.
3084
3085 @lilypond[quote,verbatim,ragged-right,addversion]
3086 \header {
3087   title = "Jesu, meine Freude"
3088   composer = "J S Bach"
3089 }
3090 TimeKey = { \time 4/4 \key c \minor }
3091 ManualOneVoiceOneMusic = \relative g' {
3092   g4 g f ees | d2 c2 |
3093 }
3094 ManualOneVoiceTwoMusic = \relative c' {
3095   ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
3096   c c4 b8 c8. g16 c b c d |
3097 }
3098 ManualTwoMusic = \relative c' {
3099   c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
3100   f ees f d g aes g f ees d e8~ ees16 f ees d |
3101 }
3102 PedalOrganMusic = \relative c {
3103   r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
3104   r16 g ees f g f g8 c,2 |
3105   }
3106
3107 \score {
3108   <<  % PianoStaff and Pedal Staff must be simultaneous
3109     \new PianoStaff <<
3110       \new Staff = "ManualOne" <<
3111         \TimeKey  % set time signature and key
3112         \clef "treble"
3113         \new Voice { \voiceOne \ManualOneVoiceOneMusic }
3114         \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
3115       >>  % end ManualOne Staff context
3116       \new Staff = "ManualTwo" <<
3117         \TimeKey
3118         \clef "bass"
3119         \new Voice { \ManualTwoMusic }
3120       >>  % end ManualTwo Staff context
3121     >>  % end PianoStaff context
3122     \new Staff = "PedalOrgan" <<
3123       \TimeKey
3124       \clef "bass"
3125       \new Voice { \PedalOrganMusic }
3126     >>  % end PedalOrgan Staff context
3127   >>
3128 }  % end Score context
3129 @end lilypond
3130
3131
3132
3133
3134
3135