]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
Merge branch 'translation' into staging
[lilypond.git] / Documentation / de / notation / input.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: 06f227dd80f3a30cbf33c879b7c125079dfaf5c3
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.39"
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 } \default
1132     a'4 b8
1133     \footnote #'(0.5 . 1) #'NoteHead
1134       \markup { Die dritte Note } \default
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" \default
1151     es-\footnote #'(2 . -0.25) \markup { \italic "Ein Es" } \default
1152     g-\footnote #'(2 . 3) \markup { \bold "Das ist ein G" } \default
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 } \default
1172
1173     \footnote #'(0 . 1.5) #'Slur
1174       \markup { Ein Bogen } \default
1175     a'4\f(
1176
1177     \footnote #'(0 . -2) #'Beam
1178       \markup { Balken } \default
1179     b8)[ e]
1180
1181     \footnote #'(1 . -1) #'Stem
1182       \markup  { \teeny { Das ist ein Hals } } \default
1183     c4
1184
1185     \footnote #'(0 . 0.5) #'AccidentalCautionary
1186       \markup \italic { Ein Warnungsversetzungszeichen } \default
1187
1188     \footnote #'(0.5 . -0.5) #'TextScript
1189       \markup \italic { Langsamer hier } \default
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{vor} 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" } \default
1233     b8
1234     e-\footnote
1235           \markup { \bold "2" } #'(0.5 . 1) #'NoteHead "2. Die zweite Note" \default
1236     c4
1237     d\p-\footnote "3" #'(0.5 . -1) #'DynamicText "3. Piano" \default
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     \footnote "1" #'(1 . -1.25) "1. C" c
1250     \footnote
1251        \markup { \bold "b" } #'(2 . -0.25) "b. E-flat" es
1252     \footnote "3" #'(2 . 3) \markup { \italic "iii. G" } 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 } \default
1272
1273     \footnote
1274       \markup { \teeny b } #'(0 . 1.5) #'Slur
1275       \markup { b. Ein Bogen } \default
1276     a'4\f(
1277
1278     \footnote
1279       \markup { \teeny 3 } #'(0 . -2) #'Beam
1280       \markup { 3. Balken } \default
1281     b8)[ e]
1282
1283     \footnote
1284       \markup { 4 } #'(1 . -1) #'Stem
1285       \markup  { \bold 4. { Das ist ein Hals } } \default
1286     c4
1287
1288     \footnote
1289       \markup \concat \teeny { "sharp (v)" } #'(0 . 0.5) #'AccidentalCautionary
1290       \markup \italic { v. Ein Warnungsversetzungszeichen } \default
1291
1292     \footnote
1293       \markup \concat \teeny { "a" } #'(0.5 . -0.5) #'TextScript
1294       \markup \italic { a. Langsamer hier } \default
1295     dis?4_"rit."
1296
1297     \breathe
1298     \footnote
1299       \markup { \teeny \musicglyph #"rests.4" } #'(1.5 . -0.25) #'BreathingSign
1300       \markup { \null } \default
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:
2348 @rlearning{Mehr Information}.
2349
2350 @knownissues
2351
2352 Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
2353 ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
2354 LilyPond nicht in Gonville enthalten sein werden.
2355 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
2356 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
2357
2358
2359 @node MIDI-Ausgabe
2360 @section MIDI-Ausgabe
2361 @translationof MIDI output
2362
2363 @cindex Klang
2364 @cindex MIDI
2365
2366 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
2367 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
2368 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
2369 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
2370 benötigt spezielle Programme die die Notenereignisse in Klang
2371 umwandeln können.
2372
2373 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
2374 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
2375 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
2376 lassen sich meist sehr gut hören.
2377
2378 Normale MIDI-Ausgabe ist etwas roh; optional kann eine verbesserte und
2379 realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
2380 erzeugt werden.
2381
2382 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
2383 Kanala 10 für Schlagzeug.  Es gibt nur 16 MIDI-Kanäle pro Gerät,
2384 sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
2385 als 15 Notensysteme hat.
2386
2387 @menu
2388 * MIDI-Dateien erstellen::
2389 * Der MIDI-Block::
2390 * Was geht in die MIDI-Ausgabe::
2391 * Wiederholungen im MIDI::
2392 * MIDI-Lautstärke kontrollieren::
2393 * Schlagzeug in MIDI::
2394 * Artikuliere-Skript::
2395 @end menu
2396
2397
2398 @node MIDI-Dateien erstellen
2399 @subsection MIDI-Dateien erstellen
2400 @translationof Creating MIDI files
2401
2402 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
2403 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
2404 werden, etwa so:
2405
2406 @example
2407 \score @{
2408   @var{...Noten...}
2409   \midi @{ @}
2410 @}
2411 @end example
2412
2413 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
2414 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
2415 Wenn auch die Notation gewünscht ist, muss zusätzlich die
2416 @code{\layout}-Umgebung vorhanden sein:
2417
2418 @example
2419 \score @{
2420   @var{...music...}
2421   \midi @{ @}
2422   \layout @{ @}
2423 @}
2424 @end example
2425
2426 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
2427 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
2428 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
2429 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
2430 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
2431 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
2432 werden.  Siehe hierzu @ref{Der MIDI-Block}.
2433
2434 Das Anfangstempo und spätere Tempoänderungen können mit dem
2435 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
2436 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
2437 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
2438 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
2439 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
2440 unten gezeigt, siehe @ref{Der MIDI-Block}.
2441
2442 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
2443 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
2444 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
2445 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
2446 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
2447 oder @code{\score}-Blocks einfügen:
2448
2449 @example
2450 #(ly:set-option 'midi-extension "midi")
2451 @end example
2452
2453 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
2454
2455 Als Alternative kann man diese Option auch als Kommandozeilenparameter
2456 übergeben:
2457
2458 @example
2459 lilypond … -dmidi-extension=midi lilyDatei.ly
2460 @end example
2461
2462 @unnumberedsubsubsec Instrumentenbezeichnungen
2463
2464 @cindex Instrumentbezeichnungen
2465
2466 @funindex Staff.midiInstrument
2467
2468 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
2469 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
2470 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
2471 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
2472 in der dort definierten Schreibweise notiert werden.
2473
2474 @example
2475 \new Staff @{
2476   \set Staff.midiInstrument = #"glockenspiel"
2477   @var{...Noten...}
2478 @}
2479 @end example
2480
2481 @example
2482 \new Staff \with @{midiInstrument = #"cello"@} @{
2483   @var{...Noten...}
2484 @}
2485 @end example
2486
2487 Wenn die Schreibweise nicht genau einem definierten Instrument aus
2488 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
2489
2490 @snippets
2491
2492 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2493 {changing-midi-output-to-one-channel-per-voice.ly}
2494
2495 @knownissues
2496
2497 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
2498 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
2499 nicht geändert werden kann.
2500
2501 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
2502 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
2503 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2504
2505
2506 @node Der MIDI-Block
2507 @subsection Der MIDI-Block
2508 @translationof MIDI block
2509
2510 @cindex MIDI-Umgebung
2511
2512 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
2513 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
2514 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
2515 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
2516 Kontexte umgeändert werden, neue Kontexte definiert werden oder
2517 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
2518 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
2519 gesetzt wird:
2520
2521 @example
2522 \score @{
2523   @var{...Noten...}
2524   \midi @{
2525     \tempo 4 = 72
2526   @}
2527 @}
2528 @end example
2529
2530 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  @code{\tempo}
2531 ist eigentlich ein Musikbefehl, der die Eigenschaften während der Interpretation
2532 der Musik einstellt: im Kontext von Ausgabedefinitionen wie etwa einem
2533 @code{\midi}-Kontext werden sie neu interpretiert, als ob es sich um
2534 Kontextmodifikatoren handelte.
2535
2536 @cindex MIDI-Kontextdefinitionen
2537
2538 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
2539 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
2540 wird.  Klangübersetzungsmodule werden @code{performer}
2541 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
2542 Datei @file{../ly/performer-init.ly} definiert, siehe
2543 @rlearning{Mehr Information}.  Um beispielsweise
2544 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
2545 entfernen, müssen folgende Zeilen eingefügt werden:
2546
2547 @example
2548 \midi @{
2549   ...
2550   \context @{
2551     \Voice
2552     \remove "Dynamic_performer"
2553   @}
2554 @}
2555 @end example
2556
2557 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
2558 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
2559 @code{\score} beginnt.
2560
2561 @example
2562 \score @{
2563   @{ @dots{}Noten@dots{} @}
2564   \midi @{ @}
2565 @}
2566 @end example
2567
2568
2569 @node Was geht in die MIDI-Ausgabe
2570 @subsection Was geht in die MIDI-Ausgabe
2571 @translationof What goes into the MIDI output?
2572
2573
2574 @unnumberedsubsubsec In MIDI unterstützt
2575
2576 @cindex Tonhöhen in MIDI
2577 @cindex MIDI, Tonhöhen
2578 @cindex Vierteltöne in MIDI
2579 @cindex MIDI, Vierteltöne
2580 @cindex Mikrotöne in MIDI
2581 @cindex MIDI, Mikrotöne
2582 @cindex Akkordsymbole in MIDI
2583 @cindex MIDI, Akkordsymbole
2584 @cindex Rhythmen in MIDI
2585 @cindex MIDI, Rhythmen
2586 @cindex Artikuliere-Skript
2587 @cindex MIDI, Artikuliere-Skript
2588 @cindex MIDI, Artikulationen
2589 @cindex Triller in MIDI
2590 @cindex Verzierungen in MIDI
2591 @cindex Rallantando in MIDI
2592 @cindex Accelerando in MIDI
2593
2594 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
2595
2596 @itemize
2597 @item Tonhöhen
2598 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2599 Spieler benötigt, der Tonhöhen verändern kann.)
2600 @item Akkorde, die als Symbole notiert werden
2601 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2602 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2603 @item Überbindungen
2604 @item Dynamikzeichen
2605 @item Crescendi, decrescendi zu mehreren Noten
2606 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2607 @item Gesangstext
2608 @end itemize
2609
2610 Durch Einsatz vom @ref{Artikuliere-Skript} können noch einige Elemente
2611 zu der Liste hinzugefügt werden:
2612
2613 @itemize
2614 @item Artikulationen (Bögen, Staccato usw.)
2615 @item Triller usw.
2616 @item Rallentando und accelerando
2617 @end itemize
2618
2619
2620 @unnumberedsubsubsec In MIDI nicht unterstützt
2621
2622 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen,
2623 außer am setzt das @ref{Artikuliere-Skript} ein:
2624
2625 @itemize
2626 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2627 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2628 @item Staccato und andere Artikulationen und Ornamente
2629 @item Legato- und Phrasierungsbögen
2630 @item Crescendi, decrescendi zu einer einzelnen Note
2631 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2632 @item Bezifferter Bass
2633 @item Akkorde mit Mikrotönen
2634 @end itemize
2635
2636
2637 @node Wiederholungen im MIDI
2638 @subsection Wiederholungen im MIDI
2639 @translationof Repeats in MIDI
2640
2641 @cindex Wiederholungen in MIDI
2642 @cindex MIDI und Wiederholungen
2643
2644 @funindex \unfoldRepeats
2645
2646 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2647 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
2648 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
2649 verändert alle Wiederholungen in ausgeschriebene Noten.
2650
2651 @lilypond[quote,verbatim]
2652 \unfoldRepeats {
2653   \repeat tremolo 8 { c'32 e' }
2654   \repeat percent 2 { c''8 d'' }
2655   \repeat volta 2 { c'4 d' e' f' }
2656   \alternative {
2657     { g' a' a' g' }
2658     { f' e' d' c' }
2659   }
2660 }
2661 \bar "|."
2662 @end lilypond
2663
2664 In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
2665 Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
2666 notierte Wiederholungsanweisungen enthält.
2667
2668 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2669 wird, ist er notwendig,
2670 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2671 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2672 in der anderen werden die Wiederholungen notiert und als Partitur
2673 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2674 aussehen kann:
2675
2676 @example
2677 \score @{
2678   @var{..music..}
2679   \layout @{ .. @}
2680 @}
2681 \score @{
2682   \unfoldRepeats @var{..music..}
2683   \midi @{ .. @}
2684 @}
2685 @end example
2686
2687
2688 @node MIDI-Lautstärke kontrollieren
2689 @subsection MIDI-Lautstärke kontrollieren
2690 @translationof Controlling MIDI dynamics
2691
2692 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2693 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2694 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2695 als auch relative Lautstärken von Dynamikanweisungen und auch
2696 relative Lautstärke von einzelnen Instrumenten einzustellen.
2697
2698
2699 @unnumberedsubsubsec Dynamik-Zeichen
2700
2701 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2702 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
2703 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2704 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
2705 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2706 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2707 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2708 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2709 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2710 gesetzt werden.
2711
2712 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2713 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
2714 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2715 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
2716 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2717 Standardanweisungen auf:
2718
2719 @lilypond[verbatim,quote]
2720 #(define (myDynamics dynamic)
2721     (if (equal? dynamic "rfz")
2722       0.9
2723       (default-dynamic-absolute-volume dynamic)))
2724
2725 \score {
2726   \new Staff {
2727     \set Staff.midiInstrument = #"cello"
2728     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2729     \new Voice {
2730       \relative c'' {
2731         a4\pp b c-\rfz
2732       }
2733     }
2734   }
2735   \layout {}
2736   \midi {}
2737 }
2738 @end lilypond
2739
2740 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2741 umdefiniert werden soll, ist es besser, die
2742 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2743 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2744 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
2745 gemacht werden kann.
2746
2747
2748 @unnumberedsubsubsec MIDI-Lautstärke
2749
2750 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2751 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2752 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2753 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2754 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2755 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
2756 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2757 Formel
2758
2759 @example
2760 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2761 @end example
2762
2763 @noindent
2764 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2765 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2766
2767 @lilypond[verbatim,quote]
2768 \score {
2769   <<
2770     \new Staff {
2771       \key g \major
2772       \time 2/2
2773       \set Staff.midiInstrument = #"flute"
2774       \new Voice \relative c''' {
2775         r2 g\mp g fis~
2776         fis4 g8 fis e2~
2777         e4 d8 cis d2
2778       }
2779     }
2780     \new Staff {
2781       \key g \major
2782       \set Staff.midiInstrument = #"clarinet"
2783       \new Voice \relative c'' {
2784         b1\p a2. b8 a
2785         g2. fis8 e
2786         fis2 r
2787       }
2788     }
2789   >>
2790   \layout {}
2791   \midi {
2792     \tempo 2 = 72
2793     \context {
2794       \Score
2795       midiMinimumVolume = #0.2
2796       midiMaximumVolume = #0.5
2797     }
2798   }
2799 }
2800 @end lilypond
2801
2802
2803 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2804
2805 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2806 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2807 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2808 werden.  Damit kann man die Qualität der MIDI-Datei
2809 merklich verbessern.
2810
2811 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2812 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2813 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2814 diese Einstellung korrekt funktioniert.
2815
2816 @lilypond[verbatim,quote]
2817 \score {
2818   <<
2819     \new Staff {
2820       \key g \major
2821       \time 2/2
2822       \set Staff.midiInstrument = #"flute"
2823       \set Staff.midiMinimumVolume = #0.7
2824       \set Staff.midiMaximumVolume = #0.9
2825       \new Voice \relative c''' {
2826         r2 g\mp g fis~
2827         fis4 g8 fis e2~
2828         e4 d8 cis d2
2829       }
2830     }
2831     \new Staff {
2832       \key g \major
2833       \set Staff.midiInstrument = #"clarinet"
2834       \set Staff.midiMinimumVolume = #0.3
2835       \set Staff.midiMaximumVolume = #0.6
2836       \new Voice \relative c'' {
2837         b1\p a2. b8 a
2838         g2. fis8 e
2839         fis2 r
2840       }
2841     }
2842   >>
2843   \layout {}
2844   \midi {
2845     \tempo 2 = 72
2846   }
2847 }
2848 @end lilypond
2849
2850
2851 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
2852
2853 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2854 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
2855 Anpassungen für die Lautstärken bestimmter Instrumente vor.
2856 Diese Instrumente und ihre entsprechende Veränderung lassen
2857 sich aus der Tabelle @notation{instrument-equalizer-alist}
2858 in der Datei @file{../scm/midi.scm} entnehmen.
2859
2860 Dieser grundlegende Equalizer kann ersetzt werden, indem die
2861 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
2862 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
2863 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
2864 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
2865 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
2866 auf gleiche Weise vorgenommen, wie es schon für die
2867 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
2868 gezeigt wurde.  Der Standard-Equalizer,
2869 @notation{default-instrument-equalizer} in der Datei
2870 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
2871 kann.
2872
2873 Das folgende Beispiel definiert für die Flöte und Klarinette relative
2874 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
2875
2876 @lilypond[verbatim,quote]
2877 #(define my-instrument-equalizer-alist '())
2878
2879 #(set! my-instrument-equalizer-alist
2880   (append
2881     '(
2882       ("flute" . (0.7 . 0.9))
2883       ("clarinet" . (0.3 . 0.6)))
2884     my-instrument-equalizer-alist))
2885
2886 #(define (my-instrument-equalizer s)
2887   (let ((entry (assoc s my-instrument-equalizer-alist)))
2888     (if entry
2889       (cdr entry))))
2890
2891 \score {
2892   <<
2893     \new Staff {
2894       \key g \major
2895       \time 2/2
2896       \set Score.instrumentEqualizer = #my-instrument-equalizer
2897       \set Staff.midiInstrument = #"flute"
2898       \new Voice \relative c''' {
2899         r2 g\mp g fis~
2900         fis4 g8 fis e2~
2901         e4 d8 cis d2
2902       }
2903     }
2904     \new Staff {
2905       \key g \major
2906       \set Staff.midiInstrument = #"clarinet"
2907       \new Voice \relative c'' {
2908         b1\p a2. b8 a
2909         g2. fis8 e
2910         fis2 r
2911       }
2912     }
2913   >>
2914   \layout { }
2915   \midi {
2916     \tempo 2 = 72
2917   }
2918 }
2919 @end lilypond
2920
2921
2922
2923 @node Schlagzeug in MIDI
2924 @subsection Schlagzeug in MIDI
2925 @translationof Percussion in MIDI
2926
2927 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
2928 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
2929 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
2930 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
2931 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
2932 eine richtige MIDI-Ausgabe erreichen.
2933
2934 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
2935 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
2936 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
2937 notiert werden.  Es handelt sich
2938 um @code{melodic tom, taiko drum, synth drum} u. A.
2939
2940 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
2941 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
2942 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
2943 kommt.
2944
2945
2946 @knownissues
2947
2948 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
2949 Schlagstock (sidestick) für diesen Zweck eingesetzt.
2950
2951
2952 @node Artikuliere-Skript
2953 @subsection Artikuliere-Skript
2954 @translationof The Articulate script
2955
2956 Eine realistischere MIDI-Ausgabe ist möglich, wenn man das
2957 Artikuliere-Skript einsetzt.  Es versucht, Artikulationen
2958 (Bögen, Staccato) mit einzubeziehen, indem Noten mit
2959 sequentieller Musik von passender Verlängerung oder Verkürzung
2960 mit entprechenden Skips ersetzt werden.  Es versucht auch,
2961 Triller usw. klingen zu lassen und rallantando und
2962 accelerando wahrzunehmen.
2963
2964 Um das Artikuliere-Skript einzusetzen, muss oben in der
2965 Eingabedatei
2966
2967 @example
2968 \include "articulate.ly"
2969 @end example
2970
2971 @noindent
2972 eingefügt werden.  Im @code{\score}-Abschnitt schreibt man
2973
2974 @example
2975 \unfoldRepeats \articulate <<
2976         der Rest der Partitur...
2977 >>
2978 @end example
2979
2980 Wenn die Eingabedatei auf diese Art verändert wurd, wird die
2981 Notenausgabe stark verändert, aber die MIDI-Ausgabe produziert
2982 ein besseres Ergebnis.
2983
2984 Wenn auch nicht unbedingt notwendig, damit das Artikuliere-Skript
2985 funktioniert, bietet es sich an, @code{\unfoldRepeats} wie im
2986 Beispiel oben zu verwenden, weil dadurch Abkürzungen wie etwa
2987 Triller ausgeführt werden.
2988
2989 @knownissues
2990
2991 Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
2992 kann schlechter klingen.
2993
2994
2995
2996 @node Musikalische Information extrahieren
2997 @section Musikalische Information extrahieren
2998 @translationof Extracting musical information
2999
3000 Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
3001 Information als Text anzeigen:
3002
3003 @menu
3004 * LilyPond-Notation anzeigen::
3005 * Musikalische Scheme-Ausdrücke anzeigen::
3006 * Musikalische Ereignisse in einer Datei speichern::
3007 @end menu
3008
3009 @node LilyPond-Notation anzeigen
3010 @subsection LilyPond-Notation anzeigen
3011 @translationof Displaying LilyPond notation
3012
3013 @funindex \displayLilyMusic
3014
3015 Mit der musikalischen Funktion @code{\displayLilyMusic} kann
3016 man einen musikalischen Ausdruck anzeigen.  Um die Ausgabe zu
3017 sehen, wird LilyPond üblicherweise auf der Kommandozeile
3018 aufgerufen.  Beispielsweise
3019
3020 @example
3021 @{
3022   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3023 @}
3024 @end example
3025
3026 @noindent
3027 zeigt an:
3028
3029 @example
3030 @{ a,4 cis e fis g @}
3031 @end example
3032
3033 Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
3034 aus, zusammen mit all den anderen LilyPond-Nachrichten über die
3035 Kompilation.  Um die Nachrichten zu speichern, kann man die Ausgabe
3036 in eine Datei umleiten:
3037
3038 @example
3039 lilypond file.ly >display.txt
3040 @end example
3041
3042 @funindex \void
3043
3044 LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
3045 interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
3046 Programm zurückgibt, zusätzlich zur Anzeige).  Das ist sehr
3047 praktisch, denn man kann einfach @code{\displayLilyMusic}
3048 in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
3049 Wenn Sie nicht wollen, dass LilyPond die angezeigten
3050 musikalischen Ausdrücke auch interpretiert, muss @code{\void}
3051 eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
3052
3053 @example
3054 @{
3055   \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3056 @}
3057 @end example
3058
3059
3060 @node Musikalische Scheme-Ausdrücke anzeigen
3061 @subsection Musikalische Scheme-Ausdrücke anzeigen
3062 @translationof Displaying scheme music expressions
3063
3064 Siehe @rextend{Musikalische Funktionen darstellen}.
3065
3066
3067 @node Musikalische Ereignisse in einer Datei speichern
3068 @subsection Musikalische Ereignisse in einer Datei speichern
3069 @translationof Saving music events to a file
3070
3071 Musikereignisse können in einer Datei Notensystem für Notensystem
3072 gespeichert werden, indem eine Datei in die Paritur eingefügt
3073 wird:
3074
3075 @example
3076 \include "event-listener.ly"
3077 @end example
3078
3079 Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
3080 @file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
3081 Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
3082 Ereignisse aller Notensysteme zusammen in der selben Datei
3083 gemischt.  Die Ausgabe sieht folgendermaßen aus:
3084
3085 @example
3086 0.000   note     57       4   p-c 2 12
3087 0.000   dynamic  f
3088 0.250   note     62       4   p-c 7 12
3089 0.500   note     66       8   p-c 9 12
3090 0.625   note     69       8   p-c 14 12
3091 0.750   rest     4
3092 0.750   breathe
3093 @end example
3094
3095 Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
3096 festen Zellen, gefolgt von optionalen Parametern.
3097
3098 @example
3099 @var{time}  @var{type}  @var{...params...}
3100 @end example
3101
3102 Diese Information kann einfach ein ein anderes Programm wie
3103 etwa ein Python-Skript eingelsen werden und kann nützlich für
3104 Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
3105 mit LilyPond machen wollen.
3106
3107 @knownissues
3108
3109 Nicht alle musikalischen Ereignisse werden von
3110 @file{event-listener.ly} unterstützt.  Es handelt sich eher um ein
3111 gut gemachtes @qq{proof of concept}.  Wenn Ereignisse, die Sie
3112 brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly} 
3113 in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
3114 sodass sie die benötigte Information ausgibt.