]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/usage/lilypond-book.itely
Imported Upstream version 2.16.0
[lilypond.git] / Documentation / de / usage / lilypond-book.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2
3 @ignore
4     Translation of GIT committish: ebe492ca408fb0d9abf80b94c56197eef8dc2f09
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.16.0"
12
13 @c Translators: Reinhold Kainhofer
14 @c Translation checkers: Till Paala
15
16 @c Note: keep this node named so that `info lilypond-book' brings you here.
17 @node lilypond-book
18 @chapter @command{lilypond-book} aufrufen
19 @translationof lilypond-book
20
21 Wenn Sie in ein Dokument Grafiken Ihres Musiksatzes einfügen möchten, so
22 können Sie genauso vorgehen, wie Sie andere Grafiken einfügen würden: Die
23 Bilder werden getrennt vom Dokument im PostScript- oder PNG-Format erstellt
24 und können dann in @LaTeX{} oder HTML eingefügt werden.
25
26 @command{lilypond-book} automatisiert diesen Prozess: Dieses
27 Programm extrahiert Musik-Schnipsel aus Ihrem Dokument,
28 ruft @command{lilypond} auf und fügt die resultierenden Bilder
29 in Ihr Dokument ein. Die Länge der Zeilen und die Schriftgroße
30 werden dabei Ihrem Dokument angepasst.
31
32 @command{lilypond-book} ist ein eigenständiges Programm und wird
33 üblicherweise von der Kommandozeile aufgerufen. Nähere Informationen
34 hierzu finden sich in @ref{Benutzung auf der Kommandozeile}.  Wenn Sie
35 MacOS oder Windows benutzen und Probleme mit @code{lilypond-book} haben,
36 lesen Sie @rweb{MacOS X} bzw. @rweb{Windows} .
37
38 Dieses Vorgehen kann bei @LaTeX{}, HTML, Texinfo oder DocBook Dokumenten
39 angewendet werden.
40
41 @cindex texinfo
42 @cindex LaTeX
43 @cindex texinfo
44 @cindex texi
45 @cindex HTML
46 @cindex docbook
47 @cindex Dokument, Noten einfügen
48 @cindex HTML, Noten hinzufügen
49 @cindex Texinfo, Noten hinzufügen
50 @cindex DocBook, Noten hinzufügen
51 @cindex LaTeX, Noten in
52
53
54 @menu
55 * Ein musikwissenschaftlicher Text als Beispiel::
56 * Noten in Text integrieren::
57 * Die Musikfragment-Optionen::
58 * lilypond-book aufrufen::
59 * Dateiendungen::
60 * lilypond-book-Vorlagen::
61 * Das Inhaltsverzeichnis flexibel einsetzen::
62 * Alternative Methoden Text und Musik zu kombinieren::
63 @end menu
64
65 @node Ein musikwissenschaftlicher Text als Beispiel
66 @section Ein musikwissenschaftlicher Text als Beispiel
67 @translationof An example of a musicological document
68
69
70 @cindex Musikwissenschaft
71
72 Zahlreiche Texte enthalten Musikbeispiele: musikwissenschaftliche
73 Abhandlungen, Liederbücher oder Handbücher wie dieses. Solche
74 Texte können händisch erzeugt werden, indem einfach die Musikbeispiele
75 als Grafik (PostScript, PNG, GIF, etc.) im Textverarbeitungsprogramm
76 eingefügt werden. Für HTML, @LaTeX{}, Texinfo und DocBook Dokumente
77 existiert jedoch ein Weg, dies automatisiert durchzuführen.
78
79 Das Programm @code{lilypond-book} extrahiert die Musikfragmente aus
80 dem Dokument, formatiert sie automatisiert in eine Grafik und fügt die
81 resultierenden Notenbeispiele dann wieder in das Dokument ein. Dies soll
82 hier an einem einfachen @LaTeX{}-Beispiel verdeutlicht werden. Das Beispiel
83 selbst enthält schon Erklärungen, sodass wir es hier nicht weiter diskutieren
84 müssen.
85
86 @subheading Eingabe
87
88 @quotation
89 @verbatim
90 \documentclass[a4paper]{article}
91
92 \begin{document}
93
94 Dokumente für \verb+lilypond-book+ können Musik und Text nach Belieben
95 kombinieren. Zum Beispiel:
96
97 \begin{lilypond}
98 \relative c' {
99   c2 e2 \times 2/3 { f8 a b } a2 e4
100 }
101 \end{lilypond}
102
103 Optionen für \verb+lilypond+ werden dabei in eckige Klammern gesetzt.
104
105 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
106   c'4 f16
107 \end{lilypond}
108
109 Größere Beispiele können auch in einer eigenständigen Datei gespeichert
110 und dann mit \verb+\lilypondfile+ eingebunden werden.
111
112 \lilypondfile[quote,noindent]{screech-and-boink.ly}
113
114 (Falls nötig kann @file{screech-and-boink.ly} durch eine beliebige andere
115 @file{.ly}-Datei im selben Verzeichnis wie diese Datei ersetzt werden.)
116
117 \end{document}
118 @end verbatim
119 @end quotation
120
121 @subheading Verarbeitung
122
123 Speichern Sie den obigen @LaTeX{}-Quellcode in eine Datei @file{lilybook.lytex}
124 und führen Sie dann in der Kommandozeile folgende Befehle aus:
125
126 @c keep space after @version{} so TeX doesn't choke
127 @example
128 lilypond-book --output=out --pdf lilybook.lytex
129 @emph{lilypond-book (GNU LilyPond) @version{} }
130 @emph{Reading lilybook.lytex...}
131 @emph{..(viele Ausgabezeilen entfernt)..}
132 @emph{Compiling lilybook.tex...}
133 cd out
134 pdflatex lilybook
135 @emph{..(viele Ausgabezeilen entfernt)..}
136 xpdf lilybook
137 @emph{(Ersetzen Sie @command{xpdf} durch Ihren PDF-Betrachter)}
138 @end example
139
140 Die Ausführung von @command{lilypond-book} und @command{latex} erzeugt
141 zahlreiche temporäre Dateien, die das Arbeitsverzeichnis unnötig
142 vollstopfen würden. Daher empfiehlt sich die Benutzung der
143 @option{--output=@var{dir}}-Option, wodurch die Dateien im
144 Unterverzeichnis @file{dir} erzeugt werden.
145
146 Das Endresultat des obigen @LaTeX{}-Beispiels ist im nächsten Abschnitt
147 zu sehen.@footnote{Da dieses Handbuch mit Texinfo erzeugt wurde,
148 kann sich das Aussehen des Beispiels leicht von dem mit @LaTeX{}
149 erzeugten unterscheiden.}
150
151 @page
152
153 @subheading Ausgabe
154
155 Dokumente für @command{lilypond-book} können Musik und Text nach Belieben
156 kombinieren. Zum Beispiel:
157
158 @lilypond
159 \relative c' {
160   c2 e2 \times 2/3 { f8 a b } a2 e4
161 }
162 @end lilypond
163
164 Optionen für @command{lilypond} werden dabei in eckige Klammern gesetzt.
165
166 @lilypond[fragment,quote,staffsize=26,verbatim]
167 c'4 f16
168 @end lilypond
169
170 Größere Beispiele können auch in einer eigenständigen Datei gespeichert
171 und dann mit @code{\lilypondfile} eingebunden werden.
172
173 @lilypondfile[quote,noindent]{screech-and-boink.ly}
174
175 Wenn man eine @code{tagline} (die Zeile unten auf der Seite) braucht
176 (in Standard oder angepasst), dann muss der ganze Schnipsel in eine
177 @code{\book @{ @}}-Umgebung.
178
179 @lilypond[papersize=a8,verbatim]
180 \book{
181   \header{
182     title = "A scale in LilyPond"
183   }
184
185   \relative c' {
186     c d e f g a b c
187   }
188 }
189 @end lilypond
190
191 @page
192
193
194
195 @node Noten in Text integrieren
196 @section Noten in Text integrieren
197 @translationof Integrating music and text
198
199 In diesem Abschnitt soll die Integration von LilyPond mit den
200 verschiedenen Dateiformaten detailliert erläutert werden.
201
202 @menu
203 * LaTeX::
204 * Texinfo::
205 * HTML::
206 * DocBook::
207 @end menu
208
209 @node LaTeX
210 @subsection @LaTeX{}
211 @translationof LaTeX
212
213
214 @LaTeX{} ist der de-facto Standard zur Publikation von wissenschaftlichen Texten
215 in Naturwissenschaft und Technik. Es basiert auf dem Schriftsetzer @TeX{},
216 der die bestmögliche Typographie erzeugt.
217
218 Siehe die @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/german/,
219 @emph{@LaTeX{}2e-Kurzbeschreibung}} für eine Einführung in die
220 Benutzung von @LaTeX{}.
221
222 @code{lilypond-book} stellt folgende Befehle und Umgebungen zu Verfügung,
223 um Noten in @LaTeX{}-Dateien einzufügen:
224
225 @itemize
226
227 @item
228 den @code{\lilypond@{...@}}-Befehl, womit man direkt kurze
229 LilyPond-Codeabschnitte schreiben kann
230
231 @item
232 die @code{\begin@{lilypond@}...\end@{lilypond@}}-Umgebung, mit der
233 man längere LilyPond-Codeabschnitt direkt schreiben kann
234
235 @item
236 den @code{\lilypondfile@{...@}}-Befehl um eine LilyPond-Datei
237 einzufügen
238
239 @item
240 den @code{\musicxmlfile@{...@}}-Befehl um eine MusicXML-Datei
241 einzufügen, die dann von @code{musicxml2ly} und @code{lilypond}
242 bearbeitet wird.
243
244 @end itemize
245
246 In der Eingabedatei werden Noten mit beliebigen der folgenden
247 Befehle angegeben:
248
249 @example
250 \begin@{lilypond@}[Optionen,kommen,hierhin]
251   IHR LILYPOND-QUELLCODE
252 \end@{lilypond@}
253
254 \lilypond[Optionen,kommen,hier]@{ IHR LILYPOND-QUELLCODE @}
255
256 \lilypondfile[Optionen,kommen,hier]@{@var{Dateiname}@}
257
258 \musicxmlfile[Optionen,kommen,hier]@{@var{Dateiname}@}
259 @end example
260
261 @noindent
262 Zusätzlich kann mit @code{\lilypondversion} die benutzte Versionsnummer
263 von LilyPond angezeigt werden.  Der Aufruf von @command{lilypond-book}
264 liefert eine Datei, die dann mit @LaTeX{} weiter verarbeitet werden kann.
265
266 Dies soll hier an einigen Beispielen gezeigt werden. Die @code{lilypond}-Umgebung
267
268 @example
269 \begin@{lilypond@}[quote,fragment,staffsize=26]
270   c' d' e' f' g'2 g'2
271 \end@{lilypond@}
272 @end example
273
274 @noindent
275 erzeugt
276
277 @lilypond[quote,fragment,staffsize=26]
278 c' d' e' f' g'2 g'2
279 @end lilypond
280
281 Die Kurzversion
282
283 @example
284 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
285 @end example
286
287 @noindent
288 erzeugt
289
290 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
291
292 @noindent
293 Innerhalb des @code{\lilypond@{@}} Befehls dürfen keine geschwungenen
294 Klammern @code{@{} oder @code{@}} vorkommen, weshalb dieser Befehl
295 nur mit der @code{fragment}-Option Sinn macht.
296
297 Die Standardzeilenlänge wird bestimmt, indem die Angaben in der Dokumentpräambel,
298 also dem Teil der @LaTeX{} Datei vor dem @code{\begin@{document@}},
299 analysiert werden. Der @command{lilypond-book}-Befehl sendet diese
300 Angaben an @LaTeX{}, um herauszufinden, wie breit der Text tatsächlich
301 ist. Die Breite der Notenzeilen wird dann an diese Textbreite angepasst.
302 Ein derartig heuristischer Algorithmus kann natürlich auch versagen,
303 wobei man in diesem Fall die Breite auch explizit durch die
304 @code{line-width} Option des @code{\lilypond@{@}} oder @code{\begin@{lilypond@}}
305 Befehls angeben kann.
306
307 @cindex Titel und lilypond-book
308 @cindex \header in @LaTeX{}-Dokumenten
309
310 Jedes Musikbeispiele ruft die folgenden Makros auf, wenn sie vom Benutzer
311 definiert wurden:
312
313 @itemize @bullet
314 @item @code{\preLilyPondExample} -- wird vor der Musik aufgerufen,
315
316 @item @code{\postLilyPondExample} -- wird nach der Musik aufgerufen,
317
318 @item @code{\betweenLilyPondSystem[1]} -- wird zwischen den einzelnen
319 Systemen aufgerufen, wenn @code{lilypond-book} das Beispiel in verschiedene
320 PostScript Dateien getrennt hat. Dieser @LaTeX{}-Befehl muss so definiert
321 werden, dass er genau ein Argument erhält, nämlich die Zahl der bereits
322 in @LaTeX{} eingefügten Dateien dieses Beispiels. Als Standard wird einfach
323 ein @code{\linebreak} eingefügt.
324 @end itemize
325
326 @ignore
327 Broken stuff.  :(
328
329 @cindex Latex, Feta Schriftart
330 @cindex fetachar
331
332 Um Zeichen wie Auflösungszeichen, Kreuze, Fermaten etc. aus der Feta-Schriftart
333 von LilyPond in @LaTeX{} einzufügen, muss @code{\input@{titledefs@}} benutzt werden,
334 wodurch dann der Befehl @code{\fetachar} zur Verfügung steht.
335
336 @example
337 \documentclass[a4paper]@{article@}
338
339 \input@{titledefs@}
340
341 \begin@{document@}
342
343 \fetachar\fetasharp
344
345 \end@{document@}
346 @end example
347
348 Die Namen der Symbole sind in der Datei @file{feta20.tex} definiert. Sie finden
349 den Pfad zu dieser Datei mit dem Befehl
350
351 @example
352 kpsewhich feta20.tex
353 @end example
354
355 @end ignore
356
357 @snippets
358
359 Manchmal ist es nötig, Musikelemente wie Halte- oder Bindebögen so darzustellen,
360 als ob sie am Ende des Musikausschnittes noch weitergehen würden. Eine solche
361 Ausgabe kann erreicht werden, indem ein Zeilenumbruch in die Notenzeile
362 eingefügt wird und die Ausgabe der folgenden Notenzeile unterdrückt wird.
363
364 In @LaTeX{} wird dazu der Befehl @code{\betweenLilyPondSystem} einfach derartig
365 programmiert, dass die Ausgabe der einzelnen Notensysteme abgebrochen wird,
366 sobald die gewünschte Anzahl an Systemen erreicht ist. Da
367 @code{\betweenLilyPondSystem} zum ersten Mal nach dem ersten System aufgerufen
368 wird, ist die Ausgabe nur eines Systems trivial.
369
370 @example
371 \def\betweenLilyPondSystem#1@{\endinput@}
372
373 \begin@{lilypond@}[fragment]
374   c'1\( e'( c'~ \break c' d) e f\)
375 \end@{lilypond@}
376 @end example
377
378 Um eine größere Zahl an System nötig, dann muss dementsprechend eine
379 @TeX{}-Bedingung vor dem @code{\endinput} benutzt werden:
380
381 @example
382 \def\betweenLilyPondSystem#1@{
383     \ifnum##1<2\else\endinput\fi
384 @}
385 @end example
386
387 Dieses Beispiel bricht nach genau zwei ausgegebenen Notenzeilen ab.
388 Für eine andere Anzahl braucht nur @q{2} durch die entsprechende
389 Anzahl ersetzt werden.
390
391 Die Definition von @code{\betweenLilyPondSystem} bleibt gültig,
392 bis @TeX{} die aktuelle Umgebung in @LaTeX{} verlässt oder der
393 Befehl durch eine neue Definition überschrieben wird.
394 Dies kann etwa folgendermaßen in der @LaTeX{}-Datei geschehen:
395
396 @example
397 \let\betweenLilyPondSystem\undefined
398 @end example
399
400 Obige Definition von @code{\betweenLilyPondSystem} kann durch die
401 Definition eines @TeX{}-Makros auch verallgemeinert werden,
402
403 @example
404 \def\onlyFirstNSystems#1@{
405     \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@}
406 @}
407 @end example
408
409 @noindent
410 wobei diesem Makro @code{\onlyFirstNSystems} einfach die Anzahl der
411 gewünschten Systeme übergeben wird:
412
413 @example
414 \onlyFirstNSystems@{3@}
415 \begin@{lilypond@}...\end@{lilypond@}
416 \onlyFirstNSystems@{1@}
417 \begin@{lilypond@}...\end@{lilypond@}
418 @end example
419
420 @seealso
421 @command{lilypond-book} stellt auch zahlreiche Kommandozeilen-Optionen zur
422 Verfügung. Für eine Liste dieser Optionen und andere hilfreiche Details zur
423 Verarbeitung von @LaTeX{}-Dokumenten, siehe @ref{lilypond-book aufrufen}.
424
425
426 @node Texinfo
427 @subsection Texinfo
428 @translationof Texinfo
429
430 Texinfo ist das Standard-Dokumentationsformat des GNU Projekts. Ein Beispiel
431 für ein Dokument im Texinfo Format ist dieses Handbuch, wobei die HTML-, PDF- und
432 Info-Versionen alle aus demselben Texinfo Dokument erzeugt werden.
433
434 @code{lilypond-book} stellt die folgenden Befehle und Umgebungen
435 zur Verfügung, im Noten in Texinfo-Dateien einzufügen:
436
437 @itemize
438
439 @item
440 den @code{\lilypond@{...@}}-Befehl, womit man direkt kurze
441 LilyPond-Codeabschnitte schreiben kann
442
443 @item
444 die @code{\begin@{lilypond@}...\end@{lilypond@}}-Umgebung, mit der
445 man längere LilyPond-Codeabschnitt direkt schreiben kann
446
447 @item
448 den @code{\lilypondfile@{...@}}-Befehl um eine LilyPond-Datei
449 einzufügen
450
451 @item
452 den @code{\musicxmlfile@{...@}}-Befehl um eine MusicXML-Datei
453 einzufügen, die dann von @code{musicxml2ly} und @code{lilypond}
454 bearbeitet wird.
455
456 @end itemize
457
458 In der Eingabedatei werden Noten mit folgenden Befehlen eingegeben:
459
460 @example
461 @@lilypond[Optionen,kommen,hier]
462   IHR LILYPOND-QUELLCODE
463 @@end lilypond
464
465 @@lilypond[Optionen,kommen,hier]@{ IHR LILYPOND-QUELLCODE @}
466
467 @@lilypondfile[Optionen,kommen,hier]@{@var{Dateiname}@}
468
469 @@musicxmlfile[Optionen,kommen,hier]@{@var{Dateiname}@}
470
471 @end example
472
473 Zusätzlich kann mit @code{@@lilypondversion} die aktuelle Versionsnummer
474 von LilyPond angezeigt werden.
475
476 Wenn @command{lilypond-book} eine derartige Datei verarbeitet,
477 wird eine Texinfo-Datei mit der Erweiterung @file{.texi} erzeugt,
478 die @code{@@image} Befehle für die Ausgabe nach HTML, Info und PDF
479 enthält. @command{lilypond-book} erzeugt die entsprechenden Grafiken
480 der Musikbeispiele im EPS- und PDF-Format für die Ausgabe nach PDF
481 und im PNG-Format für die Ausgabe nach HTML und Info.
482
483 Hier sollen zwei einfache Beispiele gezeigt werden. Eine @code{lilypond} Umgebung
484
485 @example
486 @@lilypond[fragment]
487 c' d' e' f' g'2 g'
488 @@end lilypond
489 @end example
490
491 @noindent
492 erzeugt
493
494 @lilypond[fragment]
495 c' d' e' f' g'2 g'
496 @end lilypond
497
498 Die Kurzversion
499
500 @example
501 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
502 @end example
503
504 @noindent
505 erzeugt
506
507 @lilypond[fragment,staffsize=11]{<c' e' g'>}
508
509 Im Gegensatz zu @LaTeX{} erzeugt @code{@@lilypond@{...@}} allerdings keine Grafik
510 im Fließtext, sondern setzt sie immer in einen eigenen Absatz.
511
512
513 @node HTML
514 @subsection HTML
515 @translationof HTML
516
517 @code{lilypond-book} stellt folgende Befehle und Umgebungen zur Noteneingabe
518 in HTML-Dateien zur Verfügung:
519
520 @itemize
521
522 @item
523 den @code{<lilypond ... />}-Befehl, womit man direkt kurze
524 LilyPond-Codeabschnitte schreiben kann
525
526 @item
527 die @code{<lilyond>...</lilypond>}-Umgebung, mit der
528 man längere LilyPond-Codeabschnitt direkt schreiben kann
529
530
531 @item
532 den @code{<lilypondfile>...</lilypondfile>}-Befehl um eine LilyPond-Datei
533 einzufügen
534
535 @item
536 den @code{<musicxmlfile>...</musicxmlfile>}-Befehl um eine MusicXML-Datei
537 einzufügen, die dann von @code{musicxml2ly} und @code{lilypond}
538 bearbeitet wird.
539
540 @end itemize
541
542 In der Eingabedatei werden Noten mit folgenden Befehlen eingegeben:
543
544 @example
545 <lilypond Optionen hier>
546   IHR LILYPOND-QUELLCODE
547 </lilypond>
548
549 <lilypond Optionen hier: IHR LILYPOND-QUELLCODE />
550
551 <lilypond-Datei Optionen hier>@var{Dateiname}</lilypondfile>
552
553 <musicxml-Datei Optionen hier>@var{Dateiname}</musicxmlfile>
554 @end example
555
556 Man kann beispielsweise schreiben
557
558 @example
559 <lilypond fragment relative=2>
560 \key c \minor c4 es g2
561 </lilypond>
562 @end example
563
564 @noindent
565 @command{lilypond-book} erzeugt dann daraus eine HTML-Datei mit den entsprechenden
566 @code{<image>} Tags für die Musikbeispiele in jeweils einem eigenen Absatz.
567
568 @lilypond[fragment,relative=2]
569 \key c \minor c4 es g2
570 @end lilypond
571
572 Für Grafiken im Fließtext kann @code{<lilypond ... />} benutzt werden, wobei
573 die Optionen durch einen Doppelpunkt von der Musik getrennt angegeben werden.
574
575 @example
576 Musik <lilypond relative=2: a b c/> in derselben Zeile.
577 @end example
578
579 Um Dateien mit Musik einzubinden, kann folgendermaßen vorgegangen werden:
580
581 @example
582 <lilypondfile @var{Option1} @var{Option2} ...>@var{Dateiname}</lilypondfile>
583 @end example
584
585 @code{<musicxmlfile>} hat die gleiche Syntax wie @code{<lilypondfile>},
586 aber fügt anstelle der LilyPond-Datei eine MusicXML-Datei ein.
587
588 Eine Liste der Optionen, die man mit @code{lilypond} oder @code{lilypondfile}
589 benutzen kann, siehe @ref{Die Musikfragment-Optionen}
590
591 Zusätzlich gibt @code{<lilypondversion/>} die aktuelle Versionsnummer
592 von LilyPond aus.
593
594
595 @node DocBook
596 @subsection DocBook
597 @translationof DocBook
598
599
600 Bei der Einbindung von Musik im LilyPond-Format in DocBook soll die
601 Konformität unseres DocBook Dokuments erhalten bleiben und damit
602 die Bearbeiten mit DocBook-Editoren sowie die Validierung weiter
603 möglich bleiben. Aus diesem Grund werden in DocBook keine eigenen Tags
604 wie in HTML benutzt, sondern die von den vorhandenen DocBook-Elementen
605 vorgegebenen Konventionen entsprechend benützt.
606
607 @subheading Definitionen
608
609 Für die Einbindung von LilyPond Code werden in allen Fällen die
610 @code{mediaobject} und @code{inlinemediaobject} Elemente benutzt,
611 die unsere Beispiele in einem eigenen Absatz oder im Fließtext
612 einfügen. Die Optionen zur Formatierung mit LilyPond werden dabei
613 in der @code{role} Eigenschaft des innersten Elements angegeben,
614 wie im nächsten Abschnitt gezeigt wird. Die DocBook Datei, die
615 dann von @command{lilypond-book} verarbeitet wird, sollte der Klarheit
616 halber die  Dateierweiterung @file{.lyxml} (jedenfalls nicht
617 @file{.xml}) besitzen.
618
619 @subheading Eine LilyPond-Datei einfügen
620
621 Dies ist der einfachste Fall: Die LilyPond-Datei besitzt die Erweiterung
622 @file{.ly} und wird einfach als @code{imageobject} eingebettet:
623
624 @example
625 <mediaobject>
626   <imageobject>
627     <imagedata fileref="music1.ly" role="printfilename" />
628   </imageobject>
629 </mediaobject>
630 @end example
631
632 Für das äußerste Element kann je nach Bedarf @code{mediaobject} oder
633 @code{inlinemediaobject} benutzt werden.
634
635 @subheading LilyPond-Code einfügen
636
637 Die Einbindung von LilyPond-Code direkt in der DocBook-Datei ist
638 durch die Benutzung von @code{programlisting} möglich,
639 wobei die Sprache auf @code{lilypond} gesetzt wird:
640
641 @example
642 <inlinemediaobject>
643   <textobject>
644     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
645 \context Staff \with @{
646   \remove Time_signature_engraver
647   \remove Clef_engraver@}
648   @{ c4( fis) @}
649     </programlisting>
650   </textobject>
651 </inlinemediaobject>
652 @end example
653
654 Das äußerste Element ist also @code{mediaobject} oder
655 @code{inlinemediaobject}, welches ein @code{textobject} mit dem
656 @code{programlisting} enthält.
657
658 @subheading Ein DocBook-Dokument übersetzen
659
660 Der Aufruf von @command{lilypond-book} mit der @file{.lyxml}-Datei
661 erzeugt ein gültiges DocBook-Dokument mit der Erweiterung @file{.xml},
662 welches normal weiterverarbeitet werden kann. Bei Benutzung von
663 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex} wird daraus
664 automatisch eine PDF-Datei erzeugt. Für die Erzeugung von HTML (HTML
665 Hilfe, JavaHelp, etc.) können die offiziellen DocBook XSL-Stylesheets
666 benutzt werden. Eventuell müssen dafür allerdings kleinere Anpassungen
667 vorgenommen werden.
668
669
670 @node Die Musikfragment-Optionen
671 @section Die Musikfragment-Optionen
672 @translationof Music fragment options
673
674 Im Folgenden meint @q{LilyPond-Befehl} einen beliebigen in den vorgehenden
675 Abschnitten beschriebenen Befehl, der ein LilyPond-Fragment in eine Datei
676 einfügt und von @command{lilypond-book} verarbeitet wird. Der Einfachheit
677 halber werden hier alle LilyPond-Befehle in der Syntax von @LaTeX{}
678 dargestellt.
679
680 Zu beachten ist, dass die Optionen eines LilyPond-Befehls von links
681 nach rechts verarbeitet werden. Wenn eine Option also mehrfach angegeben
682 wird, wird nur die letzte benutzt.
683
684 Die folgenden Optionen können für LilyPond-Befehle benutzt werden:
685
686 @table @code
687 @item staffsize=@var{ht}
688 Setzt die Höhe einer Notenzeile auf @var{ht}, angegeben in Punkten.
689
690 @item ragged-right
691 Erzeugt Notenzeilen im Flattersatz mit natürlichem Abstand der Noten. In
692 anderen Worten: @code{ragged-right = ##t} wird in das Musikfragment
693 eingefügt. Einzeilige Fragmentschnipsel werden standardmäßig immer
694 im Flattersatz gesetzt, außer @code{noragged-right} wird explizit
695 angegeben.
696
697 @item noragged-right
698 Streckt Musikfragmente mit nur einer Notenzeile auf die volle Breite,
699 es wird also @code{ragged-right = ##f} in das Musikfragment eingefügt.
700
701 @item line-width
702 @itemx line-width=@var{Breite}\@var{Einheit}
703 Setzt die Breite der Notenzeilen auf @var{Breite}, gemessen in Vielfachen
704 der @var{Einheit}. Als Einheit können die folgenden Zeichenfolgen angegeben
705 werden: @code{cm}, @code{mm}, @code{in} oder @code{pt}. Diese Option hat
706 nur Einfluss auf die Breite von Notenzeilen und Text im Musikfragment, nicht
707 jedoch auf den restlichen Text des Dokuments.
708
709 Wird diese Option ohne einen Wert angegeben, wird die Zeilenbreite auf
710 einen Standardwert gesetzt, der durch einen heuristischen Algorithmus
711 bestimmt wird.
712
713 Wenn die @code{line-width}-Option nicht angegeben wird, versucht
714 @command{lilypond-book} einen geeigneten Standardwert für alle
715 @code{lilypond}-Umgebungen zu finden, die die @code{ragged-right}-Option
716 nicht benutzen.
717
718 @item papersize=@var{Zeichenkette}
719 Wobei @var{Zeichenkette} eine Papiergröße wie definiert in @file{scm/paper.scm}
720 ist, beispielsweise @code{a5}, @code{quarto}, @code{11x17} usw.
721
722 Werte, die nicht in @file{scm/paper.scm} definiert sind, werden ignoriert,
723 eine Warnung wird ausgegeben und das Schnipsel wird mit dem Standardwert
724 @code{a4} ausgegeben.
725
726 @item notime
727 Verhindert die Ausgabe der Taktangabe am Anfang des Fragments und schaltet
728 Taktstriche und alle Taktangaben im Fragment ab.
729
730 @item fragment
731 Bewirkt, dass @command{lilypond-book} Standardcode um das Fragment herum einfügt, sodass z. B.
732
733 @example
734 c'4
735 @end example
736
737 @noindent
738 ohne @code{\layout}, @code{\score}, etc. eingegeben werden kann.
739
740 @item nofragment
741 Verhindert das Einfügen von Standardcode um das Fragment herum. Dies ist
742 die Standardeinstellung, insofern ist diese Option im Normalfall unnötig.
743
744 @item indent=@var{Einzug}\@var{Einheit}
745 Setzt den Einzug des ersten Notensystems auf @var{Einzug}, gemessen in
746 Vielfachen der @var{Einheit}. Als Einheit können die folgenden Zeichenfolgen
747 angegeben werden: @code{cm}, @code{mm}, @code{in} oder @code{pt}. Diese
748 Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im
749 Musikfragment, nicht jedoch auf den restlichen Text des Dokuments.
750
751 @item noindent
752 Setzt den Einzug des ersten Notensystems auf 0. Diese
753 Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im
754 Musikfragment, nicht jedoch auf den restlichen Text des Dokuments. Dies
755 ist die Standardeinstellung, insofern ist diese Option im Normalfall
756 unnötig.
757
758 @item quote
759 Verringert die Zeilenlänge des Musikfragments um @math{2*0.4}@dmn{in}
760 und setzt das Fragment in einen Zitat-Block. Der Wert von @q{0.4@dmn{in}}
761 kann durch die @code{exampleindent} Option angepasst werden.
762
763 @item exampleindent
764 Setzt den Betrag, um den das Fragment bei Benutzung der @code{quote}
765 Option eingerückt wird.
766
767 @item relative
768 @itemx relative=@var{n}
769 Benutzt relative Oktavenbezeichnungen. Standardmäßig werden Noten relativ
770 zum mittleren C angegeben. Das optionale ganzzahlige Argument
771 gibt die Oktave der ersten Note an, wobei die Standardeinstellung von
772 @code{1} das mittlere C bedeutet. Die @code{relative} Option macht nur
773 Sinn in Verbindung mit der @code{fragment} Option, weshalb @code{fragment}
774 automatisch durch die Angabe der @code{relative} Option impliziert wird.
775 Eine explizite Angabe der @code{(no)fragment} Option hat keinen Effekt.
776 @end table
777
778
779 LilyPond benutzt zur Erzeugung seiner eigenen Dokumentation ebenfalls
780 @command{lilypond-book}. Zu diesem Zweck stehen noch zahlreiche
781 spezialisierte Optionen zur Verfügung:
782
783 @table @code
784 @item verbatim
785 Der LilyPond-Code im LilyPond-Kommando wird zum einen benutzt, um das
786 Musikfragment in eine Grafik mit schönem Notensatz zu konvertieren,
787 andererseits aber auch wörtlich in das Dokument eingefügt. Dies
788 geschieht in einem @q{verbatim}-Block, gefolgt vom Text einer
789 möglicherweise angegebenen @code{intertext} Option@footnote{Die
790 @code{intertext} Option ist noch nicht implementiert.} und der
791 Grafik des tatsächlichen Notensatzes. Diese Option funktioniert nur
792 fehlerhaft, wenn @code{\lilypond@{@}} im Fließtext benutzt wird.
793
794 Wird @code{verbatim} in Verbindung mit einem @code{lilypondfile}-Kommando
795 benutzt, so ist es auch möglich, nur ein Teil der Datei wörtlich einfügen
796 zu lassen: Wenn die eingebundene LilyPond-Datei ein Kommentar mit dem Inhalt
797 @samp{begin verbatim} (ohne Anführungszeichen) enthält, wird nur der
798 Dateiinhalt ab dieser Position eingefügt. Enthält die Datei mehrere
799 solche Kommentare, wirkt nur das letzte. Analog wird nur der Dateiinhalt
800 bis zu einem etwaigen Kommentar mit dem Inhalt @samp{end verbatim}
801 eingefügt. Im folgenden Beispiel wird das gesamte Musik für die
802 Erzeugung der Grafik im relativen Oktavenmodus interpretiert, der
803 wörtlich in das Dokument kopierte LilyPond-Code zeigt den @code{relative}-Befehl jedoch nicht.
804
805 @example
806 \relative c' @{ % begin verbatim
807   c4 e2 g4
808   f2 e % end verbatim
809 @}
810 @end example
811
812 @noindent
813 erzeugt ein Zitat der Form
814
815 @example
816   c4 e2 g4
817   f2 e
818 @end example
819
820 @noindent
821 Wenn Kommentare und Variablen im Zitat, aber nicht im Quelltext
822 übersetzt werden sollen, kann die Umgebungsvariable @code{LYDOC_LOCALEDIR}
823 auf einen Verzeichnispfad gesetzt werden.  Das Verzeichnis sollte
824 einen Baum an @file{.mo}-Nachrichtenkatalogen beinhalten mit
825 @code{lilypond-doc} als Domain.
826
827 @item addversion
828 (Nur innerhalb von Texinfo-Dateien.) Stellt @code{\version
829 @@w@{"@@version@{@}"@}} an den Beginn des Fragments der Ausgabe mit
830 @code{verbatim}.
831
832 @item texidoc
833 (Nur innerhalb von Texinfo-Dateien.) Wird @command{lilypond} mit der
834 Kommandozeilenoption @option{--header=@/texidoc} für eine Datei
835 @file{foo.ly} und enthält die Datei ein @code{texidoc}-Feld im
836 @code{\header}-Block, so wird dessen Inhalt in die Datei
837 @file{foo.texidoc} ausgegeben. Die @code{texidoc} Option veranlasst
838 @code{lilypond-book}, den Inhalt dieser @file{.texidoc} Dateien innerhalb
839 eines Dokumentationsblocks direkt vor dem Musikfragment in das aktuelle
840 Dokument einzufügen (aber außerhalb der @code{example}-Umgebung, die durch
841 die Option @code{quote} hervorgerufen wird).
842
843 Enthält also die Datei @file{foo.ly} etwa den LilyPond-Code
844
845 @example
846 \header @{
847   texidoc = "Dieses Beispiel zeigt eine einzelne Note."
848 @}
849 @{ c'4 @}
850 @end example
851
852 @noindent
853 und das Texinfo-Dokument @file{text.texinfo}
854
855 @example
856 @@lilypondfile[texidoc]@{foo.ly@}
857 @end example
858
859 @noindent
860 so liefert der folgende Aufruf von @code{lilypond-book} das gewünschte
861 Ergebnis:
862
863 @example
864 lilypond-book --pdf --process="lilypond \
865   -dbackend=eps --header=texidoc" test.texinfo
866 @end example
867
868 Die meisten Test-Dateien (im @file{input/} Verzeichnis von LilyPond)
869 sind kleine @file{.ly} Dateien von genau dieser Form.
870
871 Auch die Übersetzung dieser zusätzlichen Kommentare ist möglich:
872 Dazu muss das Texinfo-Dokument den Befehl @code{@@documentlanguage @var{LANG}}
873 und der @code{\header} Block in der Datei @file{foo.ly}
874 die Übersetzung im Feld @code{texidoc@var{LANG}} enthalten. Wird nun
875 @command{lilypond} mit der Option @option{--header=@/texidoc@var{LANG}}
876 aufgerufen, so wird der Inhalt der Datei @file{foo.texidoc@var{LANG}}
877 anstelle von @file{foo.texidoc} eingefügt.
878
879 @item doctitle
880 (Nur innerhalb von Texinfo-Dateien.) Diese Option wirkt ähnlich wie die
881 @code{texidoc} Option: Wenn @command{lilypond} mit der Option
882 @option{--header=@/doctitle} aufgerufen wird und die Eingabedatei
883 @file{foo.ly} ein Feld @code{doctitle} im @code{\header}-Block enthält,
884 wird dessen Wert in die Datei @file{foo.doctitle} geschrieben. Wird die
885 @code{doctitle} Option für ein Musikfragment benutzt, so wird der Inhalt
886 dieser Datei, der eine einzelne Textzeile sein sollte, im Texinfo-Dokument
887 als @code{@@lydoctitle @var{Text}} eingefügt. @code{@@lydoctitle} muss
888 allerdings in Ihrem Texinfo-Dokument als Makro selbst definiert werden.
889 Die Übersetzung funktioniert völlig analog zu @code{texidoc}.
890
891 @item nogettext
892 Nur für Texinfo-Ausgabe: Kommentare und Variablenbezeichnungen im
893 zitierten Quelltext des Schnipsel werden nicht übersetzt.
894
895 @item printfilename
896 Wenn eine LilyPond-Datei mittels @code{\lilypondfile} und dieser Option
897 eingebunden wird, wird der Dateiname (ohne die Pfadangabe) unmittelbar vor
898 dem Musikfragment ausgegeben. In HTML-Dateien ist er außerdem ein Link
899 auf die LilyPond-Datei.  Nur der eigentliche Name der Datei wird
900 ausgegeben, der Pfad wird also nicht mit angezeigt.
901
902 @end table
903
904
905 @node lilypond-book aufrufen
906 @section @command{lilypond-book} aufrufen
907 @translationof Invoking lilypond-book
908
909 @command{lilypond-book} erzeugt abhängig vom Ausgabeformat eine Datei mit
910 einer der folgenden Dateierweiterungen: @file{.tex}, @file{.texi},
911 @file{.html} oder @file{.xml}. Alle @file{.tex}, @file{.texi} und
912 @file{.xml} Dateien müssen noch mit den entsprechenden Programmen (@LaTeX{},
913 DocBook, etc.) weiter verarbeitet werden, um druckfähige Dateien zu erhalten.
914
915
916 @subheading Formatabhängige Anweisungen
917
918 @subsubheading @LaTeX{}
919
920 Es existieren zwei Methoden, Ihr @LaTeX{}-Dokument weiter zu verarbeiten,
921 um zu einer druck- oder publikationsfähigen Datei zu gelangen:
922 Zum einen die direkte Erzeugung einer PDF-Datei mit PDF@LaTeX{}, zum
923 anderen die Erzeugung einer DVI daraus einer PostScript-Datei mittels
924 @LaTeX{} und einem DVI-nach-PostScript Konverters wie @command{dvips}.
925 Die erste Methode ist einfacher und daher empfehlenswert.@footnote{Manchmal
926 kann eine Datei entweder von PDF@LaTeX{} oder von @LaTeX{} nicht korrekt
927 verarbeitet werden, weshalb hier beide Methoden beschrieben werden.} Welche
928 Methode auch immer benutzt wird, die Konvertierung zwischen PostScript und
929 PDF kann leicht mit Hilfsprogrammen wie @command{ps2pdf} und @command{pdf2ps}
930 (aus dem Ghostscript-Paket) erfolgen.
931
932 Um eine PDF-Datei mittels PDF@LaTeX{} zu erzeugen, kann folgendermaßen
933 vorgegangen werden:
934
935 @example
936 lilypond-book --pdf Ihre_Datei.pdftex
937 pdflatex Ihre_Datei.tex
938 @end example
939
940 @cindex Konturschriften
941 @cindex Type1 Schriften
942 @cindex dvips
943 @cindex Aufruf von dvips
944
945 Um eine PDF-Datei mittels @LaTeX{}/@command{dvips}/@command{ps2pdf} zu
946 erhalten, sind folgende Befehle nötig:
947
948 @example
949 lilypond-book Ihre_Datei.lytex
950 latex Ihre_Datei.tex
951 dvips -Ppdf Ihre_Datei.dvi
952 ps2pdf Ihre_Datei.ps
953 @end example
954
955 @noindent
956 Die @file{.dvi}-Datei, die beim Aufruf von @command{latex} erzeugt wird,
957 scheint keine Notenköpfe zu enthalten, was in Ordnung ist. Wenn Sie die
958 Datei wie beschrieben weiter verarbeiten, erscheinen die Notenköpfe korrekt
959 in den @file{.ps} und @file{.pdf} Dateien.
960
961 Der Aufruf von @command{dvips} kann einige Warnungen über fehlende
962 Schriftarten ausgeben. Auch dies ist in Ordnung und kann ignoriert werden.
963
964 Wenn Sie in der @LaTeX{}-Datei das Papierformat auf Querformat eingestellt
965 haben, vergessen Sie nicht die @option{-t landscape}-Option beim
966 Aufruf von @command{dvips}.
967
968 @knownissues
969 Der Befehl @code{\pageBreak} funktioniert nicht innerhalb einer
970 @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}-Umgebung.
971
972 Auch viele Variablen der @code{\paper}-Umgebung funktionieren nicht
973 innerhalb einer @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}-Umgebung.
974 Benutzen Sie @code{\newcommand} mit @code{\betweenLilyPondSystem}:
975
976 @example
977 \newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
978 @end example
979
980
981 @subsubheading Texinfo
982
983 Um ein von @command{lilypond-book} erzeugtes Texinfo-Dokument zu
984 verarbeiten, gehen Sie wie für alle anderen Texinfo-Dokumente vor:
985 Rufen Sie -- abhängig vom gewünschten Ausgabeformat -- eines der Programme
986 @command{texi2pdf}, @command{texi2dvi}, @command{makeinfo} oder
987 @command{texi2html} auf.
988
989 @ifinfo
990 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, und @ref{Creating an Info File, , , texinfo, GNU Texinfo}.
991 @end ifinfo
992 @ifnotinfo
993 Die Dokumentation von Texinfo liefert dazu nähere Informationen.
994 @end ifnotinfo
995
996
997 @subheading Optionen auf der Kommandozeile
998
999 @command{lilypond-book} unterstützt die folgenden Kommandozeilenoptionen:
1000
1001 @table @code
1002 @item -f @var{Format}
1003 @itemx --format=@var{Format}
1004 Gibt das Format des Eingabedokuments an: @code{html}, @code{latex},
1005 @code{texi} (Standardeinstellung), @code{texi-html} oder @code{docbook}.
1006 Ist diese Option nicht angegeben, versucht @command{lilypond-book} das
1007 Format anhand des Dateinamens zu bestimmen. Im Moment bedeutet @code{texi}
1008 praktisch dasselbe wie @code{texi-html}.
1009
1010 @c This complicated detail is not implemented, comment it out -jm
1011 @ignore
1012 The @code{texi} document type produces a Texinfo file with music
1013 fragments in the printed output only.  For getting images in the HTML
1014 version, the format @code{texi-html} must be used instead.
1015 @end ignore
1016
1017 @item -F @var{Filter}
1018 @itemx --filter=@var{Filter}
1019 Leitet die Musikfragmente durch das Programm @var{filter} anstatt sie
1020 mit Lilypond zu einer Grafik zu verarbeiten. @option{--filter} und
1021 @option{--process} kann nicht gleichzeitig benutzt werden. Beispielaufruf:
1022
1023 @example
1024 lilypond-book --filter='convert-ly --from=2.0.0 -' Mein-Buch.tely
1025 @end example
1026
1027 @item -h
1028 @itemx --help
1029 Gibt eine kurze Hilfemeldung aus.
1030
1031 @item -I @var{Pfad}
1032 @itemx --include=@var{Pfad}
1033 Fügt @var{Pfad} zu den Include-Pfaden hinzu. @command{lilypond-book} sucht
1034 auch in allen Include-Pfaden nach bereits erstellten Grafiken für die
1035 Musikfragmente. Wird das aktuelle Fragment gefunden und hat sich seit der
1036 letzten Erstellung nicht geändert, wird es nicht erneut erzeugt. Bei manchen
1037 der Programme zur Weiterverarbeitung wie etwa @command{makeinfo} oder
1038 @command{latex} muss dieselbe @option{-I @var{Pfad}} Option angegeben werden,
1039 damit das entsprechende Programm die Grafiken ebenso findet.
1040
1041 @item -l @var{Logstufe}
1042 @itemx --loglevel=@var{Logstufe}
1043 Passt die Ausführlichkeit der Ausgabe entsprechend @var{Logstufe} an.
1044 Mögliche Werte sind @code{NONE}, @code{ERROR}, @code{WARNING},
1045 @code{PROGRESS} (Standard) und @code{DEBUG}.  Wenn diese Option nicht
1046 genutzt wird und die Umgebungsvariable @code{LILYPOND_BOOK_LOGLEVEL}
1047 definiert ist, wird ihr Wert als Logstufe eingesetzt.
1048
1049 @item -o @var{Verzeichnis}
1050 @itemx --output=@var{Verzeichnis}
1051 Erzeugt die Ausgabedateien in @var{Verzeichnis}. Der Aufruf von
1052 @command{lilypond-book} erzeugt zahlreiche kleine Dateien, die von
1053 LilyPond, @command{latex}, @command{makeinfo} etc. dann weiter benützt
1054 werden. Um zu vermeiden, dass das Quellenverzeichnis durch diese
1055 Dateien unübersichtlich wird, kann die @option{--output} Option benutzt
1056 werden. Vor dem Aufruf von @command{latex} oder @command{makeinfo}
1057 sollten Sie in dieses Verzeichnis wechseln.
1058
1059 @example
1060 lilypond-book --output=out IhreDatei.lytex
1061 cd out
1062 ...
1063 @end example
1064
1065 @itemx --skip-lily-check
1066 Nicht mit einer Fehlermeldung abbrechen, wenn keine Ausgabe von LilyPond
1067 gefunden wird. Dies wird benutzt für Dokumentation ohne Grafiken.
1068
1069 @itemx --skip-png-check
1070 Nicht mit einer Fehlermeldung abbrechen, wenn für die EPS-Dateien keine
1071 PNG-Grafiken gefunden werden. Dies wird benutzt für Dokumentation ohne
1072 Grafiken.
1073
1074 @itemx --lily-output-dir=@var{Verzeichnis}
1075 Schreibt @file{lily-XXX} Dateien nach @var{Verzeichnis} und erzeugt
1076 im mit @option{--output} angegebenen Verzeichnis Verknüpfungen darauf.
1077 Diese Option ist nützlich, um Zeit zu sparen, wenn Dokumente in
1078 verschiedenen Verzeichnissen viele identische Musikfragmente
1079 enthalten.
1080
1081 @itemx --lily-loglevel=@var{Logstufe}
1082 Passt die Ausführlichkeit der Ausgabe entsprechend @var{Logstufe} an.
1083 Mögliche Werte sind @code{NONE}, @code{ERROR}, @code{WARNING},
1084 @code{PROGRESS} (Standard) und @code{DEBUG}.  Wenn diese Option nicht
1085 genutzt wird und die Umgebungsvariable @code{LILYPOND_LOGLEVEL}
1086 definiert ist, wird ihr Wert als Logstufe eingesetzt.
1087
1088 @itemx --info-images-dir=@var{Verzeichnis}
1089 Formatiert die Texinfo-Ausgabe dergestalt, dass Info in @var{Verzeichnis}
1090 nach den Grafiken zu den Musikfragmenten sucht.
1091
1092 @itemx --latex-program=@var{Programm}
1093 Führt @command{Programm} anstelle von @command{latex} aus. Dies ist
1094 nützlichen, wenn das Dokument mit einer anderen @LaTeX{}-Variante
1095 wie etwa @command{xelatex} verarbeitet werden soll.
1096
1097 @itemx --left-padding=@var{Einrückung}
1098 Fügt @var{Einrückung} als zusätzlichen Einzug in die EPS-Box ein.
1099 @var{Einrückung} wird in Millimetern angegeben, die Standardeinstellung
1100 ist 3.0 Millimeter. Diese Option kann benutzt werden, wenn die Notenzeilen
1101 über den Rand des Dokuments hinausstehen.
1102
1103 Die Breite eines eng ausgeschnittenen Notensystems kann variieren
1104 aufgrund von Notationselementen, die über den linken Rand hinausstehen,
1105 wie etwa Taktzahlen und Bezeichnungen der Instrumente. Diese Option
1106 verkürzt die Notenzeile und verschiebt sie um denselben Betrag nach
1107 rechts.
1108
1109 @item -P @var{Befehl}
1110 @itemx --process=@var{Befehl}
1111 Verarbeitet LilyPond-Fragmente mit @var{Befehl} anstelle des
1112 Standardbefehls @code{lilypond}. @option{--filter} und @option{--process}
1113 können mit @code{lilypond-book} nicht gleichzeitig benutzt werden.
1114
1115 @item --pdf
1116 Erzeugt PDF-Dateien mit PDF@LaTeX{}.
1117
1118 @item --redirect-lilypond-output
1119 Standardmäßig wird die Ausgabe auf der Kommandozeile ausgegeben.
1120 Diese Option leitet die Ausgabe in eine Log-Datei im selben Verzeichnis
1121 wie die Quelldatei um.
1122
1123 @itemx --use-source-file-names
1124 Schreibe Schnipsel-Ausgabedateien mit den gleichen Basisnamen wie die
1125 Quelldateien.  Diese Option funktioniert mit Schnipseln, die mit
1126 @code{lilypondfile} eingfügt wurden und auch nur, wenn die Verzeichnisse
1127 @option{--output-dir} und @option{--lily-output-dir} unterschiedlich sind.
1128
1129 @item -V
1130 @itemx --verbose
1131 Gibt ausführliche informative Meldungen aus.  Äquivalent zu @option{--loglevel=DEBUG}.
1132
1133 @item -v
1134 @itemx --version
1135 Gibt die Versionsnummer aus.
1136 @end table
1137
1138 @knownissues
1139
1140 Der Texinfo-Befehl @code{@@pagesizes} wird ignoriert. Ebenso werden
1141 @LaTeX{}-Befehle ignoriert, die den Seitenrand oder die Zeilenlänge
1142 nach der Dokumentpräambel verändern.
1143
1144 Nur der erste @code{\score}-Block eines LilyPond-Fragments wird verarbeitet.
1145
1146
1147 @node Dateiendungen
1148 @section Dateiendungen
1149 @translationof Filename extensions
1150
1151 Für die Eingabedatei kann zwar jede beliebige Dateinamenserweiterung benutzt
1152 werden, allerdings muss bei Verwendung einer nicht bekannten Erweiterung
1153 das Ausgabeformat explizit an @command{lilypond-book} angegeben werden.
1154 Details dazu finden sich im Abschnitt @ref{lilypond-book aufrufen}.
1155 Wird eine bekannte Erweiterung benutzt, wählt @command{lilypond-book}
1156 automatisch das richtige Ausgabeformat basierend auf der Erweiterung der
1157 Eingabedatei:
1158
1159 @quotation
1160 @multitable @columnfractions .2 .5
1161 @item @strong{Erweiterung} @tab @strong{Ausgabeformat}
1162 @item
1163 @item @file{.html} @tab HTML
1164 @item @file{.itely} @tab Texinfo
1165 @item @file{.latex} @tab @LaTeX{}
1166 @item @file{.lytex} @tab @LaTeX{}
1167 @item @file{.lyxml} @tab DocBook
1168 @item @file{.tely} @tab Texinfo
1169 @item @file{.tex} @tab @LaTeX{}
1170 @item @file{.texi} @tab Texinfo
1171 @item @file{.texinfo} @tab Texinfo
1172 @item @file{.xml} @tab HTML
1173 @end multitable
1174 @end quotation
1175
1176 Wird dieselbe Erweiterung für die Eingabedatei wie für die Ausgabedatei
1177 benutzt und befindet sich die Eingabedatei im aktuellen Arbeitsverzeichnis
1178 von @command{lilypond-book}, muss die @option{--output} Option für
1179 @command{lilypond-book} benutzt werden. Anderenfalls würde
1180 @command{lilypond-book} ja die Eingabedatei überschreiben, weshalb das
1181 Programm in diesem Fall mit einer Fehlermeldung wie @qq{Fehler: Ausgabe
1182 würde Eingabedatei überschreiben; verwenden Sie --output.} abbricht.
1183
1184
1185 @node lilypond-book-Vorlagen
1186 @section @command{lilypond-book}-Vorlagen
1187 @translationof lilypond-book templates
1188
1189 Diese Vorlagen sollen mit @code{lilypond-book} benutzt werden.  Wenn Sie sich
1190 mit dem Programm nicht auskennen, lesen Sie bitte
1191 @ref{lilypond-book}.
1192
1193 @subsection LaTeX
1194
1195 Sie können LilyPond-Fragmente in ein LaTeX-Dokument einfügen:
1196
1197 @example
1198 \documentclass[]@{article@}
1199
1200 \begin@{document@}
1201
1202 Normaler LaTeX-Text.
1203
1204 \begin@{lilypond@}
1205 \relative c'' @{
1206   a4 b c d
1207 @}
1208 \end@{lilypond@}
1209
1210 Weiterer LaTeX-Text und Optionen in eckigen Klammern.
1211
1212 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1213 d4 c b a
1214 \end@{lilypond@}
1215 \end@{document@}
1216 @end example
1217
1218 @subsection Texinfo
1219
1220 LilyPond-Fragmente können in Texinfo-Dokumente eingefügt werden: dieses gesamte
1221 Handbuch wurde in Texinfo geschrieben.
1222
1223 @example
1224 \input texinfo @c -*-texinfo-*-
1225 @@node Top
1226 @@top
1227
1228 Texinfo-Text
1229
1230 @@lilypond
1231 \relative c' @{
1232   a4 b c d
1233 @}
1234 @@end lilypond
1235
1236 Weiterer Texinfo-Text und Optionen in Klammern.
1237
1238 @@lilypond[verbatim,fragment,ragged-right]
1239 d4 c b a
1240 @@end lilypond
1241
1242 @@bye
1243 @end example
1244
1245
1246 @subsection html
1247
1248 @example
1249 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1250 <!-- header_tag -->
1251 <HTML>
1252 <body>
1253
1254 <p>
1255 Dokumente für lilypond-book können Noten und Text frei kombinieren. Zum
1256 Beispiel
1257 <lilypond>
1258 \relative c'' @{
1259   a4 b c d
1260 @}
1261 </lilypond>
1262 </p>
1263
1264 <p>
1265 Noch etwas LilyPond, mit Optionen:
1266
1267 <lilypond fragment quote staffsize=26 verbatim>
1268 a4 b c d
1269 </lilypond>
1270 </p>
1271
1272 </body>
1273 </html>
1274
1275
1276 @end example
1277
1278 @subsection xelatex
1279
1280 @verbatim
1281 \documentclass{article}
1282 \usepackage{ifxetex}
1283 \ifxetex
1284 %xetex specific stuff
1285 \usepackage{xunicode,fontspec,xltxtra}
1286 \setmainfont[Numbers=OldStyle]{Times New Roman}
1287 \setsansfont{Arial}
1288 \else
1289 %This can be empty if you are not going to use pdftex
1290 \usepackage[T1]{fontenc}
1291 \usepackage[utf8]{inputenc}
1292 \usepackage{mathptmx}%Times
1293 \usepackage{helvet}%Helvetica
1294 \fi
1295 %Here you can insert all packages that pdftex also understands
1296 \usepackage[ngerman,finnish,english]{babel}
1297 \usepackage{graphicx}
1298
1299 \begin{document}
1300 \title{A short document with LilyPond and xelatex}
1301 \maketitle
1302
1303 Normal \textbf{font} commands inside the \emph{text} work,
1304 because they \textsf{are supported by \LaTeX{} and XeteX.}
1305 If you want to use specific commands like \verb+\XeTeX+, you
1306 should include them again in a \verb+\ifxetex+ environment.
1307 You can use this to print the \ifxetex \XeTeX{} command \else
1308 XeTeX command \fi which is not known to normal \LaTeX .
1309
1310 In normal text you can easily use LilyPond commands, like this:
1311
1312 \begin{lilypond}
1313 {a2 b c'8 c' c' c'}
1314 \end{lilypond}
1315
1316 \noindent
1317 and so on.
1318
1319 The fonts of snippets set with LilyPond will have to be set from
1320 inside
1321 of the snippet. For this you should read the AU on how to use
1322 lilypond-book.
1323 \end{document}
1324 @end verbatim
1325
1326
1327 @node Das Inhaltsverzeichnis flexibel einsetzen
1328 @section Das Inhaltsverzeichnis flexibel einsetzen
1329 @translationof Sharing the table of contents
1330
1331 Diese Funktionen existieren schon im OrchestraLily-Paket:
1332
1333 @example
1334 @url{http://repo.or.cz/w/orchestrallily.git}
1335 @end example
1336
1337 Um den Text flexibler behandeln zu können, bevorzugen manche Benutzer es,
1338 das Inhaltsverzeichnis aus LilyPond zu exportieren und dann mit
1339 @LaTeX{} einzulesen.
1340
1341 @subsubheading Das Inhaltsverzeichnis (ToC) aus LilyPond exportieren
1342
1343 Hier wird angenommen, dass in Ihrer Partitur mehrere Sätze vorkommen, die
1344 sich alle in der selben LilyPond-Datei befinden.
1345
1346 @smallexample
1347 #(define (oly:create-toc-file layout pages)
1348   (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1349     (if (not (null? label-table))
1350       (let* ((format-line (lambda (toc-item)
1351              (let* ((label (car toc-item))
1352                     (text  (caddr toc-item))
1353                     (label-page (and (list? label-table)
1354                                      (assoc label label-table)))
1355                     (page (and label-page (cdr label-page))))
1356                (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1357              (formatted-toc-items (map format-line (toc-items)))
1358              (whole-string (string-join formatted-toc-items ",\n"))
1359              (output-name (ly:parser-output-name parser))
1360              (outfilename (format "~a.toc" output-name))
1361              (outfile (open-output-file outfilename)))
1362         (if (output-port? outfile)
1363             (display whole-string outfile)
1364             (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1365         (close-output-port outfile)))))
1366
1367 \paper @{
1368   #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1369 @}
1370 @end smallexample
1371
1372 @subsubheading Das Inhaltsverzeichnis in LaTeX importieren
1373
1374 In der LaTeX-Datei sollte folgendes enthalten:
1375
1376 @c no, this doesn't require the smallexample, but since the other
1377 @c two blocks on this page use it, I figured I might as well
1378 @c user it here as well, for consistency. -gp
1379 @smallexample
1380 \usepackage@{pdfpages@}
1381 \includescore@{nameofthescore@}
1382 @end smallexample
1383
1384 @noindent
1385 wobei @code{\includescore} wiefolgt definiert ist:
1386
1387 @smallexample
1388 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1389 % \includescore@{PossibleExtension@}
1390 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1391
1392 % Read in the TOC entries for a PDF file from the corresponding .toc file.
1393 % This requires some heave latex tweaking, since reading in things from a file
1394 % and inserting it into the arguments of a macro is not (easily) possible
1395
1396 % Solution by Patrick Fimml on #latex on April 18, 2009:
1397 % \readfile@{filename@}@{\variable@}
1398 % reads in the contents of the file into \variable (undefined if file
1399 % doesn't exist)
1400 \newread\readfile@@f
1401 \def\readfile@@line#1@{%
1402 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1403 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1404 \ifeof\readfile@@f\else%
1405 \readfile@@line@{#1@}%
1406 \fi%
1407 @}
1408 \def\readfile#1#2@{%
1409 \openin\readfile@@f=#1 %
1410 \ifeof\readfile@@f%
1411 \typeout@{No TOC file #1 available!@}%
1412 \else%
1413 \gdef#2@{@}%
1414 \readfile@@line@{#2@}%
1415 \fi
1416 \closein\readfile@@f%
1417 @}%
1418
1419
1420 \newcommand@{\includescore@}[1]@{
1421 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1422 \let\oly@@addtotoc\undefined
1423 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1424 \ifx\oly@@addtotoc\undefined
1425 \includepdf[pages=-]@{\oly@@fname@}
1426 \else
1427 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1428 @{\oly@@fname@}@}\includeit
1429 \fi
1430 @}
1431 @end smallexample
1432
1433
1434 @node Alternative Methoden Text und Musik zu kombinieren
1435 @section Alternative Methoden Text und Musik zu kombinieren
1436 @translationof Alternate methods of mixing text and music
1437
1438 Andere Methoden, Text und Noten miteinander zu kombinieren (ohne
1439 @command{lilypond-book} zu benutzen) werden beschrieben in
1440 @ref{LilyPond-Ausgabe in anderen Programmen}.