]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/notation/input.itely
7721d3019ac329953afda5fe00d149640dfd3676
[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{Die layout-Umgebung}.
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 Variable = \markup @{
1109   ...
1110   \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   \on-the-fly #first-page
1176   \on-the-fly #last-page
1177   @{ \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 Variablen 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 Variablen 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 Formatvorlagen, wie
2135 in @rlearning{Formatvorlagen} behandelt.
2136
2137 @seealso
2138 Handbuch zum Lernen:
2139 @rlearning{Stücke durch Variablen organisieren},
2140 @rlearning{Formatvorlagen}.
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 % Font settings for Cyrillic and Hebrew
2206 % Linux Libertine fonts contain Cyrillic and Hebrew glyphs.
2207 \paper {
2208   #(define fonts
2209     (set-global-fonts
2210      #:roman "Linux Libertine O,serif"
2211      #:sans "Linux Biolinum O,sans-serif"
2212      #:typewriter "Linux Libertine Mono O,monospace"
2213    ))
2214 }
2215
2216 % Cyrillic
2217 bulgarian = \lyricmode {
2218   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
2219 }
2220
2221 % Hebrew
2222 hebrew = \lyricmode {
2223   זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
2224 }
2225
2226 % Portuguese
2227 portuguese = \lyricmode {
2228   à vo -- cê uma can -- ção legal
2229 }
2230
2231 \relative {
2232   c'2 d e f g f e
2233 }
2234 \addlyrics { \bulgarian }
2235 \addlyrics { \hebrew }
2236 \addlyrics { \portuguese }
2237 @end lilypond
2238
2239
2240 @node Unicode
2241 @unnumberedsubsubsec Unicode
2242 @translationof Unicode
2243
2244 @cindex Unicode
2245
2246 Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
2247 bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
2248 der Befehl @code{\char ##xhhhh} oder @code{\char #dddd} innerhalb einer
2249 @code{\markup}-Umgebung benutzt werden.  Hierbei bedeutet @code{hhhh} die
2250 hexadezimale Zahl und @code{ddd} die entsprechende dezimale Zahl
2251 für das erforderliche Zeichen.  Nullen zu Beginn können ausgelassen werden,
2252 aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
2253 notiert. (Achten Sie darauf, dass Sie @emph{nicht} UTF-8-Codepunkte
2254 einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.)  Unicode-Tabellen und ein Verzeichnis der Zeichenbezeichnungen
2255 mit einer hexadezimalen Verweiszahl finden sich auf der Internetseite
2256 des Unicode Consortiums: @uref{http://www.unicode.org/}.
2257
2258 Mit @code{\char ##x03BE} und @code{\char #958} wird
2259 beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
2260 Unicode-Bezeichnung @qq{Greek Small Letter Xi} hat.
2261
2262 Alle existierenden
2263 Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle
2264 Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format
2265 gespeichert werden.  Es muss natürlich auch noch eine Schriftart auf
2266 dem System installiert sein, die die notierten Zeichen darstellen kann.
2267
2268 Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem
2269 hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen,
2270 im Gesangstext und als normaler Text außerhalb der Partitur.
2271
2272 @lilypond[quote,verbatim]
2273 \score {
2274   \relative {
2275     c''1 \mark \markup { \char ##x03EE }
2276     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
2277   }
2278   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
2279 }
2280 \markup { "Copyright 2008--2015" \char ##x00A9 }
2281 @end lilypond
2282
2283 @cindex Copyright-Zeichen
2284
2285 Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
2286
2287 @example
2288 \header @{
2289   copyright = \markup @{ \char ##x00A9 "2008" @}
2290 @}
2291 @end example
2292
2293
2294 @node ASCII-Aliase
2295 @unnumberedsubsubsec ASCII-Aliase
2296 @translationof ASCII aliases
2297
2298 Eine Liste von ASCII-Befehlen für Sonderzeichen kann
2299 eingefügt werden:
2300
2301 @lilypond[quote,verbatim]
2302 \paper {
2303   #(include-special-characters)
2304 }
2305
2306 \markup "&flqq; &ndash; &OE;uvre incomplète&hellip; &frqq;"
2307
2308 \score {
2309   \new Staff { \repeat unfold 9 a'4 }
2310   \addlyrics {
2311     This is al -- so wor -- kin'~in ly -- rics: &ndash;_&OE;&hellip;
2312   }
2313 }
2314
2315 \markup \column {
2316   "The replacement can be disabled:"
2317   "&ndash; &OE; &hellip;"
2318   \override #'(replacement-alist . ()) "&ndash; &OE; &hellip;"
2319 }
2320 @end lilypond
2321
2322 Man kann auch eigen Aliase erstellen, entweder global:
2323
2324 @lilypond[quote,verbatim]
2325 \paper {
2326   #(add-text-replacements!
2327     '(("100" . "hundred")
2328       ("dpi" . "dots per inch")))
2329 }
2330 \markup "A 100 dpi."
2331 @end lilypond
2332
2333 @noindent
2334 oder lokal:
2335
2336 @lilypond[quote,verbatim]
2337 \markup \replace #'(("100" . "hundred")
2338                     ("dpi" . "dots per inch")) "A 100 dpi."
2339 @end lilypond
2340
2341 @seealso
2342 Notationsreferenz:
2343 @ref{Liste der Sonderzeichen}.
2344
2345 Installierte Dateien:
2346 @file{ly/text-replacements.ly}.
2347
2348
2349 @node Ausgabe kontrollieren
2350 @section Ausgabe kontrollieren
2351 @translationof Controlling output
2352
2353 @menu
2354 * Notationsfragmente extrahieren::
2355 * Korrigierte Musik überspringen::
2356 * Alternative Ausgabeformate::
2357 * Die Notationsschriftart verändern::
2358 @end menu
2359
2360
2361 @node Notationsfragmente extrahieren
2362 @subsection Notationsfragmente extrahieren
2363 @translationof Extracting fragments of music
2364
2365 Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der
2366 Quelldatei zu erzeugen.  Das kann damit verglichen werden, dass man
2367 mit der Schere bestimmte Regionen ausschneidet.
2368
2369 Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen
2370 (engl. to clip = ausschneiden), extra definiert.  Mit folgender
2371 Definition beispielsweise
2372
2373 @verbatim
2374 \layout {
2375   clip-regions
2376   = #(list
2377       (cons
2378        (make-rhythmic-location 5 1 2)
2379        (make-rhythmic-location 7 3 4)))
2380 }
2381 @end verbatim
2382
2383 @noindent
2384 wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
2385 beginnt und im siebten Takt endet.  Die Bedeutung von @code{5 1 2} ist:
2386 nach einer Halben in Takt fünf, @code{7 3 4} heißt: nach drei Vierteln
2387 in Takt 7.
2388
2389 Weitere Bereiche, die ausgeschnitten werden sollen, können definiert
2390 werden, indem mehrere derartige Paare definiert werden.
2391
2392 Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
2393 Parameter @option{-dclip-systems} aufgerufen werden.  Die Schnipsel
2394 werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
2395 diese Formate auch als Parameter angegeben werden.
2396
2397 Zu mehr Information über Ausgabeformate siehe @rprogram{lilypond aufrufen}.
2398
2399
2400 @node Korrigierte Musik überspringen
2401 @subsection Korrigierte Musik überspringen
2402 @translationof Skipping corrected music
2403
2404
2405 @funindex skipTypesetting
2406 @funindex showFirstLength
2407 @funindex showLastLength
2408
2409 Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem
2410 Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und
2411 Korrektur.  Um die Korrektur zu beschleunigen, kann eingestellt werden,
2412 dass nur die letzten paar Takte angezeigt werden.  Das erreicht man
2413 mit dem Befehl
2414
2415 @verbatim
2416 showLastLength = R1*5
2417 \score { ... }
2418 @end verbatim
2419
2420 @noindent
2421 in der Quelldatei.  Damit werden nur die letzten fünf Takte (in einem
2422 4/4-Takt) eines jeden @code{\score}-Abschnitts übersetzt.  Besonders
2423 bei längeren Stücken ist es meistens sehr viel schneller, nur einen
2424 kleinen Teil des Stückes zu setzen als die gesamte Länge.  Wenn man
2425 am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
2426 werden soll), kann auch die @code{showFirstLength}-Eigenschaft
2427 nützlich sein.
2428
2429 Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
2430 Eigenschaft @code{Score.skipTypesetting} sehr genau kontrolliert
2431 werden.  Für den Bereich, für den sie auf @qq{wahr} gesetzt wird,
2432 wird kein Notensatz ausgegeben.
2433
2434 Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu
2435 kontrollieren.  Hiermit werden alle Ereignisse, auch Tempo- und
2436 Instrumentenwechsel ausgelassen.  Man muss also sehr genau darauf
2437 achten, dass nichts unerwartetes geschieht.
2438
2439 @lilypond[quote,ragged-right,verbatim]
2440 \relative {
2441   c''8 d
2442   \set Score.skipTypesetting = ##t
2443   e8 e e e e e e e
2444   \set Score.skipTypesetting = ##f
2445   c8 d b bes a g c2
2446 }
2447 @end lilypond
2448
2449 In polyphoner Notation wirkt sich @code{Score.skipTypesetting} auf
2450 alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
2451 Übersetzung der Datei gespart wird.
2452
2453
2454 @node Alternative Ausgabeformate
2455 @subsection Alternative Ausgabeformate
2456 @translationof Alternative output formats
2457
2458 @cindex scalable vector graphics output
2459 @cindex skalierbare Vektorgraphik-Ausgabe
2460 @cindex SVG-Ausgabe
2461 @cindex encapsulated postscript output
2462 @cindex EPS-Ausgabe
2463 @cindex PNG-Ausgabe
2464
2465 Das Standardausgabeformat für gedruckte Partituren ist PDF (Portable
2466 Document Forma) und PS (PostScript).  SVG (Scalable Vector
2467 Graphics), EPS (Encapsulated PostScript) und PNG (Portable
2468 Network Graphics) gibt es auch als Ausgabeformate über die
2469 Kommandozeile.  Siehe @rprogram{Grundlegende Optionen auf der Kommandozeile für LilyPond}.
2470
2471
2472 @node Die Notationsschriftart verändern
2473 @subsection Die Notationsschriftart verändern
2474 @translationof Replacing the notation font
2475
2476 Gonville ist eine Alternative zu der Feta-Schriftart, die in LilyPond
2477 eingesetzt wird und kann unter der Adresse
2478 @example
2479 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
2480 @end example
2481
2482 @noindent
2483 heruntergeladen werden.  Hier einige Takte Noten mit der Gonville-Schriftart:
2484
2485 @c NOTE: these images are a bit big, but that's important
2486 @c       for the font comparison.  -gp
2487 @sourceimage{Gonville_after,,,}
2488
2489 Und hier einige Beispieltakte in der Feta-Schriftart:
2490
2491 @sourceimage{Gonville_before,,,}
2492
2493 @subsubheading Installationsanweisungen für MacOS
2494
2495 Laden Sie die Datei herunter und entpacken Sie die ZIP-Datei.
2496 Kopieren Sie das @code{lilyfonts}-Verzeichnis nach
2497 @file{@var{SHARE_DIR}/lilypond/current}; für mehr Information
2498 siehe @rlearning{Mehr Information}.
2499 Benennen Sie das existierende @code{fonts}-Verzeichnis in
2500 @code{fonts_orig} um und benennen Sie das Verzeichnis
2501 @code{lilyfonts} in @code{fonts}.  Das alte Verzeichnis
2502 @code{fonts_orig} können Sie einfach in @code{fonts}
2503 zurückbenennen, um wieder nach Feta zu wechseln.
2504
2505 @seealso
2506 Handbuch zum Lernen:
2507 @rlearning{Mehr Information}.
2508
2509 @knownissues
2510
2511 Gonville kann nicht verwendet werden, um Alte Notation zu setzen und es
2512 ist wahrscheinlich, dass neuere Glyphen in späteren Versionen von
2513 LilyPond nicht in Gonville enthalten sein werden.
2514 Bitte lesen Sie die Webseite des Autoren zu mehr Information hierzu
2515 und zu anderen Einzelheiten, wie auch der Lizenz von Gonville.
2516
2517
2518 @node MIDI-Ausgabe
2519 @section MIDI-Ausgabe
2520 @translationof MIDI output
2521
2522 @cindex Klang
2523 @cindex MIDI
2524
2525 MIDI (Musical Instrument Digital Interface) ist ein Standard zur
2526 Kontrolle und Interaktion mit digitalen Instrumenten.  Eine
2527 MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von
2528 Bändern/Stimmen.  Es ist keine eigentliche Klangdatei, denn man
2529 benötigt spezielle Programme die die Notenereignisse in Klang
2530 umwandeln können.
2531
2532 Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass
2533 man sich anhören kann, was man notiert hat.  Das hilft oft sehr gut
2534 bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen
2535 lassen sich meist sehr gut hören.
2536
2537 Normale MIDI-Ausgabe ist etwas roh; optional kann eine verbesserte und
2538 realistischere MIDI-Ausgabe mit einem @ref{Artikuliere-Skript}
2539 erzeugt werden.
2540
2541 Die MIDI-Ausgabe benötigt einen Kanal für jedes System und reserviert
2542 Kanal 10 für Schlagzeug.  Es gibt nur 16 MIDI-Kanäle pro Gerät,
2543 sodass MIDI-Kanäle mehrfach benutzt werden, wenn eine Partitur mehr
2544 als 15 Notensysteme hat.
2545
2546 @menu
2547 * MIDI-Dateien erstellen::
2548 * Der MIDI-Block::
2549 * Was geht in die MIDI-Ausgabe::
2550 * Wiederholungen im MIDI::
2551 * MIDI-Lautstärke kontrollieren::
2552 * Schlagzeug in MIDI::
2553 * Artikuliere-Skript::
2554 @end menu
2555
2556
2557 @node MIDI-Dateien erstellen
2558 @subsection MIDI-Dateien erstellen
2559 @translationof Creating MIDI files
2560
2561 Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
2562 eine @code{\midi}-Umgebung zu der @code{\score}-Umgebung hinzugefügt
2563 werden, etwa so:
2564
2565 @example
2566 \score @{
2567   @var{...Noten...}
2568   \midi @{ @}
2569 @}
2570 @end example
2571
2572 Wenn in einer @code{\score}-Umgebung nur eine @code{\midi}-Umgebung,
2573 aber keine @code{\layout}-Umgebung vorkommt, wird nur MIDI produziert.
2574 Wenn auch die Notation gewünscht ist, muss zusätzlich die
2575 @code{\layout}-Umgebung vorhanden sein:
2576
2577 @example
2578 \score @{
2579   @var{...music...}
2580   \midi @{ @}
2581   \layout @{ @}
2582 @}
2583 @end example
2584
2585 Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden
2586 korrekt in das MIDI-Format übersetzt.  Dynamikzeichen, Crescendo und
2587 Decrescendo werden in den MIDI-Lautstärkekanal übertragen.  Dynamikzeichen
2588 werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und
2589 Decrescendo erreichen einen Übergang zwischen Lautstärkewerten.
2590 Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt
2591 werden.  Siehe hierzu @ref{Der MIDI-Block}.
2592
2593 Das Anfangstempo und spätere Tempoänderungen können mit dem
2594 @code{\tempo}-Befehl innerhalb der Notation notiert werden.  Er
2595 bewirkt Tempoänderungen auch in der MIDI-Datei.  Der Befehl setzt
2596 gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
2597 auch unterdrückt werden kann, siehe @ref{Metronomangabe}.  Eine
2598 andere Möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
2599 unten gezeigt, siehe @ref{Der MIDI-Block}.
2600
2601 Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
2602 die Standarddateierweiterung von MIDI-Dateien @code{.mid}. Andere
2603 Betriebssysteme verwenden weiterhin @code{.midi}. Wenn eine
2604 andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
2605 Ebene der Quelldatei, vor Beginn eines @code{\book}, @code{\bookpart}
2606 oder @code{\score}-Blocks einfügen:
2607
2608 @example
2609 #(ly:set-option 'midi-extension "midi")
2610 @end example
2611
2612 Diese Codezeile setzt die Dateiendung auf @code{.midi}.
2613
2614 Als Alternative kann man diese Option auch als Kommandozeilenparameter
2615 übergeben:
2616
2617 @example
2618 lilypond … -dmidi-extension=midi lilyDatei.ly
2619 @end example
2620
2621 @unnumberedsubsubsec Instrumentenbezeichnungen
2622
2623 @cindex Instrumentbezeichnungen
2624
2625 @funindex Staff.midiInstrument
2626
2627 Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
2628 werden soll, wird durch die @code{Staff.midiInstrument}-Eigenschaft
2629 bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
2630 Die Bezeichnungen sind aufgelistet in @ref{MIDI-Instrumente} und müssen
2631 in der dort definierten Schreibweise notiert werden.
2632
2633 @example
2634 \new Staff @{
2635   \set Staff.midiInstrument = #"glockenspiel"
2636   @var{...Noten...}
2637 @}
2638 @end example
2639
2640 @example
2641 \new Staff \with @{midiInstrument = #"cello"@} @{
2642   @var{...Noten...}
2643 @}
2644 @end example
2645
2646 Wenn die Schreibweise nicht genau einem definierten Instrument aus
2647 der Liste entspricht, wird ein Piano-Klang benutzt (@code{"acoustic grand"}).
2648
2649 @snippets
2650
2651 @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
2652 {changing-midi-output-to-one-channel-per-voice.ly}
2653
2654 @knownissues
2655
2656 Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn
2657 einer Note angefordert werden, sodass die Lautstärke während einer Notendauer
2658 nicht geändert werden kann.
2659
2660 Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben.
2661 Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media
2662 Player und @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
2663
2664
2665 @node Der MIDI-Block
2666 @subsection Der MIDI-Block
2667 @translationof MIDI block
2668
2669 @cindex MIDI-Umgebung
2670
2671 Eine @code{\midi}-Umgebung muss innerhalb von einer @code{\score}-Umgebung
2672 vorkommen, wenn MIDI-Ausgabe gewünscht ist.  Sie entspricht der
2673 @code{\layout}-Umgebung, aber ist etwas einfacher aufgebaut.  Oft wird
2674 die MIDI-Umgebung einfach leer gelassen, aber hier können auch
2675 Kontexte umgeändert werden, neue Kontexte definiert werden oder
2676 neue Werte definiert werden.  Das folgende Beispiel etwa definiert
2677 das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
2678 gesetzt wird:
2679
2680 @example
2681 \score @{
2682   @var{...Noten...}
2683   \midi @{
2684     \tempo 4 = 72
2685   @}
2686 @}
2687 @end example
2688
2689 Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert.  @code{\tempo}
2690 ist eigentlich ein Musikbefehl, der die Eigenschaften während der Interpretation
2691 der Musik einstellt: im Kontext von Ausgabedefinitionen wie etwa einem
2692 @code{\midi}-Kontext werden sie neu interpretiert, als ob es sich um
2693 Kontextmodifikatoren handelte.
2694
2695 @cindex MIDI-Kontextdefinitionen
2696
2697 Kontextdefinitionen des @code{\midi}-Kontextes entsprechen
2698 der Syntax, wie sie in der @code{\layout}-Umgebung benutzt
2699 wird.  Klangübersetzungsmodule werden @code{performer}
2700 genannt.  Die Kontexte für die MIDI-Ausgabe sind in der
2701 Datei @file{../ly/performer-init.ly} definiert, siehe
2702 @rlearning{Mehr Information}.  Um beispielsweise
2703 die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
2704 entfernen, müssen folgende Zeilen eingefügt werden:
2705
2706 @example
2707 \midi @{
2708   ...
2709   \context @{
2710     \Voice
2711     \remove "Dynamic_performer"
2712   @}
2713 @}
2714 @end example
2715
2716 Eine MIDI-Ausgabe wird nur erstellt, wenn die @code{\midi}-Umgebung
2717 in eine Partiturumgebung eingefügt wird, die mit dem Befehl
2718 @code{\score} beginnt.
2719
2720 @example
2721 \score @{
2722   @{ @dots{}Noten@dots{} @}
2723   \midi @{ @}
2724 @}
2725 @end example
2726
2727
2728 @node Was geht in die MIDI-Ausgabe
2729 @subsection Was geht in die MIDI-Ausgabe
2730 @translationof What goes into the MIDI output?
2731
2732
2733 @unnumberedsubsubsec In MIDI unterstützt
2734
2735 @cindex Tonhöhen in MIDI
2736 @cindex MIDI, Tonhöhen
2737 @cindex Vierteltöne in MIDI
2738 @cindex MIDI, Vierteltöne
2739 @cindex Mikrotöne in MIDI
2740 @cindex MIDI, Mikrotöne
2741 @cindex Akkordsymbole in MIDI
2742 @cindex MIDI, Akkordsymbole
2743 @cindex Rhythmen in MIDI
2744 @cindex MIDI, Rhythmen
2745 @cindex Artikuliere-Skript
2746 @cindex MIDI, Artikuliere-Skript
2747 @cindex MIDI, Artikulationen
2748 @cindex Triller in MIDI
2749 @cindex Verzierungen in MIDI
2750 @cindex Rallantando in MIDI
2751 @cindex Accelerando in MIDI
2752
2753 Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
2754
2755 @itemize
2756 @item Tonhöhen
2757 @item Mikrotöne (siehe @ref{Versetzungszeichen}. Für die Ausgabe wird ein
2758 Spieler benötigt, der Tonhöhen verändern kann.)
2759 @item Akkorde, die als Symbole notiert werden
2760 @item Rhythmen, die als Dauern notiert sind, inklusive N-tolen
2761 @item Tremolo, das ohne @q{@code{:}[@var{Zahl}]} notiert ist
2762 @item Überbindungen
2763 @item Dynamikzeichen
2764 @item Crescendi, decrescendi zu mehreren Noten
2765 @item Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
2766 @item Gesangstext
2767 @end itemize
2768
2769 Durch Einsatz vom @ref{Artikuliere-Skript} können noch einige Elemente
2770 zu der Liste hinzugefügt werden:
2771
2772 @itemize
2773 @item Artikulationen (Bögen, Staccato usw.)
2774 @item Triller usw.
2775 @item Rallentando und accelerando
2776 @end itemize
2777
2778
2779 @unnumberedsubsubsec In MIDI nicht unterstützt
2780
2781 Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbezogen,
2782 außer am setzt das @ref{Artikuliere-Skript} ein:
2783
2784 @itemize
2785 @item Rhythmus, der als Anmerkung notiert wird, bspw. Swing
2786 @item Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
2787 @item Staccato und andere Artikulationen und Ornamente
2788 @item Legato- und Phrasierungsbögen
2789 @item Crescendi, decrescendi zu einer einzelnen Note
2790 @item Tremolo, notiert mit @q{@code{:}[@var{number}]}
2791 @item Bezifferter Bass
2792 @item Akkorde mit Mikrotönen
2793 @end itemize
2794
2795
2796 @node Wiederholungen im MIDI
2797 @subsection Wiederholungen im MIDI
2798 @translationof Repeats in MIDI
2799
2800 @cindex Wiederholungen in MIDI
2801 @cindex MIDI und Wiederholungen
2802
2803 @funindex \unfoldRepeats
2804
2805 Mit einigen Veränderungen im Notentext können alle Wiederholungstypen
2806 auch in der MIDI-Ausgabe wiedergegeben werden.  Das wird erreicht, indem
2807 die @code{\unfoldRepeats}-Funktion eingesetzt wird.  Diese Funktion
2808 verändert alle Wiederholungen in ausgeschriebene Noten.
2809
2810 @lilypond[quote,verbatim]
2811 \unfoldRepeats {
2812   \repeat tremolo 8 { c'32 e' }
2813   \repeat percent 2 { c''8 d'' }
2814   \repeat volta 2 { c'4 d' e' f' }
2815   \alternative {
2816     { g' a' a' g' }
2817     { f' e' d' c' }
2818   }
2819 }
2820 \bar "|."
2821 @end lilypond
2822
2823 In Parituren mit mehreren Stimmen funktioniert das Ausschreiben der
2824 Wiederholungen im MIDI nur richtig, wenn @emph{jede} Stimme vollständig
2825 notierte Wiederholungsanweisungen enthält.
2826
2827 Wenn eine Partitur mit diesem @code{\unfoldRepeats}-Befehl erstellt
2828 wird, ist er notwendig,
2829 zwei @code{\score}-Umgebungen einzurichten: in der einen werden die
2830 Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
2831 in der anderen werden die Wiederholungen notiert und als Partitur
2832 gesetzt.  Das Beispiel gibt einen Hinweis, wie eine derartige Datei
2833 aussehen kann:
2834
2835 @example
2836 \score @{
2837   @var{..music..}
2838   \layout @{ .. @}
2839 @}
2840 \score @{
2841   \unfoldRepeats @var{..music..}
2842   \midi @{ .. @}
2843 @}
2844 @end example
2845
2846
2847 @node MIDI-Lautstärke kontrollieren
2848 @subsection MIDI-Lautstärke kontrollieren
2849 @translationof Controlling MIDI dynamics
2850
2851 Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
2852 erstellt, welcher sich in einem @code{Voice}-Kontext befindet.
2853 Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
2854 als auch relative Lautstärken von Dynamikanweisungen und auch
2855 relative Lautstärke von einzelnen Instrumenten einzustellen.
2856
2857
2858 @unnumberedsubsubsec Dynamik-Zeichen
2859
2860 Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
2861 zur Verfügung stehenden MIDI-Lautstärke notiert.  Die Standardbrüche
2862 reichen von 0,25 für @notation{ppppp} bis hin zu 0,95 für
2863 @notation{fffff}.  Diese Anweisung befinden sich in der Datei
2864 @file{../scm/midi.scm}, siehe auch @rlearning{Mehr Information}.
2865 Diese Brüche können nach Belieben geändert oder erweitert werden, indem
2866 eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
2867 nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
2868 @code{Score.dynamicAbsoluteVolumeFunction} auf diese Funktion
2869 gesetzt werden.
2870
2871 Beispielhaft soll gezeigt werden, wie man eine @notation{Rinforzando}-Dynamik,
2872 @code{\rfz}, auch in die MIDI-Ausgabe übernehmen kann.  Gleiches gilt
2873 für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
2874 nicht enthalten sind.  Die Scheme-Funktion, die hier definiert wird,
2875 setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
2876 Standardanweisungen auf:
2877
2878 @lilypond[verbatim,quote]
2879 #(define (myDynamics dynamic)
2880     (if (equal? dynamic "rfz")
2881       0.9
2882       (default-dynamic-absolute-volume dynamic)))
2883
2884 \score {
2885   \new Staff {
2886     \set Staff.midiInstrument = #"cello"
2887     \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
2888     \new Voice {
2889       \relative {
2890         a'4\pp b c-\rfz
2891       }
2892     }
2893   }
2894   \layout {}
2895   \midi {}
2896 }
2897 @end lilypond
2898
2899 Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken
2900 umdefiniert werden soll, ist es besser, die
2901 @notation{default-dynamic-absolute-volume}-Prozedur in der Datei
2902 @file{../scm/midi.scm} und die hiermit verknüpfte Tabelle als Modell
2903 zu benutzen.  Das letzte Beispiel dieses Abschnittes zeigt, wie das
2904 gemacht werden kann.
2905
2906
2907 @unnumberedsubsubsec MIDI-Lautstärke
2908
2909 Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
2910 wird kontrolliert, indem die Eigenschaften @code{midiMinimumVolume}
2911 und @code{midiMaximumVolume} auf der @code{Score}-Ebene gesetzt
2912 werden.  Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
2913 ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
2914 wenn diese Einstellung von Anfang an Wirkung zeigen soll.  Der Bruch,
2915 der dann den einzelnen Dynamikzeichen entspricht, wird mit der
2916 Formel
2917
2918 @example
2919 midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
2920 @end example
2921
2922 @noindent
2923 errechnet.  Im folgenden Beispiel wird die generelle MIDI-Lautstärke
2924 auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
2925
2926 @lilypond[verbatim,quote]
2927 \score {
2928   <<
2929     \new Staff {
2930       \key g \major
2931       \time 2/2
2932       \set Staff.midiInstrument = #"flute"
2933       \new Voice \relative {
2934         r2 g''\mp g fis~
2935         4 g8 fis e2~
2936         4 d8 cis d2
2937       }
2938     }
2939     \new Staff {
2940       \key g \major
2941       \set Staff.midiInstrument = #"clarinet"
2942       \new Voice \relative {
2943         b'1\p a2. b8 a
2944         g2. fis8 e
2945         fis2 r
2946       }
2947     }
2948   >>
2949   \layout {}
2950   \midi {
2951     \tempo 2 = 72
2952     \context {
2953       \Score
2954       midiMinimumVolume = #0.2
2955       midiMaximumVolume = #0.5
2956     }
2957   }
2958 }
2959 @end lilypond
2960
2961
2962 @unnumberedsubsubsec Verschiedene Instrumente angleichen (i)
2963
2964 Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
2965 innerhalb eines @code{Staff}-Kontextes gesetzt werden,
2966 kann damit die relative Lautstärke einzelner Instrumente kontrolliert
2967 werden.  Damit kann man die Qualität der MIDI-Datei
2968 merklich verbessern.
2969
2970 In diesem Beispiel wird die Lautstärke der Klarinette relativ
2971 zur Lautstärke der Flöte verringert.  In jeder Stimme muss
2972 eine Dynamikanweisung für die erste Note gesetzt werden, damit
2973 diese Einstellung korrekt funktioniert.
2974
2975 @lilypond[verbatim,quote]
2976 \score {
2977   <<
2978     \new Staff {
2979       \key g \major
2980       \time 2/2
2981       \set Staff.midiInstrument = #"flute"
2982       \set Staff.midiMinimumVolume = #0.7
2983       \set Staff.midiMaximumVolume = #0.9
2984       \new Voice \relative {
2985         r2 g''\mp g fis~
2986         4 g8 fis e2~
2987         4 d8 cis d2
2988       }
2989     }
2990     \new Staff {
2991       \key g \major
2992       \set Staff.midiInstrument = #"clarinet"
2993       \set Staff.midiMinimumVolume = #0.3
2994       \set Staff.midiMaximumVolume = #0.6
2995       \new Voice \relative {
2996         b'1\p a2. b8 a
2997         g2. fis8 e
2998         fis2 r
2999       }
3000     }
3001   >>
3002   \layout {}
3003   \midi {
3004     \tempo 2 = 72
3005   }
3006 }
3007 @end lilypond
3008
3009
3010 @unnumberedsubsubsec Verschiedene Instrumente angleichen (ii)
3011
3012 Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
3013 nicht vorgegeben werden, nimmt LilyPond standardmäßig einige
3014 Anpassungen für die Lautstärken bestimmter Instrumente vor.
3015 Diese Instrumente und ihre entsprechende Veränderung lassen
3016 sich aus der Tabelle @notation{instrument-equalizer-alist}
3017 in der Datei @file{../scm/midi.scm} entnehmen.
3018
3019 Dieser grundlegende Equalizer kann ersetzt werden, indem die
3020 Funktion @code{instrumentEqualizer} im @code{Score}-Kontext auf
3021 eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
3022 als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
3023 den Höchst- und Mindestwert für die Lautstärke des entsprechenden
3024 Instruments darstellt.  Die Ersetzung der Standardfunktion wird
3025 auf gleiche Weise vorgenommen, wie es schon für die
3026 @code{dynamicAbsoluteVolumeFunction} zu Beginn dieses Abschnittes
3027 gezeigt wurde.  Der Standard-Equalizer,
3028 @notation{default-instrument-equalizer} in der Datei
3029 @file{../scm/midi.scm} zeigt, wie solche eine Funktion erstellt werden
3030 kann.
3031
3032 Das folgende Beispiel definiert für die Flöte und Klarinette relative
3033 Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
3034
3035 @lilypond[verbatim,quote]
3036 #(define my-instrument-equalizer-alist '())
3037
3038 #(set! my-instrument-equalizer-alist
3039   (append
3040     '(
3041       ("flute" . (0.7 . 0.9))
3042       ("clarinet" . (0.3 . 0.6)))
3043     my-instrument-equalizer-alist))
3044
3045 #(define (my-instrument-equalizer s)
3046   (let ((entry (assoc s my-instrument-equalizer-alist)))
3047     (if entry
3048       (cdr entry))))
3049
3050 \score {
3051   <<
3052     \new Staff {
3053       \key g \major
3054       \time 2/2
3055       \set Score.instrumentEqualizer = #my-instrument-equalizer
3056       \set Staff.midiInstrument = #"flute"
3057       \new Voice \relative {
3058         r2 g''\mp g fis~
3059         4 g8 fis e2~
3060         4 d8 cis d2
3061       }
3062     }
3063     \new Staff {
3064       \key g \major
3065       \set Staff.midiInstrument = #"clarinet"
3066       \new Voice \relative {
3067         b'1\p a2. b8 a
3068         g2. fis8 e
3069         fis2 r
3070       }
3071     }
3072   >>
3073   \layout { }
3074   \midi {
3075     \tempo 2 = 72
3076   }
3077 }
3078 @end lilypond
3079
3080
3081
3082 @node Schlagzeug in MIDI
3083 @subsection Schlagzeug in MIDI
3084 @translationof Percussion in MIDI
3085
3086 Schlagzeuginstrumente werden üblicherweise in einem @code{DrumStaff}-Kontext
3087 notiert.  Aus diese Weise werden sie korrekt in den MIDI-Kanal@tie{}10
3088 ausgegeben.  Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
3089 Marima, Vibraphone, Pauken usw. werden wie @qq{normale} Instrumente
3090 in einem @code{Staff}-Kontext notiert.  Nur so lässt sich auch hier
3091 eine richtige MIDI-Ausgabe erreichen.
3092
3093 Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
3094 über den MIDI-Kanal@tie{}10 erreicht werden und müssen deshalb in
3095 einem normalen @code{Staff}-Kontext mit passenden normalen Tonhöhen
3096 notiert werden.  Es handelt sich
3097 um @code{melodic tom, taiko drum, synth drum} u. A.
3098
3099 Viele Schlagzeuginstrumente sind nicht in den MIDI-Standard aufgenommen,
3100 z. B. Kastagnetten.  Die einfachste Methode, derartige Instrumente
3101 zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich
3102 kommt.
3103
3104
3105 @knownissues
3106
3107 Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein
3108 Schlagstock (sidestick) für diesen Zweck eingesetzt.
3109
3110
3111 @node Artikuliere-Skript
3112 @subsection Artikuliere-Skript
3113 @translationof The Articulate script
3114
3115 Eine realistischere MIDI-Ausgabe ist möglich, wenn man das
3116 Artikuliere-Skript einsetzt.  Es versucht, Artikulationen
3117 (Bögen, Staccato) mit einzubeziehen, indem Noten mit
3118 sequentieller Musik von passender Verlängerung oder Verkürzung
3119 mit entprechenden Skips ersetzt werden.  Es versucht auch,
3120 Triller usw. klingen zu lassen und rallantando und
3121 accelerando wahrzunehmen.
3122
3123 Um das Artikuliere-Skript einzusetzen, muss oben in der
3124 Eingabedatei
3125
3126 @example
3127 \include "articulate.ly"
3128 @end example
3129
3130 @noindent
3131 eingefügt werden.  Im @code{\score}-Abschnitt schreibt man
3132
3133 @example
3134 \unfoldRepeats \articulate <<
3135         der Rest der Partitur...
3136 >>
3137 @end example
3138
3139 Wenn die Eingabedatei auf diese Art verändert wurd, wird die
3140 Notenausgabe stark verändert, aber die MIDI-Ausgabe produziert
3141 ein besseres Ergebnis.
3142
3143 Wenn auch nicht unbedingt notwendig, damit das Artikuliere-Skript
3144 funktioniert, bietet es sich an, @code{\unfoldRepeats} wie im
3145 Beispiel oben zu verwenden, weil dadurch Abkürzungen wie etwa
3146 Triller ausgeführt werden.
3147
3148 @knownissues
3149
3150 Articulate verkürzt Akkorde und manche Musik (besonders Orgelmusik)
3151 kann schlechter klingen.
3152
3153
3154
3155 @node Musikalische Information extrahieren
3156 @section Musikalische Information extrahieren
3157 @translationof Extracting musical information
3158
3159 Neben graphischer Ausgabe und MIDI kann LilyPond auch die musikalische
3160 Information als Text anzeigen:
3161
3162 @menu
3163 * LilyPond-Notation anzeigen::
3164 * Musikalische Scheme-Ausdrücke anzeigen::
3165 * Musikalische Ereignisse in einer Datei speichern::
3166 @end menu
3167
3168 @node LilyPond-Notation anzeigen
3169 @subsection LilyPond-Notation anzeigen
3170 @translationof Displaying LilyPond notation
3171
3172 @funindex \displayLilyMusic
3173
3174 Mit der musikalischen Funktion @code{\displayLilyMusic} kann
3175 man einen musikalischen Ausdruck anzeigen.  Um die Ausgabe zu
3176 sehen, wird LilyPond üblicherweise auf der Kommandozeile
3177 aufgerufen.  Beispielsweise
3178
3179 @example
3180 @{
3181   \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3182 @}
3183 @end example
3184
3185 @noindent
3186 zeigt an:
3187
3188 @example
3189 @{ a,4 cis e fis g @}
3190 @end example
3191
3192 Standardmäßig gibt LilyPond diese Nachrichten auf die Kommandozeile
3193 aus, zusammen mit all den anderen LilyPond-Nachrichten über die
3194 Kompilation.  Um die Nachrichten zu speichern, kann man die Ausgabe
3195 in eine Datei umleiten:
3196
3197 @example
3198 lilypond file.ly >display.txt
3199 @end example
3200
3201 @funindex \void
3202
3203 LilyPond zeit nicht nur die musikalischen Ausdrücke an, sondern
3204 interpretiert sie auch (weil @code{\displayLilyMusic} sie an das
3205 Programm zurückgibt, zusätzlich zur Anzeige).  Das ist sehr
3206 praktisch, denn man kann einfach @code{\displayLilyMusic}
3207 in vorhandene Noten einfügen, um Informationen darüber zu erhalten.
3208 Wenn Sie nicht wollen, dass LilyPond die angezeigten
3209 musikalischen Ausdrücke auch interpretiert, muss @code{\void}
3210 eingesetzt werden, damit der Ausdruck für die Interpretation ignoriert wird:
3211
3212 @example
3213 @{
3214   \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
3215 @}
3216 @end example
3217
3218
3219 @node Musikalische Scheme-Ausdrücke anzeigen
3220 @subsection Musikalische Scheme-Ausdrücke anzeigen
3221 @translationof Displaying scheme music expressions
3222
3223 Siehe @rextend{Musikalische Funktionen darstellen}.
3224
3225
3226 @node Musikalische Ereignisse in einer Datei speichern
3227 @subsection Musikalische Ereignisse in einer Datei speichern
3228 @translationof Saving music events to a file
3229
3230 Musikereignisse können in einer Datei Notensystem für Notensystem
3231 gespeichert werden, indem eine Datei in die Paritur eingefügt
3232 wird:
3233
3234 @example
3235 \include "event-listener.ly"
3236 @end example
3237
3238 Das erstellt Dateien mit der Bezeichnung @file{DATEINAME-SYSTEMNAME.notes} oder
3239 @file{DATEINAME-unnamed-staff.notes} für jedes Notensystem.
3240 Wenn mehrere Systeme ohne Bezeichnung auftreten, werden die
3241 Ereignisse aller Notensysteme zusammen in der selben Datei
3242 gemischt.  Die Ausgabe sieht folgendermaßen aus:
3243
3244 @example
3245 0.000   note     57       4   p-c 2 12
3246 0.000   dynamic  f
3247 0.250   note     62       4   p-c 7 12
3248 0.500   note     66       8   p-c 9 12
3249 0.625   note     69       8   p-c 14 12
3250 0.750   rest     4
3251 0.750   breathe
3252 @end example
3253
3254 Die Syntax ist eine durch Tabulatoren getrennte Zeile mit zwei
3255 festen Zellen, gefolgt von optionalen Parametern.
3256
3257 @example
3258 @var{time}  @var{type}  @var{...params...}
3259 @end example
3260
3261 Diese Information kann einfach ein ein anderes Programm wie
3262 etwa ein Python-Skript eingelsen werden und kann nützlich für
3263 Forscher sein, die musikalische Analyse- oder Wiedergabeexperimente
3264 mit LilyPond machen wollen.
3265
3266 @knownissues
3267
3268 Nicht alle musikalischen Ereignisse werden von
3269 @file{event-listener.ly} unterstützt.  Es handelt sich eher um ein
3270 gut gemachtes @qq{proof of concept}.  Wenn Ereignisse, die Sie
3271 brauchen, nicht in enthalten sind, können Sie @file{event-listener.ly} 
3272 in Ihr LilyPond-Verzeichnis kopieren und die Datei verändern,
3273 sodass sie die benötigte Information ausgibt.