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