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