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