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