]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
Merge branch 'lilypond/translation' of ssh://git.sv.gnu.org/srv/git/lilypond into...
[lilypond.git] / Documentation / de / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
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.15.25"
12
13 @c Translators: Till Paala
14
15 @node Allgemeine Eingabe und Ausgabe
16 @chapter Allgemeine Eingabe und Ausgabe
17 @translationof General input and output
18
19 Dieses Kapitel erklärt allgemeine Fragen zur Eingabe und Ausgabe von
20 Notation mit LilyPond und weniger direkte Fragen der Notation.
21
22 @menu
23 * Eingabestruktur::
24 * Titel::
25 * Arbeiten an Eingabe-Dateien::
26 * Ausgabe kontrollieren::
27 * MIDI-Ausgabe::
28 * Musikalische Information extrahieren::
29 @end menu
30
31
32 @node Eingabestruktur
33 @section Eingabestruktur
34 @translationof Input structure
35
36 Das hauptsächliche Eingabeformat von LilyPond sind Textdateien.
37 Üblicherweise werden diese Dateien mit der Endung @file{.ly}
38 versehen.
39
40 @menu
41 * Struktur einer Partitur::
42 * Mehrere Partituren in einem Buch::
43 * Mehrere Ausgabedateien aus einer Eingabedatei::
44 * Dateinamen der Ausgabedateien::
45 * Die Dateistruktur::
46 @end menu
47
48
49 @node Struktur einer Partitur
50 @subsection Struktur einer Partitur
51 @translationof Structure of a score
52
53 @funindex \score
54
55 Eine @code{\score}-Umgebung muss einen einzelnen musikalischen
56 Ausdruck beinhalten, der durch geschweifte Klammern begrenzt wird:
57
58 @example
59 \score @{
60 ...
61 @}
62 @end example
63
64 @warning{Es darf @strong{nur ein} äußerer musikalischer Ausdruck
65 in der @code{\score}-Umgebung geschrieben werden, und er @strong{muss}
66 von geschweiften Klammern umgeben sein.}
67
68 Dieser einzelne musikalische Ausdruck kann beliebige Größe annehmen und
69 andere musikalische Ausdrücke von beliebiger Komplexität beinhalten.
70 Alle diese Beispiele sind musikalische Ausdrücke:
71
72 @example
73 @{ c'4 c' c' c' @}
74 @end example
75
76 @lilypond[verbatim,quote]
77 {
78   { c'4 c' c' c' }
79   { d'4 d' d' d' }
80 }
81 @end lilypond
82
83 @lilypond[verbatim,quote]
84 <<
85   \new Staff { c'4 c' c' c' }
86   \new Staff { d'4 d' d' d' }
87 >>
88 @end lilypond
89
90 @example
91 @{
92   \new GrandStaff <<
93     \new StaffGroup <<
94       \new Staff @{ \Flöte @}
95       \new Staff @{ \Oboe @}
96     >>
97     \new StaffGroup <<
98       \new Staff @{ \GeigeI @}
99       \new Staff @{ \GeigeII @}
100     >>
101   >>
102 @}
103 @end example
104
105 Kommentare bilden eine Ausnahme dieser Regel.  (Andere Ausnahmen
106 siehe @ref{Die Dateistruktur}.)  Sowohl einzeilige als auch
107 Blockkommentare (eingegrenzt durch @code{%@{ .. %@}}) können
108 an beliebiger Stelle einer Eingabedatei geschrieben werden.  Sie
109 können innerhalb oder außerhalb der @code{\score}-Umgebung vorkommen,
110 und innerhalb oder außerhalb des einzelnen musikalischen Ausdrucks
111 innerhalb der @code{\score}-Umgebung.
112
113 Denken Sie daran, dass auch eine Datei, die nur eine @code{\score}-Umgebung
114 enhält, implizit in eine @code{\book}-Umgebung eingeschlossen wird.  Eine
115 @code{\book}-Umgebung in einer Eingabdatei produziert wenigstens eine
116 Ausgabedatei, und standardmäßig wird der Name der Ausagabedatei aus dem
117 Namen der Eingabedatei abgeleitet.  @file{fandangoforelephants.ly} produziert
118 also @file{fandangoforelephants.pdf}.
119
120 Zu weiteren Einzelheiten zu @code{\book}-Umgebungen siehe
121 @ref{Mehrere Partituren in einem Buch},
122 @ref{Mehrere Ausgabedateien aus einer Eingabedatei} und
123 @ref{Die Dateistruktur}.
124
125
126 @seealso
127 Handbuch zum Lernen:
128 @rlearning{Arbeiten an Eingabe-Dateien},
129 @rlearning{Musikalische Ausdrücke erklärt},
130 @rlearning{Score ist ein (einziger)  zusammengesetzter musikalischer Ausdruck}.
131
132 Notationsreferenz:
133 @ref{Mehrere Partituren in einem Buch},
134 @ref{Mehrere Ausgabedateien aus einer Eingabedatei} und
135 @ref{Die Dateistruktur}.
136
137
138 @node Mehrere Partituren in einem Buch
139 @subsection Mehrere Partituren in einem Buch
140 @translationof Multiple scores in a book
141
142 @funindex \book
143 @cindex Sätze, mehrere
144
145 Eine Partitur kann mehrere musikalische Stücke und verschiedene
146 Texte beinhalten.  Beispiele hierzu sind etwa eine Etüdensammlung
147 oder ein Orchesterstück mit mehreren Sätzen.  Jeder Satz wird
148 in einer eigenen @code{\score}-Umgebung notiert:
149
150 @example
151 \score @{
152   @var{..Noten..}
153 @}
154 @end example
155
156 @noindent
157 und Texte werden mit einer @code{\markup}-Umgebung geschrieben:
158
159 @example
160 \markup @{
161   @var{..Text..}
162 @}
163 @end example
164
165 @funindex \book
166
167 Alle Sätze und Texte, die in derselben @file{.ly}-Datei vorkommen,
168 werden normalerweise in eine einzige Ausgabedatei gesetzt.
169
170 @example
171 \score @{
172   @var{..}
173 @}
174 \markup @{
175   @var{..}
176 @}
177 \score @{
178   @var{..}
179 @}
180 @end example
181
182 Eine wichtige Ausnahme stellen Dokumente dar,
183 die mit lilypond-book erstellt werden, für die Sie explizit
184 @code{\book}-Umgebungen notieren müssen, weil sonst nur die erste
185 @code{\score}- bzw. @code{\markup}-Umgebung angezeigt wird.
186
187 Der Kopfbereich für jedes Musikstück kann innerhalb der @code{\score}-Umgebung
188 definiert werden.  Die @code{piece}-(Stück)-Bezeichnung aus dieser
189 @code{\header}-Umgebung wird vor jedem Satz ausgegeben.  Die Überschrift für
190 ein ganzes Buch kann innerhalb von @code{\book} notiert werden, aber wenn
191 diese Umgebung fehlt, wird die @code{\header}-Umgebung genommen, die auf
192 erster Ebene der Datei notiert ist.
193
194 @example
195 \header @{
196   title = "Acht Miniaturen"
197   composer = "Igor Stravinsky"
198 @}
199 \score @{
200   @dots{}
201   \header @{ piece = "Romanze" @}
202 @}
203 \markup @{
204    ..Text der zweiten Strophe..
205 @}
206 \markup @{
207    ..Text der dritten Strophe..
208 @}
209 \score @{
210   @dots{}
211   \header @{ piece = "Menuetto" @}
212 @}
213 @end example
214
215 @funindex \bookpart
216
217 Stücke können innerhalb eines Buches mit @code{\bookpart} gruppiert
218 werden.  Derartige Buchabschnitte werden durch einen Seitenumbruch
219 voneinander getrennt und können wie auch das ganze Buch selber mit
220 einem Titel innerhalb einer @code{\header}-Umgebung beginnen.
221
222 @example
223 \bookpart @{
224   \header @{
225     title = "Buchtitel"
226     subtitle = "Erster Teil"
227   @}
228   \score @{ @dots{} @}
229   @dots{}
230 @}
231 \bookpart @{
232   \header @{
233     subtitle = "Zweiter Teil"
234   @}
235   \score @{ @dots{} @}
236   @dots{}
237 @}
238 @end example
239
240
241 @node Mehrere Ausgabedateien aus einer Eingabedatei
242 @subsection Mehrere Ausgabedateien aus einer Eingabedatei
243 @translationof Multiple output files from one input file
244
245 Wenn Sie mehrere Ausgabedateien aus derselben @file{.ly}-Datei haben
246 wollen, können Sie mehrere @code{\book}-Umgebungen hinzufügen, wobei
247 jede Umgebung eine neue Ausgabedatei produziert.  Wenn Sie keine
248 @code{\book}-Umgebung in der Eingabedatei angeben, wird die Datei von
249 LilyPond implizit als eine große @code{\book}-Umgebung behandelt, siehe
250 auch @ref{Die Dateistruktur}.
251
252 Wenn man mehrere Dateien aus einer einzigen Eingabedatei erstellt, stellt
253 LilyPond sicher, dass keine der Ausgabedateien der vorhandenen
254 @code{\book}-Umgebungen eine andere Ausgabedatei, etwa von der vorherigen
255 @code{\book}-Umgebung, überschreibt.
256
257 Dies geschieht, indem ein Suffix an den Ausgabenamen für jede
258 @code{\book}-Umgebung gehängt wird, die den Dateinamen der Eingabdatei
259 als Grundlage nimmt.
260
261 Das Standardverhalten ist es, einen Zahlen-Suffix für die Namen hinzuzufügen,
262 die in Konflikt stehen.  Der Code
263
264 @example
265 \book @{
266   \score @{ @dots{} @}
267   \layout @{ @dots{} @}
268 @}
269 \book @{
270   \score @{ @dots{} @}
271   \layout @{ @dots{} @}
272 @}
273 \book @{
274   \score @{ @dots{} @}
275   \layout @{ @dots{} @}
276 @}
277 @end example
278
279 @noindent
280 produziert also
281
282 @itemize
283 @item
284 @file{eightminiatures.pdf},
285 @item
286 @file{eightminiatures-1.pdf} and
287 @item
288 @file{eightminiatures-2.pdf}.
289 @end itemize
290
291
292 @node Dateinamen der Ausgabedateien
293 @subsection Dateinamen der Ausgabedateien
294 @translationof Output file names
295
296 @funindex \bookOutputSuffix
297 @funindex \bookOutputName
298
299 LilyPond stellt die Möglichkeit zur Verfügung zu kontrollieren, welche
300 Dateinamen für welche Back-ends benutzt werden sollen, wenn die Ausgabedateien
301 erstellt werden.
302
303 Im vorhergehenden Abschnitt wurde gezeigt, wir LilyPond gleichnamige
304 Ausgabedateien verhindert, wenn mehrere Ausgabedateien aus derselben
305 Eingabedatei erstellt werden.  Es gibt auch die Möglichkeit, eigene
306 Suffixe für jeden @code{\book}-Abschnitt zu definieren, sodass man etwa
307 Dateinamen wie @file{eightminiatures-Romanze.pdf}, @file{eightminiatures-Menuetto.pdf}
308 und @file{eightminiatures-Nocturne.pdf} produzieren kann, indem man
309 eine @code{\bookOutputSuffix}-Angabe in jede @code{\book}-Umgebung
310 einfügt.
311
312 @example
313 \book @{
314   \bookOutputSuffix "Romanze"
315   \score @{ @dots{} @}
316   \layout @{ @dots{} @}
317 @}
318 \book @{
319   \bookOutputSuffix "Menuetto"
320   \score @{ @dots{} @}
321   \layout @{ @dots{} @}
322 @}
323 \book @{
324   \bookOutputSuffix "Nocturne"
325   \score @{ @dots{} @}
326   \layout @{ @dots{} @}
327 @}
328 @end example
329
330 Man kann auch einen anderen Dateinamen für die Ausgabedatei einer
331 @code{\book}-Umgebung erstellen, indem man @code{\bookOutputName}-Angabe
332 macht:
333
334 @example
335 \book @{
336   \bookOutputName "Romanze"
337   \score @{ @dots{} @}
338   \layout @{ @dots{} @}
339 @}
340 \book @{
341   \bookOutputName "Menuetto"
342   \score @{ @dots{} @}
343   \layout @{ @dots{} @}
344 @}
345 \book @{
346   \bookOutputName "Nocturne"
347   \score @{ @dots{} @}
348   \layout @{ @dots{} @}
349 @}
350 @end example
351
352 Die obige Datei produziert folgene Ausgabedateien:
353
354 @itemize
355 @item
356 @file{Romanze.pdf},
357 @item
358 @file{Menuetto.pdf} and
359 @item
360 @file{Nocturne.pdf}.
361 @end itemize
362 @node Die Dateistruktur
363 @subsection Die Dateistruktur
364 @translationof File structure
365
366 @funindex \paper
367 @funindex \midi
368 @funindex \layout
369 @funindex \header
370 @funindex \score
371 @funindex \book
372 @funindex \bookpart
373
374 @cindex Dateistruktur
375 @cindex Struktur, Datei
376 @cindex Eingabedatei, Struktur
377 @cindex Quelldatei, Struktur
378
379 Eine @file{.ly}-Datei kann eine beliebige Anzahl an Ausdrücken
380 auf der obersten Ebene beinhalten, wobei ein Ausdruck der obersten
381 Ebene einer der folgenden sein kann:
382
383 @itemize
384 @item
385 Eine Ausgabedefinition, wie @code{\paper}, @code{\midi} und
386 @code{\layout}.  Derartige Definitionen auf oberster Ebene verändern
387 die globalen Einstellungen für das ganze @qq{Buch}.  Wenn mehr
388 als eine derartige Definition desselben Typs angegeben wird, hat
389 die spätere Vorrang.
390
391 @item
392 Ein direkter Scheme-Ausdruck, wie etwa
393 @code{#(set-default-paper-size "a7" 'landscape)} oder
394 @code{#(ly:set-option 'point-and-click #f)}.
395
396 @item
397 Eine @code{\header}-Umgebung.  Damit wird die globale Titelei
398 eingestellt.  Das ist die Umgebung, in der sich Definition für
399 das ganze Buch befinden, wie Komponist, Titel usw.
400
401 @item
402 Eine @code{\score}-Umgebung.  Die in ihr enthaltene Partitur wird
403 zusammen mit anderen vorkommenden @code{\score}-Umgebungen gesammelt
404 und in ein @code{\book} zusammengefasst.  Dieses Verhalten kann
405 verändert werden, indem die Variable @code{toplevel-score-handler}
406 auf höchster Ebene gesetzt wird.  Die Definition des Standards findet sich
407 in der Datei @file{../scm/lily.scm}.
408
409 @item
410 Eine @code{\book}-Umgebung fasst mehrere Sätze (d. h. mehrere
411 @code{\score}-Umgebungen) logisch in ein Dokument zusammen.
412 Wenn mehrere @code{\score}-Partituren vorkommen, wird für jede
413 @code{\book}-Umgebung eine eigene Ausgabedatei erstellt, in der
414 alle in der Umgebung enthaltenen Partituren zusammengefasst sind.
415 Der einzige Grund, explizit eine @code{\book}-Umgebung zu setzen,
416 ist, wenn mehrere Ausgabedateien aus einer einzigen Quelldatei
417 erstellt werden sollen.  Eine Ausnahme sind lilypond-book-Dokumente,
418 in denen eine @code{\book}-Umgebung explizit hinzugefügt werden
419 muss, wenn mehr als eine @code{\score}- oder @code{\markup}-Umgebung
420 im gleichen Beispiel angezeigt werden soll.  Dieses Verhalten
421 kann verändert werden, indem die Variable @code{toplevel-book-handler}
422 auf höchster Ebene gesetzt wird.  Die Definition des Standards
423 findet sich in der Datei @file{../scm/lily.scm}.
424
425 @item
426 Eine @code{\bookpart}-Umgebung.  Ein Buch (@code{\book}) kann in
427 mehrere Teile untergliedert sein, indem @code{\bookpart}-Umgebungen
428 eingesetzt werden. Jeder Buchabschnitt beginnt auf einer neuen
429 Seite und kann eigene Papierdefinitionen in einer @code{\paper}-Umgebung
430 haben.
431
432 @item
433 Ein zusammengesetzter musikalischer Ausdruck wie etwa
434 @example
435 @{ c'4 d' e'2 @}
436 @end example
437
438 Dieses Beispiel wird von LilyPond automatisch in einer
439 @code{\score}-Umgebung in einem Buch interpretiert und
440 mit anderen @code{\score}-Umgebungen und musikalischen
441 Ausdrücken auf der höchsten Ebene zusammen ausgegeben.
442 Anders gesagt: eine Datei, die nur das obige Beispiel
443 beinhaltet, wird übersetzt zu
444
445 @example
446 \book @{
447   \score @{
448     \new Staff @{
449       \new Voice @{
450         @{ c'4 d' e'2 @}
451       @}
452     @}
453     \layout @{ @}
454   @}
455   \paper @{ @}  
456   \header @{ @}
457 @}
458 @end example
459
460 Dieses Verhalten kann verändert werden, indem die Variable
461 @code{toplevel-music-handler} auf der obersten Ebene gesetzt
462 wird.  Die Definition des Standards findet sich in der Datei
463 @file{../scm/lily.scm}.
464
465 @item
466 Eine Textbeschriftung, eine Strophe etwa:
467 @example
468 \markup @{
469    2.  Die erste Zeile der zweiten Strophe.
470 @}
471 @end example
472
473 Textbeschriftungen werden über, zwischen oder unter musikalischen
474 Ausdrücken gesetzt, so wie sie notiert werde.
475
476 @cindex Variablen
477
478 @item
479 Eine Variable, wie
480 @example
481 foo = @{ c4 d e d @}
482 @end example
483
484 Sie kann dann später in der Datei eingesetzt werden, indem @code{\foo}
485 geschrieben wird.  Die Bezeichnung der Variable darf nur aus
486 alphabetischen Zeichen bestehen, keine Zahlen, Unter- oder Bindestriche.
487
488 @end itemize
489
490 Das folgende Beispiel zeigt drei Dinge, die auf der obersten Ebene
491 notiert werden können:
492
493 @example
494 \layout @{
495   % Zeilen rechtsbündig setzen
496   ragged-right = ##t
497 @}
498
499 \header @{
500    title = "Do-re-mi"
501 @}
502
503 @{ c'4 d' e2 @}
504 @end example
505
506 An einer beliebigen Stelle der Datei kann jede der folgenden lexikalen
507 Anweisungen notiert werden:
508
509 @itemize
510 @item @code{\version}
511 @item @code{\include}
512 @item @code{\sourcefilename}
513 @item @code{\sourcefileline}
514 @item
515 Ein einzeiliger Kommentar, beginnend mit @code{%}.
516
517 @item
518 Ein mehrzeiliger Kommentar, umgeben von @code{%@{ .. %@}}.
519
520 @end itemize
521
522 @cindex Leerzeichen
523
524 Leerzeichen zwischen Einheiten in der Eingabe werden generell ignoriert
525 und können nach Belieben weggelassen werden oder hinzugefügt werden,
526 um die Lesbarkeit des Codes zu verbessern.  Mindestens ein Leerzeichen
527 sollte jedoch unter folgenden Umständen immer eingesetzt werden, um
528 Fehler zu vermeiden:
529
530 @itemize
531 @item
532 Vor und hinter jeder schließenden oder öffnenden Klammer,
533 @item
534 nach jedem Befehl oder jeder Variable, also jeder Einheit, die mit
535 @code{\} beginnt,
536 @item
537 nach jeder Einheit, die als Scheme-Ausdruck interpretiert werden,
538 also alle Einheiten, die mit@tie{}@code{#} beginnen.
539 @item
540 Alle Einheiten von Scheme-Ausdrücken müssen mit Leerzeichen getrennt
541 werden,
542 @item
543 in Gesangstextabschnitten (@code{lyricmode}) müssen Leerzeichen
544 zwischen alle Ausdrücke in @code{\override}- und @code{\set}-Befehlen
545 gesetzt werden.  Insbesondere müssen um Punkte und Gleichzeitszeichen
546 in Befehlen wie @code{\override Score . LyricTex #'font-size = #5)}
547 und vor dem gesamten Befehl geschrieben werden.
548
549 @end itemize
550
551 @seealso
552 Handbuch zum Lernen:
553 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert}.
554
555
556 @node Titel
557 @section Titel
558 @translationof Titles and headers
559
560 Fast alle gedruckten Noten beinhalten einen Titel und den Namen
561 des Komponisten, teilweise wird auch noch sehr viel mehr Information
562 zur Verfügung gestellt.
563
564 @menu
565 * Titel Kopf und Fußzeilen erstellen::
566 * Eigene Kopf und Fußzeilen sowie Titel::
567 * Fußnoten erstellen::
568 * Verweis auf die Seitenzahlen::
569 * Inhaltsverzeichnis::
570 @end menu
571
572
573 @node Titel Kopf und Fußzeilen erstellen
574 @subsection Titel, Kopf- und Fußzeilen erstellen
575 @translationof Creating titles headers and footers
576
577 @menu
578 * Wie funktioniert die Titel-Umgebung?::
579 * Standardlayout von book und Partitur Titelumgebungen::
580 * Standardlayout von Kopf und Fußzeilen::
581 @end menu
582
583
584 @node Wie funktioniert die Titel-Umgebung?
585 @unnumberedsubsubsec Wie funktioniert die Titel-Umgebung?
586 @translationof Title blocks explained
587
588 @c TODO: figure out how \bookpart titles work
589
590 Es gibt zwei Arten von Titelumgebungen: die Hauptumgebung, die über
591 der ersten @code{\score}-Umgebung innerhalb eines @qq{book} notiert
592 wird, und individuelle Titelumgebungen, die innerhalb von
593 @code{\score} auftreten können.  Textfelder für beide Typen werden
594 in der @code{\header}-Umgebung eingegeben.
595
596 Wenn in dem @qq{book} nur eine einzelne Partitur vorkommt,
597 kann die @code{\header}-Umgebung innheralb oder außerhalb der
598 @code{\score}-Umgebung geschrieben werden.
599
600 @warning{Denken Sie daran, dass zuerst ein musikalischer Ausdruck
601 notiert werden muss, wenn Sie eine @bs{}@code{header}-Umgebung innheralb
602 einer @bs{}@code{score}-Umgebung verwenden wollen.}
603
604 @lilypond[papersize=a5,quote,verbatim,noragged-right]
605 \header {
606   title = "SUITE I."
607   composer = "J. S. Bach."
608 }
609
610 \score {
611   \new Staff \relative g, {
612     \clef bass
613     \key g \major
614     \repeat unfold 2 { g16( d' b') a b d, b' d, } |
615     \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
616   }
617   \header {
618     piece = "Prélude."
619   }
620 }
621
622 \score {
623   \new Staff \relative b {
624     \clef bass
625     \key g \major
626     \partial 16 b16 |
627     <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
628     d16( b g fis) g( e d c) b(c d e) fis( g a b) |
629   }
630   \header {
631     piece = "Allemande."
632   }
633 }
634 @end lilypond
635
636 Textfelder der Haupttitelumgebung können in allen @code{\score}-Umgebungen
637 gesetzt oder manuell unterdrückt werden:
638
639 @lilypond[papersize=a5,quote,verbatim,noragged-right]
640 \book {
641   \paper {
642     print-all-headers = ##t
643   }
644   \header {
645     title = "DAS WOHLTEMPERIRTE CLAVIER"
646     subtitle = "TEIL I"
647     % Do not display the tagline for this book
648     tagline = ##f
649   }
650   \markup { \vspace #1 }
651   \score {
652     \new PianoStaff <<
653       \new Staff { s1 }
654       \new Staff { \clef "bass" s1 }
655     >>
656     \header {
657       title = "PRAELUDIUM I"
658       opus = "BWV 846"
659       % Do not display the subtitle for this score
660       subtitle = ##f
661     }
662   }
663   \score {
664     \new PianoStaff <<
665       \new Staff { s1 }
666       \new Staff { \clef "bass" s1 }
667     >>
668     \header {
669       title = "FUGA I"
670       subsubtitle = "A 4 VOCI"
671       opus = "BWV 846"
672       % Do not display the subtitle for this score
673       subtitle = ##f
674     }
675   }
676 }
677 @end lilypond
678
679 @seealso
680 Notationsreferenz:
681 @ref{Die Dateistruktur},
682 @ref{Angepasstes Layout für Titelumgebungen}.
683
684
685 @node Standardlayout von book und Partitur Titelumgebungen
686 @unnumberedsubsubsec Standardlayout von @code{book}- und Partitur-Titelumgebungen
687 @translationof Default layout of book and score title blocks
688
689 Layout und Formatierung der Titelfelder wird durch zwei
690 @code{\paper}-Variablen kontrolliert: @code{bookTitleMarkup} für
691 die Hauptumgebung und @code{scoreTitleMarkup} für einzelne
692 @code{\header}-Umgebungen innerhalb von einer @code{\score}-Umgebung.
693
694 @lilypond[papersize=a6,quote,verbatim,noragged-right]
695 \header {
696   % The following fields are centered
697   dedication = "Dedication"
698   title = "Title"
699   subtitle = "Subtitle"
700   subsubtitle = "Subsubtitle"
701   instrument = "Instrument"
702
703   % The following fields are left-aligned on the left side
704   poet = "Poet"
705   meter = "Meter"
706
707   % The following fields are right-aligned on the right side
708   composer = "Composer"
709   arranger = "Arranger"
710 }
711
712 \score {
713   { s1 }
714   \header {
715     % The following fields are placed at opposite ends of the same line
716     piece = "Piece"
717     opus = "Opus"
718   }
719 }
720 @end lilypond
721
722 @c Is the bit about \null markups true? -mp
723
724 Textfelder, die in einer @code{\header}-Umgebung nicht benutzt werden,
725 werden durch @code{\null}-Textbeschriftung ersetzt, sodass sie keinen
726 leeren Platz belegen.
727
728 Die Standardeinstellungen von @code{scoreTitleMarkup} platzieren
729 die Felder @code{piece} (Stück) und @code{opus} zu den gegenüberliegenden
730 Seiten der selben Zeile.
731
732 @funindex breakbefore
733
734 Mit der Variable @code{breakbefore} innerhalb einer @code{\header}-Umgebung,
735 die für sich auch eine @code{\score}-Umgebung darstellt, kann man
736 die Hauptüberschriften auf der ersten Seite allein ausgeben, sodass die
737 Noten (in der @code{score}-Umgebung definiert) erst auf der folgenden
738 Seite beginnen.
739
740 @lilypond[papersize=a8landscape,verbatim,noragged-right]
741 \book {
742   \header {
743     title = "This is my Title"
744     subtitle = "This is my Subtitle"
745     copyright = "This is the bottom of the first page"
746   }
747   \score {
748     \repeat unfold 4 { e'' e'' e'' e'' }
749     \header {
750       piece = "This is the Music"
751       breakbefore = ##t
752     }
753   }
754 }
755 @end lilypond
756
757 @seealso
758 Handbuch zum Lernen:
759 @rlearning{Wie eine LilyPond-Eingabe-Datei funktioniert},
760
761 Notationsreferenz:
762 @ref{Die Dateistruktur}.
763
764 Installierte Dateien:
765 @file{ly/titling-init.ly}.
766
767
768 @node Standardlayout von Kopf und Fußzeilen
769 @unnumberedsubsubsec Standardlayout von Kopf- und Fußzeilen
770 @translationof Default layout of headers and footers
771
772 @emph{Kopf-} und @emph{Fußzeilen} sind Textzeilen, die ganz oben
773 und ganz unten auf der Seite stehen, unabhängig vom Textbereich eines
774 Buches.  Sie können mit folgenden @code{\paper}-Variablen kontrolliert
775 werden:
776
777 @itemize
778 @item @code{oddHeaderMarkup}
779 @item @code{evenHeaderMarkup}
780 @item @code{oddFooterMarkup}
781 @item @code{evenFooterMarkup}
782 @end itemize
783
784 Diese Beschriftungsvariablen können nur auf Textfelder einer
785 Haupttitelumgebung (eine @code{\header}-Umgebung auf höchster Ebene, die
786 sich auf alle @code{\score}-Umgebungen einer Datei bezieht)
787 zugreifen und sind definiert in der Datei @file{ly/titling-init.ly}.  In
788 den Standardeinstellungen
789
790 @itemize
791
792 @item
793 werden Seitenzahlen automatisch ganz oben links (wenn gerade) oder ganz
794 oben rechts (wenn ungerade) gesetzt, beginnend mit der zweiten Seite.
795
796 @item
797 wird das @code{instrument}-Textfeld auf jeder Seite zentriert, beginnend
798 mit der zweiten Seite.
799
800 @item
801 wird der @code{copyright}-Text unten auf der ersten Zeite zentriert.
802
803 @item
804 wird der Inhalt von @code{tagline} unten auf der letzten Seite zentriert
805 und unterhalb des @code{copyright}-Texts, wenn es sich nur um eine Seite
806 handelt.
807
808 @end itemize
809
810 @lilypond[papersize=a8landscape]
811 \book {
812   \score {
813     \relative c' {
814       c4 d e f
815     }
816   }
817 }
818 @end lilypond
819
820 Die Standardeinstellung von @code{tagline} kann verändert werden,
821 indem man ein @code{tagline}-Feld in die @code{\header}-Umgebung auf
822 höchster Ebene schreibt.
823
824 @lilypond[papersize=a8landscape,verbatim]
825 \book {
826   \header {
827     tagline = "... music notation for Everyone"
828   }
829   \score {
830     \relative c' {
831       c4 d e f
832     }
833   }
834 }
835 @end lilypond
836
837 Um die @emph{tagline} ganz zu entfernen, wird ihr Inhalb als @code{##f}
838 (falsch) definiert.
839
840
841 @node Eigene Kopf und Fußzeilen sowie Titel
842 @subsection Eigene Kopf- und Fußzeilen sowie Titel
843 @translationof Custom headers footers and titles
844
845 @c TODO: somewhere put a link to header spacing info
846 @c       (you'll have to explain it more in NR 4).
847
848 @menu
849 * Angepasste Textformatierung für Titelumgebungen::
850 * Angepasstes Layout für Titelumgebungen::
851 * Angepasstes Layout für Kopf und Fußzeilen::
852 @end menu
853
854
855 @node Angepasste Textformatierung für Titelumgebungen
856 @unnumberedsubsubsec Angepasste Textformatierung für Titelumgebungen
857 @translationof Custom text formatting for title blocks
858
859 Standard-@code{\markup}-Befehle können eingesetzt werden, um jeglichen
860 Text in Titeln, Kopf- und Fußzeilen innerhalb der @code{\header}-Umgebung
861 zu verändern.
862
863 @lilypond[quote,verbatim,noragged-right]
864 \score {
865   { s1 }
866   \header {
867     piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
868     subtitle = \markup { \italic "(Excerpt)" }
869   }
870 }
871 @end lilypond
872
873 @seealso
874 Notationsreferenz:
875 @ref{Text formatieren}.
876
877
878 @node Angepasstes Layout für Titelumgebungen
879 @unnumberedsubsubsec Angepasstes Layout für Titelumgebungen
880 @translationof Custom layout for title blocks
881
882 @code{\markup}-Befehle in der @code{\header}-Umgebung sind sinnvoll
883 für einfaches Formatieren von Text, aber sie gewähren keine genaue
884 Kontrolle über die Positionierung von Titeln.  Um die Positionierung
885 von Titeltextfeldern vorzunehmen, eignen sich beide oder eine von
886 folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
887
888 @itemize
889 @item @code{bookTitleMarkup}
890 @item @code{scoreTitleMarkup}
891 @end itemize
892
893 Diese Beschriftungsvariablen sind behandelt in
894 @ref{Standardlayout von book und Partitur Titelumgebungen}.
895
896 Die Standardeinstellungen von @code{scoreTitleMarkup}, wie in der
897 Datei @file{ly/titling-init.ly} definiert, sind:
898
899 @example
900 scoreTitleMarkup = \markup @{ \column @{
901   \on-the-fly #print-all-headers @{ \bookTitleMarkup \hspace #1 @}
902   \fill-line @{
903     \fromproperty #'header:piece
904     \fromproperty #'header:opus
905   @}
906 @}
907 @}
908 @end example
909
910 Dadurch werden die Textfelder @code{piece} (Stück) und @code{opus}
911 an den gegenüberliegenden Enden der gleichen Zeile platziert:
912
913 @lilypond[quote,verbatim,noragged-right]
914 \score {
915   { s1 }
916   \header {
917     piece = "PRAELUDIUM I"
918     opus = "BWV 846"
919   }
920 }
921 @end lilypond
922
923 Das folgende Beispiel verändert die Einstellungen von
924 @code{scoreTitleMarkup}, sodass das Textfeld @code{piece}
925 zentriert wird und in fetter, größerer Schrift erscheint.
926
927 @lilypond[papersize=a5,quote,verbatim,noragged-right]
928 \book {
929   \paper {
930     indent = 0\mm
931     scoreTitleMarkup = \markup {
932       \fill-line {
933         \null
934         \fontsize #4 \bold \fromproperty #'header:piece
935         \fromproperty #'header:opus
936       }
937     }
938   }
939   \header { tagline = ##f }
940   \score {
941     { s1 }
942     \header {
943       piece = "PRAELUDIUM I"
944       opus = "BWV 846"
945     }
946   }
947 }
948 @end lilypond
949
950 Textfelder, die normalerweise nur im Haupttitel ausgegeben werden,
951 können auch in die Titel einzelner Partituren aufgenommen werden,
952 indem man @code{print-all-headers} in die @code{\paper}-Umgebung einfügt.
953 Ein Nachteil dieser Methode ist, dass Textfelder, die tatsächlich nur
954 im Haupttitel erscheinen sollen, manuell für jede Partitur unterdrückt
955 werden müssen.  Siehe auch @ref{Wie funktioniert die Titel-Umgebung?}.
956
957 Um das zu vermeiden, kann das gewünschte Feld zur Definition von
958 @code{scoreTitleMarkup} hinzugefügt werden.  Im folgenden Beispiel
959 wird das Komponistenfeld (@code{composer}) (normalerweise mit
960 @code{bookTitleMarkup} assoziiert) zu @code{scoreTitleMarkup}
961 hinzugefügt, sodass jede Partitur einen eigenen Komponisten haben kann.
962
963 @lilypond[papersize=a5,quote,verbatim,noragged-right]
964 \book {
965   \paper {
966     indent = 0\mm
967     scoreTitleMarkup = \markup {
968       \fill-line {
969         \null
970         \fontsize #4 \bold \fromproperty #'header:piece
971         \fromproperty #'header:composer
972       }
973     }
974   }
975   \header { tagline = ##f }
976   \score {
977     { s1 }
978     \header {
979       piece = "MENUET"
980       composer = "Christian Petzold"
981     }
982   }
983   \score {
984     { s1 }
985     \header {
986       piece = "RONDEAU"
987       composer = "François Couperin"
988     }
989   }
990 }
991 @end lilypond
992
993 Es ist auch möglich, eigene Textfelder zu erstellen und dann auf sie
994 in der Beschriftungsdefinition zu verweisen:
995
996 @lilypond[papersize=a5,quote,verbatim,noragged-right]
997 \book {
998   \paper {
999     indent = 0\mm
1000     scoreTitleMarkup = \markup {
1001       \fill-line {
1002         \null
1003         \override #`(direction . ,UP) {
1004           \dir-column {
1005             \center-align \fontsize #-1 \bold
1006               \fromproperty #'header:mycustomtext %% User-defined field
1007             \center-align \fontsize #4 \bold
1008               \fromproperty #'header:piece
1009           }
1010         }
1011         \fromproperty #'header:opus
1012       }
1013     }
1014   }
1015   \header { tagline = ##f }
1016   \score {
1017     { s1 }
1018     \header {
1019       piece = "FUGA I"
1020       mycustomtext = "A 4 VOCI" %% User-defined field
1021       opus = "BWV 846"
1022     }
1023   }
1024 }
1025 @end lilypond
1026
1027 @seealso
1028 Notationsreferenz:
1029 @ref{Wie funktioniert die Titel-Umgebung?}.
1030
1031
1032 @node Angepasstes Layout für Kopf und Fußzeilen
1033 @unnumberedsubsubsec Angepasstes Layout für Kopf- und Fußzeilen
1034 @translationof Custom layout for headers and footers
1035
1036 @c can make-header and make-footer be removed from
1037 @c paper-defaults-init.ly? -mp
1038
1039 @code{\markup}-Befehle in der @code{\header}-Umgebung sind nützlich
1040 um einfachen Text zu formatieren, erlauben aber keine Kontrolle
1041 über die Positionierung von Kopf- und Fußzeilen.  Um die Positionierung
1042 der Textfelder zu ändern, eignen sich beide oder eine von
1043 folgenden Variablen (die man in der @code{\paper}-Umgebung einsetzen muss):
1044
1045 @itemize
1046 @item @code{oddHeaderMarkup}
1047 @item @code{evenHeaderMarkup}
1048 @item @code{oddFooterMarkup}
1049 @item @code{evenFooterMarkup}
1050 @end itemize
1051
1052 Das folgende Beispiel zentriert die Seitenzahlen unten auf jeder Seite.
1053 Zuerst werden die Standardeinstellungen von @code{oddHeaderMarkup} und
1054 @code{evenHeaderMarkup} entfernt, indem sie als @qq{Null}-Beschriftung
1055 definiert werden.  Dann wird @code{oddFooterMarkup} mit zentrierter
1056 Seitennummer neu definiert.  Schließlich erhält @code{evenFooterMarkup} 
1057 die selbe Layoutdefinition wie @code{\oddFooterMarkup}:
1058
1059 @lilypond[papersize=a8,quote,verbatim,noragged-right]
1060 \book {
1061   \paper {
1062     print-page-number = ##t
1063     print-first-page-number = ##t
1064     oddHeaderMarkup = \markup \null
1065     evenHeaderMarkup = \markup \null
1066     oddFooterMarkup = \markup {
1067       \fill-line {
1068         \on-the-fly #print-page-number-check-first
1069         \fromproperty #'page:page-number-string
1070       }
1071     }
1072     evenFooterMarkup = \oddFooterMarkup
1073   }
1074   \score {
1075     \new Staff { s1 \break s1 \break s1 }
1076   }
1077 }
1078 @end lilypond
1079
1080 @seealso
1081 Notationsreferenz:
1082 @ref{Wie funktioniert die Titel-Umgebung?},
1083 @ref{Standardlayout von book und Partitur Titelumgebungen}.
1084
1085
1086 @node Fußnoten erstellen
1087 @subsection Fußnoten erstellen
1088 @translationof Creating footnotes
1089
1090 Zwei Arten an Fußnoten können erstellt werden: automatische und
1091 manuelle Fußnoten.
1092
1093 @menu
1094 * Übersicht über Fußnoten::
1095 * Automatische Fußnoten::
1096 * Manuelle Fußnoten::
1097 @end menu
1098
1099 @node Übersicht über Fußnoten
1100 @unnumberedsubsubsec Übersicht über Fußnoten
1101 @translationof Footnotes overview
1102
1103 Automatische Fußnoten erstellen aufsteigende Zahlenverweise, während
1104 mit manuellen Fußnoten eigene angepasste Verweise erstellt werden
1105 können.  Alle Grobs, @code{\markup}-Beschriftung auf höchster Ebene
1106 und zu Akkord zusammengefasste Noten können mit Fußnoten versehen werden.
1107
1108 Die Reihenfolge, in welcher ein Grob erstellt wird, bestimmt die
1109 Reihenfolge der Nummerierung automatischer Fußnoten.
1110
1111
1112 @node Automatische Fußnoten
1113 @unnumberedsubsubsec Automatische Fußnoten
1114 @translationof Automatic footnotes
1115
1116 @cindex Fußnoten, automatisch
1117
1118 Automatische Fußnoten brauchen drei Argumente: das @var{Layoutobjekt}, das die
1119 Anmerkung erhalten soll, die @var{(x . y)}-Position des Indikators und
1120 eine @code{\markup}-Beschriftung, die den Inhalt der Fußnote enthält.
1121
1122 Der Befehl @code{\footnote} muss @emph{vor} dem Grob geschrieben
1123 werden, auf den sich die Fußnote bezieht.
1124
1125 @c KEEP LY
1126 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1127 \book {
1128   \header { tagline = ##f }
1129   \relative c' {
1130     \footnote #'(0.5 . -2) #'NoteHead
1131       \markup { Die erste Note }
1132     a'4 b8
1133     \footnote #'(0.5 . 1) #'NoteHead
1134       \markup { Die dritte Note }
1135     e c4 d4
1136   }
1137 }
1138 @end lilypond
1139
1140 Bei Noten in Akkorden muss der Befehl @code{\footnote} @emph{nach}
1141 der Note, auf der sie sich bezieht, in Form eines @code{TextScript}
1142 stehen:
1143
1144 @c KEEP LY
1145 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1146 \book {
1147   \header { tagline = ##f }
1148   \relative c' {
1149     <
1150     c-\footnote #'(1 . -1.25) "Hier ein C"
1151     es-\footnote #'(2 . -0.25) \markup { \italic "Ein Es" }
1152     g-\footnote #'(2 . 3) \markup { \bold "Das ist ein G" }
1153     >1
1154   }
1155 }
1156 @end lilypond
1157
1158 @warning {Wenn Fußnoten die selbe vertikale Position haben, werden
1159 sie von oben nach unten nummeriert.}
1160
1161 Hier noch einige Beispiele von Grobs, die mit Fußnoten
1162 versehen sind, wobei auch die Position des Fußnotentextes relativ zu
1163 Tagline und Copyright gezeigt wird.
1164
1165 @c KEEP LY
1166 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1167 \book {
1168   \header { copyright = \markup { "Copyright 1970" } }
1169   \relative c' {
1170     \footnote #'(-3 . 0) #'DynamicText
1171       \markup { \bold Forte }
1172
1173     \footnote #'(0 . 1.5) #'Slur
1174       \markup { Ein Bogen }
1175     a'4\f(
1176
1177     \footnote #'(0 . -2) #'Beam
1178       \markup { Balken }
1179     b8)[ e]
1180
1181     \footnote #'(1 . -1) #'Stem
1182       \markup  { \teeny { Das ist ein Hals } }
1183     c4
1184
1185     \footnote #'(0 . 0.5) #'AccidentalCautionary
1186       \markup \italic { Ein Warnungsversetzungszeichen }
1187
1188     \footnote #'(0.5 . -0.5) #'TextScript
1189       \markup \italic { Langsamer hier }
1190     dis?4_"rit."
1191   }
1192 }
1193 @end lilypond
1194
1195 Für eine @code{\markup}-Beschriftung auf oberster Ebene braucht man
1196 den Befehl @code{\auto-footnote}:
1197
1198 @c KEEP LY
1199 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1200 \book {
1201   \header { tagline = ##f }
1202   \markup { \auto-footnote "Eine einfache Melodie" \italic "Von mir" }
1203   \relative c' {
1204     a'4 b8 e c4 d
1205   }
1206 }
1207 @end lilypond
1208
1209
1210 @node Manuelle Fußnoten
1211 @unnumberedsubsubsec Manuelle Fußnoten
1212 @translationof Manual footnotes
1213
1214 @cindex Fußnoten, manuell
1215
1216 Manuell erstellte Fußnoten brauchen vier Argumente: das @var{Layoutobjekt},
1217 das die Anmerkung erhalten soll, die @var{(x . y)}-Position des
1218 Indikators und zwei @code{\markup}-Beschriftungen; die erste ist der
1219 Indikator, der an die Note oder den Grob gehängt wird, die zweite
1220 der Inhalt der Fußnote unten auf der Seite.
1221
1222 Wie auch bei automatischen Fußnoten muss der Befehl @code{\footnote}
1223 @emph{nach} dem Grob kommen, an den die Fußnote gehängt wird und als
1224 @code{TextScript} geschrieben werden:
1225
1226 @c KEEP LY
1227 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1228 \book {
1229   \header { tagline = ##f }
1230   \relative c' {
1231     a'4-\footnote
1232           "1" #'(0.5 . -2) #'NoteHead \markup { \italic "1. Die erste Note" }
1233     b8
1234     e-\footnote
1235           \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. Die zweite Note"
1236     c4
1237     d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano"
1238   }
1239 }
1240 @end lilypond
1241
1242 Fußnoten für Akkordnoten werden wie folgt notiert:
1243
1244 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1245 \book {
1246   \header { tagline = ##f }
1247   \relative c' {
1248     <
1249     c-\footnote "1" #'(1 . -1.25) "1. C"
1250     es-\footnote
1251        \markup { \bold "b" } #'(2 . -0.25) "b. E-flat"
1252     g-\footnote "3" #'(2 . 3) \markup { \italic "iii. G" }
1253     >1
1254   }
1255 }
1256 @end lilypond
1257
1258 @warning {Wenn Fußnoten die selbe vertikale Position haben, werden
1259 sie von oben nach unten nummeriert.}
1260
1261 Hier einige Beispiele manueller Fußnoten, die auch die relative
1262 Position der Fußnotentexte zu Tagline und Copyright anzeigen:
1263
1264 @c KEEP LY
1265 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1266 \book {
1267   \header { tagline = ##f }
1268   \relative c' {
1269     \footnote
1270       \markup { \teeny 1 } #'(-3 . 0) #'DynamicText
1271       \markup { 1. \bold Forte }
1272
1273     \footnote
1274       \markup { \teeny b } #'(0 . 1.5) #'Slur
1275       \markup { b. Ein Bogen }
1276     a'4\f(
1277
1278     \footnote
1279       \markup { \teeny 3 } #'(0 . -2) #'Beam
1280       \markup { 3. Balken }
1281     b8)[ e]
1282
1283     \footnote
1284       \markup { 4 } #'(1 . -1) #'Stem
1285       \markup  { \bold 4. { Das ist ein Hals } }
1286     c4
1287
1288     \footnote
1289       \markup \concat \teeny { "sharp (v)" } #'(0 . 0.5) #'AccidentalCautionary
1290       \markup \italic { v. Ein Warnungsversetzungszeichen }
1291
1292     \footnote
1293       \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
1294       \markup \italic { a. Langsamer hier }
1295     dis?4_"rit."
1296
1297     \breathe
1298     \footnote
1299       \markup { \teeny \musicglyph #"rests.4" } #'(1.5 . -0.25) #'BreathingSign
1300       \markup { \null }
1301   }
1302 }
1303 @end lilypond
1304
1305 Eine @code{\markup}-Beschriftung der höchsten Ebene wird wie folgt
1306 annotiert:
1307 @c KEEP LY
1308 @lilypond[verbatim,quote,ragged-right,papersize=a8]
1309 \book {
1310   \header { tagline = ##f }
1311   \markup { "Eine einfache Melodie" \footnote "*" \italic "* Von mir" }
1312   \relative c' {
1313     a'4 b8 e c4 d4
1314   }
1315 }
1316 @end lilypond
1317
1318 @seealso
1319 Handbuch zum Lernen:
1320 @rlearning{Objekte und Schnittstellen}.
1321
1322 Notationsreferenz:
1323 @ref{Erklärungen in Ballonform},
1324 @ref{Seitenlayout},
1325 @ref{Textartige Zeichen},
1326 @ref{Textarten},
1327 @ref{Titel}.
1328
1329 Referenz der Interna:
1330 @rinternals{FootnoteEvent},
1331 @rinternals{FootnoteItem},
1332 @rinternals{FootnoteSpanner},
1333 @rinternals{Footnote_engraver}.
1334
1335 @knownissues
1336 Mehrere Fußnoten auf einer Seite können ausschließlich übereinander
1337 gedruckt werden und nicht auf der gleiche Zeile gesetzt werden.
1338 Fußnoten können nicht an @code{MultiMeasureRests} (mehrtaktige Pause)
1339 angehängt werden und können mit @code{Staff}-(Notensystem)-,
1340 @code{\markup}-(Beschriftungs)-Objekten und anderen Fußnoten
1341 zusammenstoßen.  Wenn man den manuellen Fußnotenbefehl einsetzt,
1342 braucht man in der @code{\paper}-Umgebung den Eintrag
1343 @code{footnote-auto-number = ##f}.
1344
1345
1346 @node Verweis auf die Seitenzahlen
1347 @subsection Verweis auf die Seitenzahlen
1348 @translationof Reference to page numbers
1349
1350 Eine bestimmte Stelle der Partitur kann mit einem @code{\label}-Befehl
1351 markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
1352 musikalischen Ausdrucks.  Auf diese Marke kann dann verwiesen werden,
1353 um die Seitenzahl zu erhalten, auf der die Marke vorkommt.  Der
1354 Verweis wird mit dem Befehl @code{\page-ref} gefordert (innerhalb
1355 von @code{\markup}).
1356
1357 @c KEEP LY
1358 @lilypond[verbatim]
1359 \header { tagline = ##f }
1360 \book {
1361   \label #'ErstePartitur
1362   \score {
1363     {
1364       c'1
1365       \pageBreak \mark A \label #'ZeichenA
1366       c'1
1367     }
1368   }
1369   \markup { Die erste Partitur fängt auf
1370             Seite \page-ref #'ErstePartitur "0" "?" an.}
1371   \markup { Zeichen A befindet sich auf Seite
1372             \concat { \page-ref #'ZeichenA "0" "?" . } }
1373 }
1374 @end lilypond
1375
1376 Der @code{\page-ref}-Textbeschriftungsbefehl braucht drei Argumente:
1377
1378 @enumerate
1379
1380 @item die Marke, ein Scheme-Symbol, etwa @code{#'ErstePartitur},
1381 @item eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
1382 @item eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekannt ist.
1383 @end enumerate
1384
1385 Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt,
1386 an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche
1387 vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind.
1388 Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der
1389 Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber
1390 schon vorher bekannt sein.  Die Größe wird mithilfe des Platzhalters
1391 bestimmt.  Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man
1392 "00" schreiben, also eine zweistellige Zahl.
1393
1394 @code{\label}
1395 @code{\page-ref}
1396
1397 @predefined
1398 @funindex \label,
1399 @funindex \page-ref.
1400 @endpredefined
1401
1402
1403 @node Inhaltsverzeichnis
1404 @subsection Inhaltsverzeichnis
1405 @translationof Table of contents
1406
1407 Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
1408 @code{\markuplist \table-of-contents}.  Die Elemente, die im
1409 Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
1410 @code{\tocItem}-Befehl markiert, welches sowohl auf höchster
1411 Ebene als auch in einem musikalischen Ausdruck verwendet werden
1412 kann.
1413
1414 @verbatim
1415 \markuplist \table-of-contents
1416 \pageBreak
1417
1418 \tocItem \markup "Erste Partitur"
1419 \score {
1420   {
1421     c'4  % ...
1422     \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur"
1423     d'4  % ...
1424   }
1425 }
1426
1427 \tocItem \markup "zweite Partitur"
1428 \score {
1429   {
1430     e'4 % ...
1431   }
1432 }
1433 @end verbatim
1434
1435 Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
1436 zu formatieren, sind in der @code{\paper}-Umgebung definiert.
1437 Die Standardformatierungselemente sind @code{tocTitleMarkup}
1438 um die Überschrift zu formatieren und @code{tocItemMarkup} um
1439 die einzelnen Inhaltselemente zu formatieren, bestehend aus
1440 dem Titelelement und einer Seitenzahl.  Die Variablen können
1441 durch den Benutzer geändert werden:
1442
1443 @verbatim
1444 \paper {
1445   %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch:
1446   tocTitleMarkup = \markup \huge \column {
1447     \fill-line { \null "Table des matières" \null }
1448     \hspace #1
1449   }
1450   %% hier größere Schriftarten
1451   tocItemMarkup = \markup \large \fill-line {
1452     \fromproperty #'toc:text \fromproperty #'toc:page
1453   }
1454 }
1455 @end verbatim
1456
1457 Die Inhaltsverzeichniselemente Text und Seitenzahl werden
1458 in der Definition von @code{tocItemMarkup} aufgerufen mit
1459 @code{#'toc:text} und @code{#'toc:page}.
1460
1461 Neue Befehle und Beschriftungen können auch definiert werden,
1462 um eigene Inhaltsverzeichnisse zu gestalten:
1463
1464 @itemize
1465
1466 @item zuerst muss eine neue Beschriftungsvariable in der
1467 @code{\paper}-Umgebung definiert werden
1468
1469 @item dann muss die musikalische Funktion definiert werden, die
1470 ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue
1471 Variable benutzt wird.
1472
1473 @end itemize
1474
1475 Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen
1476 einer Oper in das Inhaltsverzeichnis aufzunehmen:
1477
1478 @verbatim
1479 \paper {
1480   tocActMarkup = \markup \large \column {
1481     \hspace #1
1482     \fill-line { \null \italic \fromproperty #'toc:text \null }
1483     \hspace #1
1484   }
1485 }
1486
1487 tocAct =
1488 #(define-music-function (parser location text) (markup?)
1489    (add-toc-item! 'tocActMarkup text))
1490 @end verbatim
1491
1492 @lilypond[line-width=11.0\cm]
1493 \header { tagline = ##f }
1494 \paper {
1495   tocActMarkup = \markup \large \column {
1496     \hspace #1
1497     \fill-line { \null \italic \fromproperty #'toc:text \null }
1498     \hspace #1
1499   }
1500 }
1501
1502 tocAct =
1503 #(define-music-function (parser location text) (markup?)
1504    (add-toc-item! 'tocActMarkup text))
1505
1506 \book {
1507   \markuplist \table-of-contents
1508   \tocAct \markup { Atto Primo }
1509   \tocItem \markup { Coro. Viva il nostro Alcide }
1510   \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
1511   \tocAct \markup { Atto Secondo }
1512   \tocItem \markup { Sinfonia }
1513   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
1514   \markup \null
1515 }
1516 @end lilypond
1517
1518 Die Zeile zwischen dem Inhalt und der Seitenzahl kann mit einer gepunkteten
1519 Linie gefüllt werden:
1520
1521 @lilypond[verbatim,quote]
1522 \header { tagline = ##f }
1523 \paper {
1524   tocItemMarkup = \tocItemWithDotsMarkup
1525 }
1526
1527 \book {
1528   \markuplist \table-of-contents
1529   \tocItem \markup { Allegro }
1530   \tocItem \markup { Largo }
1531   \markup \null
1532 }
1533 @end lilypond
1534
1535
1536 @seealso
1537 Installierte Dateien:
1538 @file{../ly/toc-init.ly}.
1539
1540 @funindex \table-of-contents
1541 @funindex \tocItem
1542
1543 @predefined
1544 @code{\table-of-contents},
1545 @code{\tocItem}.
1546 @endpredefined
1547
1548
1549 @node Arbeiten an Eingabe-Dateien
1550 @section Arbeiten an Eingabe-Dateien
1551 @translationof Working with input files
1552
1553 @menu
1554 * LilyPond-Dateien einfügen::
1555 * Verschiedene Editionen aus einer Quelldatei::
1556 * Sonderzeichen::
1557 @end menu
1558
1559
1560 @node LilyPond-Dateien einfügen
1561 @subsection LilyPond-Dateien einfügen
1562 @translationof Including LilyPond files
1563
1564 @funindex \include
1565 @cindex einfügen  von Dateien
1566 @cindex Dateien einfügen
1567
1568 Ein größeres Projekt kann in einzelne Dateien aufgeteilt werden.
1569 Um eine andere Datei einzubinden, kann der Befehl
1570
1571 @example
1572 \include "andereDatei.ly"
1573 @end example
1574
1575 @noindent
1576 benutzt werden.
1577
1578 Die Zeile @code{\include "andereDatei.ly"} benimmt sich genauso,
1579 also ob der Inhalt der Datei @file{andereDatei.ly} komplett in die
1580 Hauptdatei eingefügt werden würde.  So kann man für ein größeres
1581 Projekt die einzelnen Stimmen der Instrumente getrennt notieren
1582 und sie dann in einer Partitur-Datei benutzen.  Meistens werden
1583 in den eingefügten Dateien einige Variablen definiert, die dann
1584 auch in der Hauptdatei eingesetzt werden können.  Mit Marken (Tags)
1585 gekennzeichnete Abschnitte können eingesetzt werden, um die
1586 entsprechenden Noten etc. an verschiedenen Stellen in der Datei
1587 zur Verfügung zu stellen. Siehe auch @ref{Verschiedene Editionen aus einer Quelldatei}.
1588
1589 Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
1590 nach dem @code{\include}-Befehl verwiesen werden.  Dateien an anderen
1591 Stellen können eingebunden werden, indem entweder ein vollständiger
1592 Pfad oder ein relativer Pfad zu der Datei angegeben wird.  Hierbei
1593 sollten die für UNIX typischen Schrägstriche (/) und nicht die
1594 rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
1595 zu trennen.  Wenn etwa die Datei @file{kram.ly} ein Verzeichnis
1596 höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
1597 aussehen:
1598
1599 @example
1600 \include "../kram.ly"
1601 @end example
1602
1603 @noindent
1604 Wenn die Orchesterstimmen andererseits in einem Unterordner mit
1605 der Bezeichnung @code{stimmen} liegen, sieht er folgendermaßen
1606 aus:
1607
1608 @example
1609 \include "stimmen/VI.ly"
1610 \include "stimmen/VII.ly"
1611 ... etc
1612 @end example
1613
1614 Dateien, die eingebunden werden sollen, können selber auch wiederum
1615 ein @code{\include} enthalten.  Diese Einbindung zweiter Ebene
1616 werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
1617 sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
1618 sondern relativ zur Hauptdatei gesetzt werden müssen.  Dieses Verhalten
1619 kann jedoch auch verändert werden, indem man lilypond die Option
1620 @option{-drelative-includes} auf der Kommandozeile zuweist (oder indem
1621 man den Befehl @code{#(ly:set-option 'relative-includes #t)} an den
1622 Beginn der Quelldatei schreibt).  Mit @code{relative-includes} wird
1623 der Pfad jedes @code{\include}-Befehls als relativ zu der Datei angenommen,
1624 in der sich der Befehl befindet.  Dieses Verhalten wird empfohlen und wird
1625 in zukünftigen Versionen von LilyPond den Standard darstellen.
1626
1627 Dateien können auch aus einem Verzeichnis eingebunden werden,
1628 dass im Suchpfad von LilyPond liegt.  Hierzu muss auf der
1629 Kommandozeile das entsprechende Verzeichnis angegeben werden
1630 und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen
1631 notiert sein.  Wenn etwa die Datei @file{Haupt.ly} kompiliert
1632 werden soll, die Dateien aus dem Unterverzeichnis @file{stimmen}
1633 einbindet, müssen sie sich im Verzeichnis von @file{Haupt.ly}
1634 befinden und dann LilyPond folgendermaßen aufrufen:
1635
1636 @example
1637 lilypond --include=stimmen Haupt.ly
1638 @end example
1639
1640 @noindent
1641 In @file{Haupt.ly} steht:
1642
1643 @example
1644 \include "VI.ly"
1645 \include "VII.ly"
1646 ... usw.
1647 @end example
1648
1649 Dateien, die in vielen Partituren verwendet werden sollen, können
1650 im LilyPond-Verzeichnis @file{../ly} gespeichert werden.  (Die
1651 Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem
1652 ab, siehe hierzu @rlearning{Mehr Information}).  Dateien
1653 in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden.
1654 So werden auch die Sprachdateien wie etwa @file{deutsch.ly} eingefügt.
1655
1656 LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
1657 Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
1658 können identifiziert werden, indem LilyPond auf der Kommandozeile mit
1659 Option aufgerufen wird: @code{lilypond --verbose}.  Hiermit wird
1660 neben anderer Information auch eine Liste von Pfaden und Dateien
1661 aufgeführt, die LilyPond benutzt.  Die wichtigeren Dateien werden
1662 im Abschnitt @rlearning{Mehr Information} besprochen.
1663 Diese Dateien können verändert werden, aber Änderungen gehen verloren,
1664 wenn eine neue LilyPond-Version installiert wird.
1665
1666 Einige einfache Beispiele, die die Benutzung von @code{\include} demonstrieren,
1667 sind dargestellt in
1668 @rlearning{Partituren und Stimmen}.
1669
1670 @seealso
1671 Handbuch zum Lernen:
1672 @rlearning{Mehr Information},
1673 @rlearning{Partituren und Stimmen}.
1674
1675 @knownissues
1676 Wenn eine Datei eingebunden wird, deren Name einer Datei aus
1677 dem Installationsverzeichnis von LilyPond entspricht, wird die
1678 installierte Datei anstelle der eigenen verwendet.
1679
1680
1681 @node Verschiedene Editionen aus einer Quelldatei
1682 @subsection Verschiedene Editionen aus einer Quelldatei
1683 @translationof Different editions from one source
1684
1685 Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche
1686 Versionen einer Partitur aus der gleichen Quelldatei zu produzieren.
1687 Variablen werden am besten eingesetzt, wenn es darum geht, längere
1688 Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf
1689 verschiedene Weise zu kombinieren.  Tag-Marken dagegen werden am
1690 besten eingesetzt, wenn eine von mehreren kurzen alternativen
1691 Notenabschnitten ausgewählt werden soll und können auch eingesetzt
1692 werden, um Musikabschnitte an unterschiedlichen Stellen zusammenzufügen.  
1693
1694 Egal welche Methode am
1695 Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn
1696 die eigentlichen Noten und die Struktur der Partitur voneinander
1697 getrennt notiert werden -- so kann die Struktur geändert werden,
1698 ohne dass man Änderungen an den Noten vornehmen muss.
1699
1700 @menu
1701 * Variablen benutzen::
1702 * Marken benutzen::
1703 * Globale Einstellungen benutzen::
1704 @end menu
1705
1706 @node Variablen benutzen
1707 @unnumberedsubsubsec Variablen benutzen
1708 @translationof Using variables
1709
1710 @cindex Variablen, Benutzung
1711
1712 Wenn Notenabschnitt in Variablen definiert werden, können sie
1713 an unterschiedlichen Stellen in der Partitur eingesetzt werden,
1714 siehe auch @rlearning{Stücke durch Bezeichner organisieren}.  Zum
1715 Beispiel enthält eine Vokalpartitur für ein @notation{a cappella}
1716 Stück oft einen Klavierauszug, der das Einüben einfacher macht.
1717 Der Klavierauszug enthält die gleichen Noten, sodass man sie nur
1718 einmal notieren muss.  Noten aus zwei Variablen können auf einem
1719 System kombiniert werden, siehe @ref{Automatische Kombination von Stimmen}.
1720 Hier ein Beispiel:
1721
1722 @lilypond[verbatim,quote]
1723 sopranoMusic = \relative c'' { a4 b c b8( a) }
1724 altoMusic = \relative g' { e4 e e f }
1725 tenorMusic = \relative c' { c4 b e d8( c) }
1726 bassMusic = \relative c' { a4 gis a d, }
1727 allLyrics = \lyricmode {King of glo -- ry }
1728 <<
1729   \new Staff = "Soprano" \sopranoMusic
1730   \new Lyrics \allLyrics
1731   \new Staff = "Alto" \altoMusic
1732   \new Lyrics \allLyrics
1733   \new Staff = "Tenor" {
1734     \clef "treble_8"
1735     \tenorMusic
1736   }
1737   \new Lyrics \allLyrics
1738   \new Staff = "Bass" {
1739     \clef "bass"
1740     \bassMusic
1741   }
1742   \new Lyrics \allLyrics
1743   \new PianoStaff <<
1744     \new Staff = "RH" {
1745       \set Staff.printPartCombineTexts = ##f
1746       \partcombine
1747       \sopranoMusic
1748       \altoMusic
1749     }
1750     \new Staff = "LH" {
1751       \set Staff.printPartCombineTexts = ##f
1752       \clef "bass"
1753       \partcombine
1754       \tenorMusic
1755       \bassMusic
1756     }
1757   >>
1758 >>
1759 @end lilypond
1760
1761 Unterschiedliche Partituren, die entweder nur den Chor oder das
1762 Klavier zeigen, können produziert werden, indem die Struktur
1763 verändert wird; die Noten müssen dazu nicht verändert werden.
1764
1765 Für längere Partituren können Variablen in eigene Dateien notiert
1766 werden, die dann eingebunden werden, siehe @ref{LilyPond-Dateien einfügen}.
1767
1768
1769 @node Marken benutzen
1770 @unnumberedsubsubsec Marken benutzen
1771 @translationof Using tags
1772
1773 @cindex Tag
1774 @cindex Marke
1775 @cindex markierte Noten entfernen
1776 @cindex markierte Noten behalten
1777 @cindex in markierte Noten einfügen
1778
1779 @funindex \tag
1780 @funindex \keepWithTag
1781 @funindex \removeWithTag
1782 @funindex \pushToTag
1783 @funindex \appendToTag
1784 @funindex tag
1785 @funindex keepWithTag
1786 @funindex removeWithTag
1787
1788
1789 Der @code{\tag #'@var{TeilA}}-Befehl markiert einen musikalischen
1790 Ausdruck mit der Bezeichnung @var{TeilA}.  Ausdrücke, die auf diese
1791 Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
1792 bzw. ausgefiltert werden.  Das geschieht mit den Befehlen
1793 @code{\keepWithTag #'@var{Bezeichnung}} bzw. @code{\removeWithTag #'@var{Bezeichnung}}.
1794 Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
1795 wie folgt:
1796
1797 @multitable @columnfractions .5 .5
1798
1799 @headitem Filter
1800   @tab Resultat
1801
1802 @item
1803 Markierte Noten mit vorgesetztem @code{\keepWithTag #'@var{Bezeichnung}}
1804   @tab Unmarkierte Noten und Noten mit der Marke @var{Bezeichnung} werden
1805   gesetzt, Noten mit einer anderen Marke werden nicht angezeigt.
1806
1807 @item
1808 Markierte Noten mit vorgesetztem @code{\removeWithTag #'@var{Bezeichnung}}
1809   @tab Unmarkierte Noten und Noten mit einer anderen Marke als
1810   @var{Bezeichnung} wird angezeigt, Noten markiert mit @var{Bezeichnung}
1811   werden nicht angezeigt.
1812
1813 @item
1814 Markierte Noten, weder mit vorgesetztem @code{\keepWithTag} noch
1815 @code{\removeWithTag}
1816   @tab Alle markierten und unmarkierten Noten werden angezeigt.
1817
1818 @end multitable
1819
1820 Die Argumente der Befehle @code{\tag}, @code{\keepWithTag} und
1821 @code{\removeWithTag} sollten ein Symbol sein (wie etwa
1822 @code{#'score} oder @code{#'part}), gefolgt von einem musikalischen
1823 Ausdruck.
1824
1825 Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine
1826 zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
1827
1828 @lilypond[verbatim,quote]
1829 music = \relative g' {
1830   g8. c32 d
1831   \tag #'trills { d8.\trill }
1832   \tag #'expand { \repeat unfold 3 { e32 d } }
1833   c32 d
1834  }
1835
1836 \score {
1837   \keepWithTag #'trills \music
1838 }
1839 \score {
1840   \keepWithTag #'expand \music
1841 }
1842 @end lilypond
1843
1844 @noindent
1845 Entsprechend können auch Abschnitte ausgeschlossen werden; das
1846 erfordert manchmal weniger Schreibarbeit:
1847
1848 @lilypond[verbatim,quote]
1849 music = \relative g' {
1850   g8. c32 d
1851   \tag #'trills { d8.\trill }
1852   \tag #'expand {\repeat unfold 3 { e32 d } }
1853   c32 d
1854  }
1855
1856 \score {
1857   \removeWithTag #'expand
1858   \music
1859 }
1860 \score {
1861   \removeWithTag #'trills
1862   \music
1863 }
1864 @end lilypond
1865
1866 Marken können auch auf Artikulationen, Text usw angewendet werden,
1867 indem man ihnen
1868
1869 @example
1870 -\tag #'@var{your-tag}
1871 @end example
1872
1873 @noindent
1874 voranstellt (jedoch nach der Note, an die sie gebunden sind).  Mit
1875 diesem Code etwa könnte man entweder Fingersatz oder aber einen
1876 Text ausgeben:
1877
1878 @example
1879 c1-\tag #'finger ^4
1880 c1-\tag #'warn ^"Achtung!"
1881 @end example
1882
1883 Mehrfache Marken können mithilfe von mehreren @code{\tag}-Befehlen
1884 notiert werden:
1885
1886 @lilypond[quote,verbatim]
1887 music = \relative c'' {
1888   \tag #'a \tag #'both { a4 a a a }
1889   \tag #'b \tag #'both { b4 b b b }
1890 }
1891 <<
1892 \keepWithTag #'a \music
1893 \keepWithTag #'b \music
1894 \keepWithTag #'both \music
1895 >>
1896 @end lilypond
1897
1898 Mehrfache @code{\removeWithTag}-Filter können auf einen
1899 musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
1900 markierte Abschnitte aus dem Druckbild zu entfernen.
1901
1902 @lilypond[verbatim,quote]
1903 music = \relative c'' {
1904 \tag #'A { a4 a a a }
1905 \tag #'B { b4 b b b }
1906 \tag #'C { c4 c c c }
1907 \tag #'D { d4 d d d }
1908 }
1909 {
1910 \removeWithTag #'B
1911 \removeWithTag #'C
1912 \music
1913 }
1914 @end lilypond
1915
1916 Zwei oder mehr @code{\keepWithTag}-Filter in einem musikalischen
1917 Ausdruck bewirken, dass @emph{alle} markierten Abschnitte entfernt
1918 werden, weil der erste Befehl alle markierten Abschnitt außer dem
1919 im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
1920 eben genannten zusätzlich entfernt.
1921
1922 Manchmal will man Noten an einem bestimmen Platz in existierenden
1923 Noten einfügen.  Dafür kann entweder @code{\pushToTag} oder
1924 @code{\appendToTag} benutzt werden, um Material hinter bzw. vor den
1925 Elementen (@code{elements}) der existierenden Noten einzufügen.  Nicht
1926 alle musikalischen Konstruktionen haben Elemente, aber sequentielle und
1927 simultane Noten sind ziemlich gute Kandidaten:
1928
1929 @lilypond[verbatim,quote]
1930 test = { \tag #'here { \tag #'here <<c''>> } }
1931
1932 {
1933   \pushToTag #'here c'
1934   \pushToTag #'here e'
1935   \pushToTag #'here g' \test
1936   \appendToTag #'here c'
1937   \appendToTag #'here e'
1938   \appendToTag #'here g' \test
1939 }
1940 @end lilypond
1941
1942 Beide Befehle erhalten einen Tag, das Material, das bei jedem Auftreten
1943 des Tags eingefügt werden soll und den Ausdruck, der mit dem Tag versehen
1944 ist.  Der Befehl stellt sicher, dass alle Änderungen kopiert werden, sodass
1945 das ursprüngliche @code{\test} seine Bedeutung behält.
1946
1947 @seealso
1948 Handbuch zum Lernen:
1949 @rlearning{Stücke durch Bezeichner organisieren}.
1950
1951 Notationsreferenz:
1952 @ref{Automatische Kombination von Stimmen},
1953 @ref{LilyPond-Dateien einfügen}.
1954
1955
1956 @ignore
1957 @c This warning is more general than this placement implies.
1958 @c Rests are not merged whether or not they come from tagged sections.
1959 @c Should be deleted?  -td
1960
1961 @knownissues
1962
1963 Multiple rests are not merged if you create a score with more
1964 than one tagged section at the same place.
1965
1966 @end ignore
1967
1968
1969 @node Globale Einstellungen benutzen
1970 @unnumberedsubsubsec Globale Einstellungen benutzen
1971 @translationof Using global settings
1972
1973 @funindex include-settings
1974
1975 Man kann globale Einstellungen aus einer externen Datei einfügen:
1976
1977 @example
1978 lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly
1979 @end example
1980
1981
1982 Einstellungsgruppen, wie etwa Seitengröße, Schriftart oder Schriftschnitt, können
1983 in eigenen Dateien gespeichert werden.  Das ermöglicht es, aus der gleichen
1984 Partitur unterschiedliche Editionen zu erstellen bzw. Standardeinstellungen
1985 für eine ganze Anzahl von Partituren wiederzuverwenden, indem man einfach
1986 die entsprechende Einstellungsdatei angibt.
1987
1988 Diese Technik funktioniert auch gut für globale Formatierungen, wie behandelt
1989 in @rlearning{Globale Formatierung}.
1990
1991 @seealso
1992 Handbuch zum Lernen:
1993 @rlearning{Stücke durch Bezeichner organisieren},
1994 @rlearning{Globale Formatierung}.
1995
1996 Notationsreferenz:
1997 @ref{LilyPond-Dateien einfügen}.
1998
1999
2000 @node Sonderzeichen
2001 @subsection sonderzeichen
2002 @translationof Special characters
2003
2004 @cindex Sonderzeichen
2005 @cindex Nicht-ASCII-Zeichen
2006
2007 @menu
2008 * Zeichenkodierung::
2009 * Unicode::
2010 * ASCII-Aliase::
2011 @end menu
2012
2013
2014 @node Zeichenkodierung
2015 @unnumberedsubsubsec Zeichenkodierung
2016 @translationof Text encoding
2017
2018
2019 @cindex UTF-8
2020
2021 LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium
2022 und ISO/IEC 10646 definiert sind.  Hiermit wird den Zeichen
2023 fast aller Schriftsysteme der Welt ein eindeutiger Name und ein
2024 Code-Punkt zugewiesen, mit dem sie identifizierbar sind.  Unicode
2025 kann mit mehreren Zeichenkodierungen verwirklicht werden.  LilyPond
2026 benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format),
2027 in der die normalen Zeichen des lateinischen Alphabets mit einem
2028 Byte dargestellt werden, während alle anderen Zeichen zwischen
2029 zwei und vier Byte Länge haben.
2030
2031 Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte
2032 Schriftart (engl. font).  In einer Schriftartdatei werden die
2033 Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet.
2034 LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte
2035 und komplexe Skripte korrekt zu setzen.
2036
2037 LilyPond verändert die Kodierung der Eingabedatei nicht.  Das heißt,
2038 dass jeder Text -- Überschriften, Gesangstext, Spielanweisungen etc. --
2039 der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein
2040 musst.  Am einfachsten geht das, indem man einen Texteditor
2041 einsetzt, der mit Unicode-Zeichen umgehen kann.  Die meisten
2042 modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung,
2043 wie etwa vim, Emacs, jEdit oder GEdit.  Alle MS Windows-Systeme
2044 nach NT benutzen Unicode intern, sodass sogar Notepad Dateien
2045 in UTF-8 lesen und speichern kann.  Ein Editor mit mehr
2046 Funktionen unter Windows ist BabelPad oder Notepad++.
2047
2048 Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält
2049 und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
2050
2051 @example
2052 FT_Get_Glyph_Name () error: invalid argument
2053 @end example
2054
2055 Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
2056
2057 @lilypond[quote]
2058 %c No verbatim here as the code does not display correctly in PDF
2059 % Cyrillic
2060 bulgarian = \lyricmode {
2061   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2062 }
2063
2064 % Hebrew
2065 hebrew = \lyricmode {
2066   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2067 }
2068
2069 % Portuguese
2070 portuguese = \lyricmode {
2071   à vo -- cê uma can -- ção legal
2072 }
2073
2074 \relative c' {
2075   c2 d e f g f e
2076 }
2077 \addlyrics { \bulgarian }
2078 \addlyrics { \hebrew }
2079 \addlyrics { \portuguese }
2080 @end lilypond
2081
2082
2083 @node Unicode
2084 @unnumberedsubsubsec Unicode
2085 @translationof Unicode
2086
2087 @cindex Unicode
2088
2089 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
2090 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
2091 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
2092 @code{\markup}-Umgebung benutzt werden.  Hierbei bedeutet @code{hhhh} die
2093 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
2094 für das erforderliche Zeichen.  Nullen zu Beginn können ausgelassen werden,
2095 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
2096 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
2097 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.)  Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
2098 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
2099 des Unicode Consortiums: @uref{http://www.unicode.org/}.
2100
2101 Mit @code{\char ##x03BE} und @code{\char #958} wird
2102 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
2103 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
2104
2105 Alle existierenden
2106 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
2107 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
2108 gespeichert werden.  Es muss natürlich auch noch eine Schriftart auf
2109 dem System installiert sein, die die notierten Zeichen darstellen kann.
2110
2111 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
2112 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
2113 im Gesangstext und als normaler Text außerhalb der Partitur.
2114
2115 @lilypond[quote,verbatim]
2116 \score {
2117   \relative c'' {
2118     c1 \mark \markup { \char ##x03EE }
2119     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2120   }
2121   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2122 }
2123 \markup { "Copyright 2008--2012" \char ##x00A9 }
2124 @end lilypond
2125
2126 @cindex Copyright-Zeichen
2127
2128 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
2129
2130 @example
2131 \header @{
2132   copyright = \markup @{ \char ##x00A9 "2008" @}
2133 @}
2134 @end example
2135
2136
2137 @node ASCII-Aliase
2138 @unnumberedsubsubsec ASCII-Aliase
2139 @translationof ASCII aliases
2140
2141 Eine Liste von ASCII-Befehlen für Sonderzeichen kann
2142 eingefügt werden:
2143
2144 @lilypond[quote,verbatim]
2145 \paper {
2146   #(include-special-characters)
2147 }
2148
2149 \markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"
2150
2151 \score {
2152   \new Staff { \repeat unfold 9 a'4 }
2153   \addlyrics {
2154     This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
2155   }
2156 }
2157
2158 \markup \column {
2159   "The replacement can be disabled:"
2160   "&ndash; &OE; &hellip;"
2161   \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
2162 }
2163 @end lilypond
2164
2165 Man kann auch eigen Aliase erstellen, entweder global:
2166
2167 @lilypond[quote,verbatim]
2168 \paper {
2169   #(add-text-replacements!
2170     '(("100" . "hundred")
2171       ("dpi" . "dots per inch")))
2172 }
2173 \markup "A 100 dpi."
2174 @end lilypond
2175
2176 @noindent
2177 oder lokal:
2178
2179 @lilypond[quote,verbatim]
2180 \markup \replace #'(("100" . "hundred")
2181                     ("dpi" . "dots per inch")) "A 100 dpi."
2182 @end lilypond
2183
2184 @seealso
2185 Notationsreferenz:
2186 @ref{Liste der Sonderzeichen}.
2187
2188 Installierte Dateien:
2189 @file{ly/text-replacements.ly}.
2190
2191
2192 @node Ausgabe kontrollieren
2193 @section Ausgabe kontrollieren
2194 @translationof Controlling output
2195
2196 @menu
2197 * Notationsfragmente extrahieren::
2198 * Korrigierte Musik überspringen::
2199 * Alternative Ausgabeformate::
2200 * Die Notationsschriftart verändern::
2201 @end menu
2202
2203
2204 @node Notationsfragmente extrahieren
2205 @subsection Notationsfragmente extrahieren
2206 @translationof Extracting fragments of music
2207
2208 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
2209 Quelldatei zu erzeugen.  Das kann damit verglichen werden, dass man
2210 mit der Schere bestimmte Regionen ausschneidet.
2211
2212 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
2213 (engl. to clip = ausschneiden), extra definiert.  Mit folgender
2214 Definition beispielsweise
2215
2216 @verbatim
2217 \layout {
2218   clip-regions
2219   = #(list
2220       (cons
2221        (make-rhythmic-location 5 1 2)
2222        (make-rhythmic-location 7 3 4)))
2223 }
2224 @end verbatim
2225
2226 @noindent
2227 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
2228 beginnt und im siebten Takt endet.  Die Bedeutung von @code{5 1 2} ist:
2229 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
2230 in Takt 7.
2231
2232 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
2233 werden, indem mehrere derartige Paare definiert werden.
2234
2235 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
2236 Parameter @option{-dclip-systems} aufgerufen werden.  Die Schnipsel
2237 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
2238 diese Formate auch als Parameter angegeben werden.
2239
2240 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
2241
2242
2243 @node Korrigierte Musik überspringen
2244 @subsection Korrigierte Musik überspringen
2245 @translationof Skipping corrected music
2246
2247
2248 @funindex skipTypesetting
2249 @funindex showFirstLength
2250 @funindex showLastLength
2251
2252 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
2253 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
2254 Korrektur.  Um die Korrektur zu beschleunigen, kann eingestellt werden,
2255 dass nur die letzten paar Takte angezeigt werden.  Das erreicht man
2256 mit dem Befehl
2257
2258 @verbatim
2259 showLastLength = R1*5
2260 \score { ... }
2261 @end verbatim
2262
2263 @noindent
2264 in der Quelldatei.  Damit werden nur die letzten fünf Takte (in einem
2265 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt.  Besonders
2266 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
2267 kleinen Teil des Stückes zu setzen als die gesamte Länge.  Wenn man
2268 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
2269 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
2270 nützlich sein.
2271
2272 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
2273 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
2274 werden.  Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
2275 wird kein Notensatz ausgegeben.
2276
2277 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
2278 kontrollieren.  Hiermit werden alle Ereignisse, auch Tempo- und
2279 Instrumentenwechsel ausgelassen.  Man muss also sehr genau darauf
2280 achten, dass nichts unerwartetes geschieht.
2281
2282 @lilypond[quote,relative=2,ragged-right,verbatim]
2283 c8 d
2284 \set Score.skipTypesetting = ##t
2285 e8 e e e e e e e
2286 \set Score.skipTypesetting = ##f
2287 c8 d b bes a g c2
2288 @end lilypond
2289
2290 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
2291 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
2292 Übersetzung der Datei gespart wird.
2293
2294
2295 @node Alternative Ausgabeformate
2296 @subsection Alternative Ausgabeformate
2297 @translationof Alternative output formats
2298
2299 @cindex scalable vector graphics output
2300 @cindex skalierbare Vektorgraphik-Ausgabe
2301 @cindex SVG-Ausgabe
2302 @cindex encapsulated postscript output
2303 @cindex EPS-Ausgabe
2304 @cindex PNG-Ausgabe
2305
2306 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
2307 Document Forma) und PS (PostScript).  SVG (Scalable Vector
2308 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
2309 Network Graphics) gibt es auch als Ausgabeformate über die
2310 Kommandozeile.  Siehe @rprogram{Optionen auf der Kommandozeile für lilypond}.
2311
2312
2313 @node Die Notationsschriftart verändern
2314 @subsection Die Notationsschriftart verändern
2315 @translationof Replacing the notation font
2316
2317 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
2318 eingesetzt wird und kann unter der Adresse
2319 @example
2320 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2321 @end example
2322
2323 @noindent
2324 heruntergeladen werden.  Hier einige Takte Noten mit der Gonville-Schriftart:
2325
2326 @c NOTE: these images are a bit big, but that's important
2327 @c       for the font comparison.  -gp
2328 @sourceimage{Gonville_after,,,}
2329
2330 Und hier einige Beispieltakte in der Feta-Schriftart:
2331
2332 @sourceimage{Gonville_before,,,}
2333
2334 @subsubheading Installationsanweisungen für MacOS
2335
2336 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
2337 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
2338 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
2339 siehe @rlearning{Mehr Information}.
2340 Benennen Sie das existierende @code{fonts}-Verzeichnis in
2341 @code{fonts_orig} um und benennen Sie das Verzeichnis
2342 @code{lilyfonts} in @code{fonts}.  Das alte Verzeichnis
2343 @code{fonts_orig} können Sie einfach in @code{fonts}
2344 zurückbenennen, um wieder nach Feta zu wechseln.
2345
2346 @seealso
2347 Handbuch zum Lernen: @rlearning{Mehr Information}.
2348
2349 @knownissues
2350
2351 Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
2352 ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
2353 LilyPond nicht in Gonville enthalten sein werden.
2354 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
2355 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
2356
2357
2358 @node MIDI-Ausgabe
2359 @section MIDI-Ausgabe
2360 @translationof MIDI output
2361
2362 @cindex Klang
2363 @cindex MIDI
2364
2365 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
2366 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
2367 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
2368 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
2369 benötigt spezielle Programme die die Notenereignisse in Klang
2370 umwandeln können.
2371
2372 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
2373 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
2374 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
2375 lassen sich meist sehr gut hören.
2376
2377 Normale MIDI-Ausgabe ist etwas roh; optional kann eine verbesserte und
2378 realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
2379 erzeugt werden.
2380
2381 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
2382 Kanala 10 für Schlagzeug.  Es gibt nur 16 MIDI-Kanäle pro Gerät,
2383 sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
2384 als 15 Notensysteme hat.
2385
2386 @menu
2387 * MIDI-Dateien erstellen::
2388 * Der MIDI-Block::
2389 * Was geht in die MIDI-Ausgabe::
2390 * Wiederholungen im MIDI::
2391 * MIDI-Lautstärke kontrollieren::
2392 * Schlagzeug in MIDI::
2393 * Artikuliere-Skript::
2394 @end menu
2395
2396
2397 @node MIDI-Dateien erstellen
2398 @subsection MIDI-Dateien erstellen
2399 @translationof Creating MIDI files
2400
2401 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
2402 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
2403 werden, etwa so:
2404
2405 @example
2406 \score @{
2407   @var{...Noten...}
2408   \midi @{ @}
2409 @}
2410 @end example
2411
2412 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
2413 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
2414 Wenn auch die Notation gewünscht ist, muss zusätzlich die
2415 @code{\layout}-Umgebung vorhanden sein:
2416
2417 @example
2418 \score @{
2419   @var{...music...}
2420   \midi @{ @}
2421   \layout @{ @}
2422 @}
2423 @end example
2424
2425 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
2426 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
2427 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
2428 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
2429 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
2430 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
2431 werden.  Siehe hierzu @ref{Der MIDI-Block}.
2432
2433 Das Anfangstempo und spätere Tempoänderungen können mit dem
2434 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
2435 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
2436 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
2437 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
2438 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
2439 unten gezeigt, siehe @ref{Der MIDI-Block}.
2440
2441 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
2442 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
2443 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
2444 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
2445 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
2446 oder @code{\score}-Blocks einfügen:
2447
2448 @example
2449 #(ly:set-option 'midi-extension "midi")
2450 @end example
2451
2452 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
2453
2454 Als Alternative kann man diese Option auch als Kommandozeilenparameter
2455 übergeben:
2456
2457 @example
2458 lilypond … -dmidi-extension=midi lilyDatei.ly
2459 @end example
2460
2461 @unnumberedsubsubsec Instrumentenbezeichnungen
2462
2463 @cindex Instrumentbezeichnungen
2464
2465 @funindex Staff.midiInstrument
2466
2467 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
2468 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
2469 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
2470 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
2471 in der dort definierten Schreibweise notiert werden.
2472
2473 @example
2474 \new Staff @{
2475   \set Staff.midiInstrument = #"glockenspiel"
2476   @var{...Noten...}
2477 @}
2478 @end example
2479
2480 @example
2481 \new Staff \with @{midiInstrument = #"cello"@} @{
2482   @var{...Noten...}
2483 @}
2484 @end example
2485
2486 Wenn die Schreibweise nicht genau einem definierten Instrument aus
2487 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
2488
2489 @snippets
2490
2491 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2492 {changing-midi-output-to-one-channel-per-voice.ly}
2493
2494 @knownissues
2495
2496 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
2497 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
2498 nicht geändert werden kann.
2499
2500 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
2501 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
2502 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2503
2504
2505 @node Der MIDI-Block
2506 @subsection Der MIDI-Block
2507 @translationof MIDI block
2508
2509 @cindex MIDI-Umgebung
2510
2511 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
2512 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
2513 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
2514 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
2515 Kontexte umgeändert werden, neue Kontexte definiert werden oder
2516 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
2517 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
2518 gesetzt wird:
2519
2520 @example
2521 \score @{
2522   @var{...Noten...}
2523   \midi @{
2524     \context @{
2525       \Score
2526       tempoWholesPerMinute = #(ly:make-moment 72 4)
2527     @}
2528   @}
2529 @}
2530 @end example
2531
2532 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  Wenn
2533 das Tempo auf diese Weise definiert wird, kann keine punktierte
2534 Note als Einheit angegeben werden.  Wenn sie benötigt wird, muss
2535 man sie in kleinere Einheiten auflösen.  Ein Tempo von 90 punktierten
2536 Viertelnoten pro Minute kann beispielsweise dargestellt werden
2537 als 270 Achtelnoten pro Minute:
2538
2539 @example
2540 tempoWholesPerMinute = #(ly:make-moment 270 8)
2541 @end example
2542
2543 @cindex MIDI-Kontextdefinitionen
2544
2545 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
2546 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
2547 wird.  Klangübersetzungsmodule werden @code{performer}
2548 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
2549 Datei @file{../ly/performer-init.ly} definiert, siehe
2550 @rlearning{Mehr Information}.  Um beispielsweise
2551 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
2552 entfernen, müssen folgende Zeilen eingefügt werden:
2553
2554 @example
2555 \midi @{
2556   ...
2557   \context @{
2558     \Voice
2559     \remove "Dynamic_performer"
2560   @}
2561 @}
2562 @end example
2563
2564 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
2565 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
2566 @code{\score} beginnt.
2567
2568 @example
2569 \score @{
2570   @{ @dots{}Noten@dots{} @}
2571   \midi @{ @}
2572 @}
2573 @end example
2574
2575
2576 @node Was geht in die MIDI-Ausgabe
2577 @subsection Was geht in die MIDI-Ausgabe
2578 @translationof What goes into the MIDI output?
2579
2580
2581 @unnumberedsubsubsec In MIDI unterstützt
2582
2583 @cindex Tonhöhen in MIDI
2584 @cindex MIDI, Tonhöhen
2585 @cindex Vierteltöne in MIDI
2586 @cindex MIDI, Vierteltöne
2587 @cindex Mikrotöne in MIDI
2588 @cindex MIDI, Mikrotöne
2589 @cindex Akkordsymbole in MIDI
2590 @cindex MIDI, Akkordsymbole
2591 @cindex Rhythmen in MIDI
2592 @cindex MIDI, Rhythmen
2593 @cindex Artikuliere-Skript
2594 @cindex MIDI, Artikuliere-Skript
2595 @cindex MIDI, Artikulationen
2596 @cindex Triller in MIDI
2597 @cindex Verzierungen in MIDI
2598 @cindex Rallantando in MIDI
2599 @cindex Accelerando in MIDI
2600
2601 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
2602
2603 @itemize
2604 @item Tonhöhen
2605 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2606 Spieler benötigt, der Tonhöhen verändern kann.)
2607 @item Akkorde, die als Symbole notiert werden
2608 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2609 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2610 @item Überbindungen
2611 @item Dynamikzeichen
2612 @item Crescendi, decrescendi zu mehreren Noten
2613 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2614 @item Gesangstext
2615 @end itemize
2616
2617 Durch Einsatz vom @ref{Artikuliere-Skript} können noch einige Elemente
2618 zu der Liste hinzugefügt werden:
2619
2620 @itemize
2621 @item Artikulationen (Bögen, Staccato usw.)
2622 @item Triller usw.
2623 @item Rallentando und accelerando
2624 @end itemize
2625
2626
2627 @unnumberedsubsubsec In MIDI nicht unterstützt
2628
2629 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen,
2630 außer am setzt das @ref{Artikuliere-Skript} ein:
2631
2632 @itemize
2633 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2634 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2635 @item Staccato und andere Artikulationen und Ornamente
2636 @item Legato- und Phrasierungsbögen
2637 @item Crescendi, decrescendi zu einer einzelnen Note
2638 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2639 @item Bezifferter Bass
2640 @item Akkorde mit Mikrotönen
2641 @end itemize
2642
2643
2644 @node Wiederholungen im MIDI
2645 @subsection Wiederholungen im MIDI
2646 @translationof Repeats in MIDI
2647
2648 @cindex Wiederholungen in MIDI
2649 @cindex MIDI und Wiederholungen
2650
2651 @funindex \unfoldRepeats
2652
2653 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2654 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
2655 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
2656 verändert alle Wiederholungen in ausgeschriebene Noten.
2657
2658 @lilypond[quote,verbatim]
2659 \unfoldRepeats {
2660   \repeat tremolo 8 { c'32 e' }
2661   \repeat percent 2 { c''8 d'' }
2662   \repeat volta 2 { c'4 d' e' f' }
2663   \alternative {
2664     { g' a' a' g' }
2665     { f' e' d' c' }
2666   }
2667 }
2668 \bar "|."
2669 @end lilypond
2670
2671 In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
2672 Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
2673 notierte Wiederholungsanweisungen enthält.
2674
2675 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2676 wird, ist er notwendig,
2677 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2678 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2679 in der anderen werden die Wiederholungen notiert und als Partitur
2680 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2681 aussehen kann:
2682
2683 @example
2684 \score @{
2685   @var{..music..}
2686   \layout @{ .. @}
2687 @}
2688 \score @{
2689   \unfoldRepeats @var{..music..}
2690   \midi @{ .. @}
2691 @}
2692 @end example
2693
2694
2695 @node MIDI-Lautstärke kontrollieren
2696 @subsection MIDI-Lautstärke kontrollieren
2697 @translationof Controlling MIDI dynamics
2698
2699 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2700 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2701 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2702 als auch relative Lautstärken von Dynamikanweisungen und auch
2703 relative Lautstärke von einzelnen Instrumenten einzustellen.
2704
2705
2706 @unnumberedsubsubsec Dynamik-Zeichen
2707
2708 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2709 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
2710 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2711 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
2712 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2713 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2714 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2715 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2716 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2717 gesetzt werden.
2718
2719 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2720 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
2721 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2722 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
2723 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2724 Standardanweisungen auf:
2725
2726 @lilypond[verbatim,quote]
2727 #(define (myDynamics dynamic)
2728     (if (equal? dynamic "rfz")
2729       0.9
2730       (default-dynamic-absolute-volume dynamic)))
2731
2732 \score {
2733   \new Staff {
2734     \set Staff.midiInstrument = #"cello"
2735     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2736     \new Voice {
2737       \relative c'' {
2738         a4\pp b c-\rfz
2739       }
2740     }
2741   }
2742   \layout {}
2743   \midi {}
2744 }
2745 @end lilypond
2746
2747 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2748 umdefiniert werden soll, ist es besser, die
2749 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2750 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2751 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
2752 gemacht werden kann.
2753
2754
2755 @unnumberedsubsubsec MIDI-Lautstärke
2756
2757 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2758 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2759 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2760 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2761 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2762 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
2763 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2764 Formel
2765
2766 @example
2767 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2768 @end example
2769
2770 @noindent
2771 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2772 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2773
2774 @lilypond[verbatim,quote]
2775 \score {
2776   <<
2777     \new Staff {
2778       \key g \major
2779       \time 2/2
2780       \set Staff.midiInstrument = #"flute"
2781       \new Voice \relative c''' {
2782         r2 g\mp g fis~
2783         fis4 g8 fis e2~
2784         e4 d8 cis d2
2785       }
2786     }
2787     \new Staff {
2788       \key g \major
2789       \set Staff.midiInstrument = #"clarinet"
2790       \new Voice \relative c'' {
2791         b1\p a2. b8 a
2792         g2. fis8 e
2793         fis2 r
2794       }
2795     }
2796   >>
2797   \layout {}
2798   \midi {
2799     \context {
2800       \Score
2801       tempoWholesPerMinute = #(ly:make-moment 72 2)
2802       midiMinimumVolume = #0.2
2803       midiMaximumVolume = #0.5
2804     }
2805   }
2806 }
2807 @end lilypond
2808
2809
2810 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2811
2812 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2813 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2814 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2815 werden.  Damit kann man die Qualität der MIDI-Datei
2816 merklich verbessern.
2817
2818 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2819 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2820 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2821 diese Einstellung korrekt funktioniert.
2822
2823 @lilypond[verbatim,quote]
2824 \score {
2825   <<
2826     \new Staff {
2827       \key g \major
2828       \time 2/2
2829       \set Staff.midiInstrument = #"flute"
2830       \set Staff.midiMinimumVolume = #0.7
2831       \set Staff.midiMaximumVolume = #0.9
2832       \new Voice \relative c''' {
2833         r2 g\mp g fis~
2834         fis4 g8 fis e2~
2835         e4 d8 cis d2
2836       }
2837     }
2838     \new Staff {
2839       \key g \major
2840       \set Staff.midiInstrument = #"clarinet"
2841       \set Staff.midiMinimumVolume = #0.3
2842       \set Staff.midiMaximumVolume = #0.6
2843       \new Voice \relative c'' {
2844         b1\p a2. b8 a
2845         g2. fis8 e
2846         fis2 r
2847       }
2848     }
2849   >>
2850   \layout {}
2851   \midi {
2852     \context {
2853       \Score
2854       tempoWholesPerMinute = #(ly:make-moment 72 2)
2855     }
2856   }
2857 }
2858 @end lilypond
2859
2860
2861 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2862
2863 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2864 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2865 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2866 Diese Instrumente und ihre entsprechende Veränderung lassen
2867 sich aus der Tabelle @notation{instrument-equalizer-alist}
2868 in der Datei @file{../scm/midi.scm} entnehmen.
2869
2870 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2871 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2872 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2873 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2874 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2875 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
2876 auf gleiche Weise vorgenommen, wie es schon für die
2877 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2878 gezeigt wurde.  Der Standard-Equalizer,
2879 @notation{default-instrument-equalizer} in der Datei
2880 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2881 kann.
2882
2883 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2884 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2885
2886 @lilypond[verbatim,quote]
2887 #(define my-instrument-equalizer-alist '())
2888
2889 #(set! my-instrument-equalizer-alist
2890   (append
2891     '(
2892       ("flute" . (0.7 . 0.9))
2893       ("clarinet" . (0.3 . 0.6)))
2894     my-instrument-equalizer-alist))
2895
2896 #(define (my-instrument-equalizer s)
2897   (let ((entry (assoc s my-instrument-equalizer-alist)))
2898     (if entry
2899       (cdr entry))))
2900
2901 \score {
2902   <<
2903     \new Staff {
2904       \key g \major
2905       \time 2/2
2906       \set Score.instrumentEqualizer = #my-instrument-equalizer
2907       \set Staff.midiInstrument = #"flute"
2908       \new Voice \relative c''' {
2909         r2 g\mp g fis~
2910         fis4 g8 fis e2~
2911         e4 d8 cis d2
2912       }
2913     }
2914     \new Staff {
2915       \key g \major
2916       \set Staff.midiInstrument = #"clarinet"
2917       \new Voice \relative c'' {
2918         b1\p a2. b8 a
2919         g2. fis8 e
2920         fis2 r
2921       }
2922     }
2923   >>
2924   \layout { }
2925   \midi {
2926     \context {
2927       \Score
2928       tempoWholesPerMinute = #(ly:make-moment 72 2)
2929     }
2930   }
2931 }
2932 @end lilypond
2933
2934
2935
2936 @node Schlagzeug in MIDI
2937 @subsection Schlagzeug in MIDI
2938 @translationof Percussion in MIDI
2939
2940 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2941 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2942 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2943 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2944 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
2945 eine richtige MIDI-Ausgabe erreichen.
2946
2947 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2948 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2949 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2950 notiert werden.  Es handelt sich
2951 um @code{melodic tom, taiko drum, synth drum} u. A.
2952
2953 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2954 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
2955 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2956 kommt.
2957
2958
2959 @knownissues
2960
2961 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2962 Schlagstock (sidestick) für diesen Zweck eingesetzt.
2963
2964
2965 @node Artikuliere-Skript
2966 @subsection Artikuliere-Skript
2967 @translationof The Articulate script
2968
2969 Eine realistischere MIDI-Ausgabe ist möglich, wenn man das
2970 Artikuliere-Skript einsetzt.  Es versucht, Artikulationen
2971 (Bögen, Staccato) mit einzubeziehen, indem Noten mit
2972 sequentieller Musik von passender Verlängerung oder Verkürzung
2973 mit entprechenden Skips ersetzt werden.  Es versucht auch,
2974 Triller usw. klingen zu lassen und rallantando und
2975 accelerando wahrzunehmen.
2976
2977 Um das Artikuliere-Skript einzusetzen, muss oben in der
2978 Eingabedatei
2979
2980 @example
2981 \include "articulate.ly"
2982 @end example
2983
2984 @noindent
2985 eingefügt werden.  Im @code{\score}-Abschnitt schreibt man
2986
2987 @example
2988 \unfoldRepeats \articulate <<
2989         der Rest der Partitur...
2990 >>
2991 @end example
2992
2993 Wenn die Eingabedatei auf diese Art verändert wurd, wird die
2994 Notenausgabe stark verändert, aber die MIDI-Ausgabe produziert
2995 ein besseres Ergebnis.
2996
2997 Wenn auch nicht unbedingt notwendig, damit das Artikuliere-Skript
2998 funktioniert, bietet es sich an, @code{\unfoldRepeats} wie im
2999 Beispiel oben zu verwenden, weil dadurch Abkürzungen wie etwa
3000 Triller ausgeführt werden.
3001
3002 @knownissues
3003
3004 Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
3005 kann schlechter klingen.
3006
3007
3008
3009 @node Musikalische Information extrahieren
3010 @section Musikalische Information extrahieren
3011 @translationof Extracting musical information
3012
3013 Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
3014 Information als Text anzeigen:
3015
3016 @menu
3017 * LilyPond-Notation anzeigen::
3018 * Musikalische Scheme-Ausdrücke anzeigen::
3019 * Musikalische Ereignisse in einer Datei speichern::
3020 @end menu
3021
3022 @node LilyPond-Notation anzeigen
3023 @subsection LilyPond-Notation anzeigen
3024 @translationof Displaying LilyPond notation
3025
3026 @funindex \displayLilyMusic
3027
3028 Mit der musikalischen Funktion @code{\displayLilyMusic} kann
3029 man einen musikalischen Ausdruck anzeigen.  Um die Ausgabe zu
3030 sehen, wird LilyPond üblicherweise auf der Kommandozeile
3031 aufgerufen.  Beispielsweise
3032
3033 @example
3034 @{
3035   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3036 @}
3037 @end example
3038
3039 @noindent
3040 zeigt an:
3041
3042 @example
3043 @{ a,4 cis e fis g @}
3044 @end example
3045
3046 Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
3047 aus, zusammen mit all den anderen LilyPond-Nachrichten über die
3048 Kompilation.  Um die Nachrichten zu speichern, kann man die Ausgabe
3049 in eine Datei umleiten:
3050
3051 @example
3052 lilypond file.ly >display.txt
3053 @end example
3054
3055 @funindex \void
3056
3057 LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
3058 interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
3059 Programm zurückgibt, zusätzlich zur Anzeige).  Das ist sehr
3060 praktisch, denn man kann einfach @code{\displayLilyMusic}
3061 in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
3062 Wenn Sie nicht wollen, dass LilyPond die angezeigten
3063 musikalischen Ausdrücke auch interpretiert, muss @code{\void}
3064 eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
3065
3066 @example
3067 @{
3068   \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3069 @}
3070 @end example
3071
3072
3073 @node Musikalische Scheme-Ausdrücke anzeigen
3074 @subsection Musikalische Scheme-Ausdrücke anzeigen
3075 @translationof Displaying scheme music expressions
3076
3077 Siehe @rextend{Musikalische Funktionen darstellen}.
3078
3079
3080 @node Musikalische Ereignisse in einer Datei speichern
3081 @subsection Musikalische Ereignisse in einer Datei speichern
3082 @translationof Saving music events to a file
3083
3084 Musikereignisse können in einer Datei Notensystem für Notensystem
3085 gespeichert werden, indem eine Datei in die Paritur eingefügt
3086 wird:
3087
3088 @example
3089 \include "event-listener.ly"
3090 @end example
3091
3092 Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
3093 @file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
3094 Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
3095 Ereignisse aller Notensysteme zusammen in der selben Datei
3096 gemischt.  Die Ausgabe sieht folgendermaßen aus:
3097
3098 @example
3099 0.000   note     57       4   p-c 2 12
3100 0.000   dynamic  f
3101 0.250   note     62       4   p-c 7 12
3102 0.500   note     66       8   p-c 9 12
3103 0.625   note     69       8   p-c 14 12
3104 0.750   rest     4
3105 0.750   breathe
3106 @end example
3107
3108 Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
3109 festen Zellen, gefolgt von optionalen Parametern.
3110
3111 @example
3112 @var{time}  @var{type}  @var{...params...}
3113 @end example
3114
3115 Diese Information kann einfach ein ein anderes Programm wie
3116 etwa ein Python-Skript eingelsen werden und kann nützlich für
3117 Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
3118 mit LilyPond machen wollen.
3119
3120 @knownissues
3121
3122 Nicht alle musikalischen Ereignisse werden von
3123 @file{event-listener.ly} unterstützt.  Es handelt sich eher um ein
3124 gut gemachtes @qq{proof of concept}.  Wenn Ereignisse, die Sie
3125 brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly} 
3126 in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
3127 sodass sie die benötigte Information ausgibt.