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