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