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