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