]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/de/usage/lilypond-book.itely
aad3a2c4b885d79b6091e2bb4fe484d89b26819e
[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: 0764a50d470cab82ca29da30298dacd333d3da12
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
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 Eine Liste der Optionen, die man mit @code{lilypond} oder @code{lilypondfile}
498 benutzen kann, siehe @ref{Die Musikfragment-Optionen}
499
500 Zusätzlich gibt @code{<lilypondversion/>} die aktuelle Versionsnummer
501 von LilyPond aus.
502
503
504 @node DocBook
505 @subsection DocBook
506 @translationof DocBook
507
508
509 Bei der Einbindung von Musik im LilyPond-Format in DocBook soll die
510 Konformität unseres DocBook Dokuments erhalten bleiben und damit
511 die Bearbeiten mit DocBook-Editoren sowie die Validierung weiter
512 möglich bleiben. Aus diesem Grund werden in DocBook keine eigenen Tags
513 wie in HTML benutzt, sondern die von den vorhandenen DocBook-Elementen
514 vorgegebenen Konventionen entsprechend benützt.
515
516 @subheading Definitionen
517
518 Für die Einbindung von LilyPond Code werden in allen Fällen die
519 @code{mediaobject} und @code{inlinemediaobject} Elemente benutzt,
520 die unsere Beispiele in einem eigenen Absatz oder im Fließtext
521 einfügen. Die Optionen zur Formatierung mit LilyPond werden dabei
522 in der @code{role} Eigenschaft des innersten Elements angegeben,
523 wie im nächsten Abschnitt gezeigt wird. Die DocBook Datei, die
524 dann von @command{lilypond-book} verarbeitet wird, sollte der Klarheit
525 halber die  Dateierweiterung @file{.lyxml} (jedenfalls nicht
526 @file{.xml}) besitzen.
527
528 @subheading Eine LilyPond-Datei einfügen
529
530 Dies ist der einfachste Fall: Die LilyPond-Datei besitzt die Erweiterung
531 @file{.ly} und wird einfach als @code{imageobject} eingebettet:
532
533 @example
534 <mediaobject>
535   <imageobject>
536     <imagedata fileref="music1.ly" role="printfilename" />
537   </imageobject>
538 </mediaobject>
539 @end example
540
541 Für das äußerste Element kann je nach Bedarf @code{mediaobject} oder
542 @code{inlinemediaobject} benutzt werden.
543
544 @subheading LilyPond-Code einfügen
545
546 Die Einbindung von LilyPond-Code direkt in der DocBook-Datei ist
547 durch die Benutzung von @code{programlisting} möglich,
548 wobei die Sprache auf @code{lilypond} gesetzt wird:
549
550 @example
551 <inlinemediaobject>
552   <textobject>
553     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
554 \context Staff \with @{
555   \remove Time_signature_engraver
556   \remove Clef_engraver@}
557   @{ c4( fis) @}
558     </programlisting>
559   </textobject>
560 </inlinemediaobject>
561 @end example
562
563 Das äußerste Element ist also @code{mediaobject} oder
564 @code{inlinemediaobject}, welches ein @code{textobject} mit dem
565 @code{programlisting} enthält.
566
567 @subheading Ein DocBook-Dokument übersetzen
568
569 Der Aufruf von @command{lilypond-book} mit der @file{.lyxml}-Datei
570 erzeugt ein gültiges DocBook-Dokument mit der Erweiterung @file{.xml},
571 welches normal weiterverarbeitet werden kann. Bei Benutzung von
572 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex} wird daraus
573 automatisch eine PDF-Datei erzeugt. Für die Erzeugung von HTML (HTML
574 Hilfe, JavaHelp, etc.) können die offiziellen DocBook XSL-Stylesheets
575 benutzt werden. Eventuell müssen dafür allerdings kleinere Anpassungen
576 vorgenommen werden.
577
578
579 @node Die Musikfragment-Optionen
580 @section Die Musikfragment-Optionen
581 @translationof Music fragment options
582
583 Im Folgenden meint @q{LilyPond-Befehl} einen beliebigen in den vorgehenden
584 Abschnitten beschriebenen Befehl, der ein LilyPond-Fragment in eine Datei
585 einfügt und von @command{lilypond-book} verarbeitet wird. Der Einfachheit
586 halber werden hier alle LilyPond-Befehle in der Syntax von @LaTeX{}
587 dargestellt.
588
589 Zu beachten ist, dass die Optionen eines LilyPond-Befehls von links
590 nach rechts verarbeitet werden. Wenn eine Option also mehrfach angegeben
591 wird, wird nur die letzte benutzt.
592
593 Die folgenden Optionen können für LilyPond-Befehle benutzt werden:
594
595 @table @code
596 @item staffsize=@var{ht}
597 Setzt die Höhe einer Notenzeile auf @var{ht}, angegeben in Punkten.
598
599 @item ragged-right
600 Erzeugt Notenzeilen im Flattersatz mit natürlichem Abstand der Noten. In
601 anderen Worten: @code{ragged-right = ##t} wird in das Musikfragment
602 eingefügt. Dies ist die Standardeinstellung für den
603 @code{\lilypond@{@}}-Befehl,
604 wenn die Option @code{line-width} nicht angegeben wird.
605 Ebenso ist dies die Standardeinstellung für die @code{lilypond}-Umgebung,
606 wenn die Option @code{fragment}, aber keine Zeilenlänge
607 explizit angegeben ist.
608
609 @item noragged-right
610 Streckt Musikfragmente mit nur einer Notenzeile auf die volle Breite,
611 es wird also @code{ragged-right = ##f} in das Musikfragment eingefügt.
612
613 @item line-width
614 @itemx line-width=@var{Breite}\@var{Einheit}
615 Setzt die Breite der Notenzeilen auf @var{Breite}, gemessen in Vielfachen
616 der @var{Einheit}. Als Einheit können die folgenden Zeichenfolgen angegeben
617 werden: @code{cm}, @code{mm}, @code{in} oder @code{pt}. Diese Option hat
618 nur Einfluss auf die Breite von Notenzeilen und Text im Musikfragment, nicht
619 jedoch auf den restlichen Text des Dokuments.
620
621 Wird diese Option ohne einen Wert angegeben, wird die Zeilenbreite auf
622 einen Standardwert gesetzt, der durch einen heuristischen Algorithmus
623 bestimmt wird.
624
625 Wenn die @code{line-width}-Option nicht angegeben wird, versucht
626 @command{lilypond-book} einen geeigneten Standardwert für alle
627 @code{lilypond}-Umgebungen zu finden, die die @code{ragged-right}-Option
628 nicht benutzen.
629
630 @item notime
631 Verhindert die Ausgabe der Taktangabe am Anfang des Fragments und schaltet
632 Taktstriche und alle Taktangaben im Fragment ab.
633
634 @item fragment
635 Bewirkt, dass @command{lilypond-book} Standardcode um das Fragment herum einfügt, sodass z. B.
636
637 @example
638 c'4
639 @end example
640
641 @noindent
642 ohne @code{\layout}, @code{\score}, etc. eingegeben werden kann.
643
644 @item nofragment
645 Verhindert das Einfügen von Standardcode um das Fragment herum. Dies ist
646 die Standardeinstellung, insofern ist diese Option im Normalfall unnötig.
647
648 @item indent=@var{Einzug}\@var{Einheit}
649 Setzt den Einzug des ersten Notensystems auf @var{Einzug}, gemessen in
650 Vielfachen der @var{Einheit}. Als Einheit können die folgenden Zeichenfolgen
651 angegeben werden: @code{cm}, @code{mm}, @code{in} oder @code{pt}. Diese
652 Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im
653 Musikfragment, nicht jedoch auf den restlichen Text des Dokuments.
654
655 @item noindent
656 Setzt den Einzug des ersten Notensystems auf 0. Diese
657 Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im
658 Musikfragment, nicht jedoch auf den restlichen Text des Dokuments. Dies
659 ist die Standardeinstellung, insofern ist diese Option im Normalfall
660 unnötig.
661
662 @item quote
663 Verringert die Zeilenlänge des Musikfragments um @math{2*0.4}@dmn{in}
664 und setzt das Fragment in einen Zitat-Block. Der Wert von @q{0.4@dmn{in}}
665 kann durch die @code{exampleindent} Option angepasst werden.
666
667 @item exampleindent
668 Setzt den Betrag, um den das Fragment bei Benutzung der @code{quote}
669 Option eingerückt wird.
670
671 @item relative
672 @itemx relative=@var{n}
673 Benutzt relative Oktavenbezeichnungen. Standardmäßig werden Noten relativ
674 zum mittleren C angegeben. Das optionale ganzzahlige Argument
675 gibt die Oktave der ersten Note an, wobei die Standardeinstellung von
676 @code{1} das mittlere C bedeutet. Die @code{relative} Option macht nur
677 Sinn in Verbindung mit der @code{fragment} Option, weshalb @code{fragment}
678 automatisch durch die Angabe der @code{relative} Option impliziert wird.
679 Eine explizite Angabe der @code{(no)fragment} Option hat keinen Effekt.
680 @end table
681
682
683 LilyPond benutzt zur Erzeugung seiner eigenen Dokumentation ebenfalls
684 @command{lilypond-book}. Zu diesem Zweck stehen noch zahlreiche
685 spezialisierte Optionen zur Verfügung:
686
687 @table @code
688 @item verbatim
689 Der LilyPond-Code im LilyPond-Kommando wird zum einen benutzt, um das
690 Musikfragment in eine Grafik mit schönem Notensatz zu konvertieren,
691 andererseits aber auch wörtlich in das Dokument eingefügt. Dies
692 geschieht in einem @q{verbatim}-Block, gefolgt vom Text einer
693 möglicherweise angegebenen @code{intertext} Option@footnote{Die
694 @code{intertext} Option ist noch nicht implementiert.} und der
695 Grafik des tatsächlichen Notensatzes. Diese Option funktioniert nur
696 fehlerhaft, wenn @code{\lilypond@{@}} im Fließtext benutzt wird.
697
698 Wird @code{verbatim} in Verbindung mit einem @code{lilypondfile}-Kommando
699 benutzt, so ist es auch möglich, nur ein Teil der Datei wörtlich einfügen
700 zu lassen: Wenn die eingebundene LilyPond-Datei ein Kommentar mit dem Inhalt
701 @samp{begin verbatim} (ohne Anführungszeichen) enthält, wird nur der
702 Dateiinhalt ab dieser Position eingefügt. Enthält die Datei mehrere
703 solche Kommentare, wirkt nur das letzte. Analog wird nur der Dateiinhalt
704 bis zu einem etwaigen Kommentar mit dem Inhalt @samp{end verbatim}
705 eingefügt. Im folgenden Beispiel wird das gesamte Musik für die
706 Erzeugung der Grafik im relativen Oktavenmodus interpretiert, der
707 wörtlich in das Dokument kopierte LilyPond-Code zeigt den @code{relative}-Befehl jedoch nicht.
708
709 @example
710 \relative c' @{ % begin verbatim
711   c4 e2 g4
712   f2 e % end verbatim
713 @}
714 @end example
715
716 @noindent
717 erzeugt ein Zitat der Form
718
719 @example
720   c4 e2 g4
721   f2 e
722 @end example
723
724 @noindent
725 Wenn Kommentare und Variablen im Zitat, aber nicht im Quelltext
726 übersetzt werden sollen, kann die Umgebungsvariable @code{LYDOC_LOCALEDIR}
727 auf einen Verzeichnispfad gesetzt werden.  Das Verzeichnis sollte
728 einen Baum an @file{.mo}-Nachrichtenkatalogen beinhalten mit
729 @code{lilypond-doc} als Domain.
730
731 @item addversion
732 (Nur innerhalb von Texinfo-Dateien.) Stellt @code{\version
733 @@w@{"@@version@{@}"@}} an den Beginn des Fragments der Ausgabe mit
734 @code{verbatim}.
735
736 @item texidoc
737 (Nur innerhalb von Texinfo-Dateien.) Wird @command{lilypond} mit der
738 Kommandozeilenoption @option{--header=@/texidoc} für eine Datei
739 @file{foo.ly} und enthält die Datei ein @code{texidoc}-Feld im
740 @code{\header}-Block, so wird dessen Inhalt in die Datei
741 @file{foo.texidoc} ausgegeben. Die @code{texidoc} Option veranlasst
742 @code{lilypond-book}, den Inhalt dieser @file{.texidoc} Dateien innerhalb
743 eines Dokumentationsblocks direkt vor dem Musikfragment in das aktuelle
744 Dokument einzufügen.
745
746 Enthält also die Datei @file{foo.ly} etwa den LilyPond-Code
747
748 @example
749 \header @{
750   texidoc = "Dieses Beispiel zeigt eine einzelne Note."
751 @}
752 @{ c'4 @}
753 @end example
754
755 @noindent
756 und das Texinfo-Dokument @file{text.texinfo}
757
758 @example
759 @@lilypondfile[texidoc]@{foo.ly@}
760 @end example
761
762 @noindent
763 so liefert der folgende Aufruf von @code{lilypond-book} das gewünschte
764 Ergebnis:
765
766 @example
767 lilypond-book --pdf --process="lilypond \
768   -dbackend=eps --header=texidoc" test.texinfo
769 @end example
770
771 Die meisten Test-Dateien (im @file{input/} Verzeichnis von LilyPond)
772 sind kleine @file{.ly} Dateien von genau dieser Form.
773
774 Auch die Übersetzung dieser zusätzlichen Kommentare ist möglich:
775 Dazu muss das Texinfo-Dokument den Befehl @code{@@documentlanguage @var{LANG}}
776 und der @code{\header} Block in der Datei @file{foo.ly}
777 die Übersetzung im Feld @code{texidoc@var{LANG}} enthalten. Wird nun
778 @command{lilypond} mit der Option @option{--header=@/texidoc@var{LANG}}
779 aufgerufen, so wird der Inhalt der Datei @file{foo.texidoc@var{LANG}}
780 anstelle von @file{foo.texidoc} eingefügt.
781
782 @item lilyquote
783 (Nur innerhalb von Texinfo-Dateien.) Diese Option wirkt wie die
784 @code{quote} Option, außer dass nur das Musikfragment (und natürlich optional der
785 gesamte LilyPond-Code bei Benutzung von @code{verbatim}) in den Zitatblock
786 eingefügt wird. Dies ist nützlich, wenn Sie ein Musikfragment zitieren möchten,
787 nicht aber dessen @code{texidoc} Dokumentationsblock.
788
789 @item doctitle
790 (Nur innerhalb von Texinfo-Dateien.) Diese Option wirkt ähnlich wie die
791 @code{texidoc} Option: Wenn @command{lilypond} mit der Option
792 @option{--header=@/doctitle} aufgerufen wird und die Eingabedatei
793 @file{foo.ly} ein Feld @code{doctitle} im @code{\header}-Block enthält,
794 wird dessen Wert in die Datei @file{foo.doctitle} geschrieben. Wird die
795 @code{doctitle} Option für ein Musikfragment benutzt, so wird der Inhalt
796 dieser Datei, der eine einzelne Textzeile sein sollte, im Texinfo-Dokument
797 als @code{@@lydoctitle @var{Text}} eingefügt. @code{@@lydoctitle} muss
798 allerdings in Ihrem Texinfo-Dokument als Makro selbst definiert werden.
799 Die Übersetzung funktioniert völlig analog zu @code{texidoc}.
800
801 @item nogettext
802 Nur für Texinfo-Ausgabe: Kommentare und Variablenbezeichnungen im
803 zitierten Quelltext des Schnipsel werden nicht übersetzt.
804
805 @item printfilename
806 Wenn eine LilyPond-Datei mittels @code{\lilypondfile} und dieser Option
807 eingebunden wird, wird der Dateiname (ohne die Pfadangabe) unmittelbar vor
808 dem Musikfragment ausgegeben. In HTML-Dateien ist er außerdem ein Link
809 auf die LilyPond-Datei.  Nur der eigentliche Name der Datei wird
810 ausgegeben, der Pfad wird also nicht mit angezeigt.
811
812 @end table
813
814
815 @node lilypond-book aufrufen
816 @section @command{lilypond-book} aufrufen
817 @translationof Invoking lilypond-book
818
819 @command{lilypond-book} erzeugt abhängig vom Ausgabeformat eine Datei mit
820 einer der folgenden Dateierweiterungen: @file{.tex}, @file{.texi},
821 @file{.html} oder @file{.xml}. Alle @file{.tex}, @file{.texi} und
822 @file{.xml} Dateien müssen noch mit den entsprechenden Programmen (@LaTeX{},
823 DocBook, etc.) weiter verarbeitet werden, um druckfähige Dateien zu erhalten.
824
825
826 @subheading Formatabhängige Anweisungen
827
828 @subsubheading @LaTeX{}
829
830 Es existieren zwei Methoden, Ihr @LaTeX{}-Dokument weiter zu verarbeiten,
831 um zu einer druck- oder publikationsfähigen Datei zu gelangen:
832 Zum einen die direkte Erzeugung einer PDF-Datei mit PDF@LaTeX{}, zum
833 anderen die Erzeugung einer DVI daraus einer PostScript-Datei mittels
834 @LaTeX{} und einem DVI-nach-PostScript Konverters wie @command{dvips}.
835 Die erste Methode ist einfacher und daher empfehlenswert.@footnote{Manchmal
836 kann eine Datei entweder von PDF@LaTeX{} oder von @LaTeX{} nicht korrekt
837 verarbeitet werden, weshalb hier beide Methoden beschrieben werden.} Welche
838 Methode auch immer benutzt wird, die Konvertierung zwischen PostScript und
839 PDF kann leicht mit Hilfsprogrammen wie @command{ps2pdf} und @command{pdf2ps}
840 (aus dem Ghostscript-Paket) erfolgen.
841
842 Um eine PDF-Datei mittels PDF@LaTeX{} zu erzeugen, kann folgendermaßen
843 vorgegangen werden:
844
845 @example
846 lilypond-book --pdf Ihre_Datei.pdftex
847 pdflatex Ihre_Datei.tex
848 @end example
849
850 @cindex Konturschriften
851 @cindex Type1 Schriften
852 @cindex dvips
853 @cindex Aufruf von dvips
854
855 Um eine PDF-Datei mittels @LaTeX{}/@command{dvips}/@command{ps2pdf} zu
856 erhalten, sind folgende Befehle nötig:
857
858 @example
859 lilypond-book Ihre_Datei.lytex
860 latex Ihre_Datei.tex
861 dvips -Ppdf Ihre_Datei.dvi
862 ps2pdf Ihre_Datei.ps
863 @end example
864
865 @noindent
866 Die @file{.dvi}-Datei, die beim Aufruf von @command{latex} erzeugt wird,
867 scheint keine Notenköpfe zu enthalten, was in Ordnung ist. Wenn Sie die
868 Datei wie beschrieben weiter verarbeiten, erscheinen die Notenköpfe korrekt
869 in den @file{.ps} und @file{.pdf} Dateien.
870
871 Der Aufruf von @command{dvips} kann einige Warnungen über fehlende
872 Schriftarten ausgeben. Auch dies ist in Ordnung und kann ignoriert werden.
873
874 Wenn Sie in der @LaTeX{}-Datei das Papierformat auf Querformat eingestellt
875 haben, vergessen Sie nicht die @code{-t landscape}-Option beim
876 Aufruf von @command{dvips}.
877
878
879 @subsubheading Texinfo
880
881 Um ein von @command{lilypond-book} erzeugtes Texinfo-Dokument zu
882 verarbeiten, gehen Sie wie für alle anderen Texinfo-Dokumente vor:
883 Rufen Sie -- abhängig vom gewünschten Ausgabeformat -- eines der Programme
884 @command{texi2pdf}, @command{texi2dvi}, @command{makeinfo} oder
885 @command{texi2html} auf.
886
887 @ifinfo
888 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, und @ref{Creating an Info File, , , texinfo, GNU Texinfo}.
889 @end ifinfo
890 @ifnotinfo
891 Die Dokumentation von Texinfo liefert dazu nähere Informationen.
892 @end ifnotinfo
893
894
895 @subheading Optionen auf der Kommandozeile
896
897 @command{lilypond-book} unterstützt die folgenden Kommandozeilenoptionen:
898
899 @table @code
900 @item -f @var{Format}
901 @itemx --format=@var{Format}
902 Gibt das Format des Eingabedokuments an: @code{html}, @code{latex},
903 @code{texi} (Standardeinstellung), @code{texi-html} oder @code{docbook}.
904 Ist diese Option nicht angegeben, versucht @command{lilypond-book} das
905 Format anhand des Dateinamens zu bestimmen. Im Moment bedeutet @code{texi}
906 praktisch dasselbe wie @code{texi-html}.
907
908 @c This complicated detail is not implemented, comment it out -jm
909 @ignore
910 The @code{texi} document type produces a Texinfo file with music
911 fragments in the printed output only.  For getting images in the HTML
912 version, the format @code{texi-html} must be used instead.
913 @end ignore
914
915 @item -F @var{Filter}
916 @itemx --filter=@var{Filter}
917 Leitet die Musikfragmente durch das Programm @var{filter} anstatt sie
918 mit Lilypond zu einer Grafik zu verarbeiten. @option{--filter} und
919 @option{--process} kann nicht gleichzeitig benutzt werden. Beispielaufruf:
920
921 @example
922 lilypond-book --filter='convert-ly --from=2.0.0 -' Mein-Buch.tely
923 @end example
924
925 @item -h
926 @itemx --help
927 Gibt eine kurze Hilfemeldung aus.
928
929 @item -I @var{Pfad}
930 @itemx --include=@var{Pfad}
931 Fügt @var{Pfad} zu den Include-Pfaden hinzu. @command{lilypond-book} sucht
932 auch in allen Include-Pfaden nach bereits erstellten Grafiken für die
933 Musikfragmente. Wird das aktuelle Fragment gefunden und hat sich seit der
934 letzten Erstellung nicht geändert, wird es nicht erneut erzeugt. Bei manchen
935 der Programme zur Weiterverarbeitung wie etwa @command{makeinfo} oder
936 @command{latex} muss dieselbe @code{-I @var{Pfad}} Option angegeben werden,
937 damit das entsprechende Programm die Grafiken ebenso findet.
938
939 @item -o @var{Verzeichnis}
940 @itemx --output=@var{Verzeichnis}
941 Erzeugt die Ausgabedateien in @var{Verzeichnis}. Der Aufruf von
942 @command{lilypond-book} erzeugt zahlreiche kleine Dateien, die von
943 LilyPond, @command{latex}, @command{makeinfo} etc. dann weiter benützt
944 werden. Um zu vermeiden, dass das Quellenverzeichnis durch diese
945 Dateien unübersichtlich wird, kann die @option{--output} Option benutzt
946 werden. Vor dem Aufruf von @command{latex} oder @command{makeinfo}
947 sollten Sie in dieses Verzeichnis wechseln.
948
949 @example
950 lilypond-book --output=out IhreDatei.lytex
951 cd out
952 ...
953 @end example
954
955 @itemx --skip-lily-check
956 Nicht mit einer Fehlermeldung abbrechen, wenn keine Ausgabe von LilyPond
957 gefunden wird. Dies wird benutzt für Dokumentation ohne Grafiken.
958
959 @itemx --skip-png-check
960 Nicht mit einer Fehlermeldung abbrechen, wenn für die EPS-Dateien keine
961 PNG-Grafiken gefunden werden. Dies wird benutzt für Dokumentation ohne
962 Grafiken.
963
964 @itemx --lily-output-dir=@var{Verzeichnis}
965 Schreibt @file{lily-XXX} Dateien nach @var{Verzeichnis} und erzeugt
966 im mit @code{--output} angegebenen Verzeichnis Verknüpfungen darauf.
967 Diese Option ist nützlich, um Zeit zu sparen, wenn Dokumente in
968 verschiedenen Verzeichnissen viele identische Musikfragmente
969 enthalten.
970
971 @itemx --info-images-dir=@var{Verzeichnis}
972 Formatiert die Texinfo-Ausgabe dergestalt, dass Info in @var{Verzeichnis}
973 nach den Grafiken zu den Musikfragmenten sucht.
974
975 @itemx --latex-program=@var{Programm}
976 Führt @command{Programm} anstelle von @command{latex} aus. Dies ist
977 nützlichen, wenn das Dokument mit einer anderen @LaTeX{}-Variante
978 wie etwa @command{xelatex} verarbeitet werden soll.
979
980 @itemx --left-padding=@var{Einrückung}
981 Fügt @var{Einrückung} als zusätzlichen Einzug in die EPS-Box ein.
982 @var{Einrückung} wird in Millimetern angegeben, die Standardeinstellung
983 ist 3.0 Millimeter. Diese Option kann benutzt werden, wenn die Notenzeilen
984 über den Rand des Dokuments hinausstehen.
985
986 Die Breite eines eng ausgeschnittenen Notensystems kann variieren
987 aufgrund von Notationselementen, die über den linken Rand hinausstehen,
988 wie etwa Taktzahlen und Bezeichnungen der Instrumente. Diese Option
989 verkürzt die Notenzeile und verschiebt sie um denselben Betrag nach
990 rechts.
991
992
993 @item -P @var{Befehl}
994 @itemx --process=@var{Befehl}
995 Verarbeitet LilyPond-Fragmente mit @var{Befehl} anstelle des
996 Standardbefehls @code{lilypond}. @code{--filter} und @code{--process}
997 können nicht mit dieser Option benutzt werden.
998
999 @item --pdf
1000 Erzeugt PDF-Dateien mit PDF@LaTeX{}.
1001
1002 @item -V
1003 @itemx --verbose
1004 Gibt ausführliche informative Meldungen aus.
1005
1006 @item -v
1007 @itemx --version
1008 Gibt die Versionsnummer aus.
1009 @end table
1010
1011 @knownissues
1012
1013 Der Texinfo-Befehl @code{@@pagesizes} wird ignoriert. Ebenso werden
1014 @LaTeX{}-Befehle ignoriert, die den Seitenrand oder die Zeilenlänge
1015 nach der Dokumentpräambel verändern.
1016
1017 Nur der erste @code{\score}-Block eines LilyPond-Fragments wird verarbeitet.
1018
1019
1020 @node Dateiendungen
1021 @section Dateiendungen
1022 @translationof Filename extensions
1023
1024 Für die Eingabedatei kann zwar jede beliebige Dateinamenserweiterung benutzt
1025 werden, allerdings muss bei Verwendung einer nicht bekannten Erweiterung
1026 das Ausgabeformat explizit an @command{lilypond-book} angegeben werden.
1027 Details dazu finden sich im Abschnitt @ref{lilypond-book aufrufen}.
1028 Wird eine bekannte Erweiterung benutzt, wählt @command{lilypond-book}
1029 automatisch das richtige Ausgabeformat basierend auf der Erweiterung der
1030 Eingabedatei:
1031
1032 @quotation
1033 @multitable @columnfractions .2 .5
1034 @item @strong{Erweiterung} @tab @strong{Ausgabeformat}
1035 @item
1036 @item @file{.html} @tab HTML
1037 @item @file{.itely} @tab Texinfo
1038 @item @file{.latex} @tab @LaTeX{}
1039 @item @file{.lytex} @tab @LaTeX{}
1040 @item @file{.lyxml} @tab DocBook
1041 @item @file{.tely} @tab Texinfo
1042 @item @file{.tex} @tab @LaTeX{}
1043 @item @file{.texi} @tab Texinfo
1044 @item @file{.texinfo} @tab Texinfo
1045 @item @file{.xml} @tab HTML
1046 @end multitable
1047 @end quotation
1048
1049 Wird dieselbe Erweiterung für die Eingabedatei wie für die Ausgabedatei
1050 benutzt und befindet sich die Eingabedatei im aktuellen Arbeitsverzeichnis
1051 von @command{lilypond-book}, muss die @code{--output} Option für
1052 @command{lilypond-book} benutzt werden. Anderenfalls würde
1053 @command{lilypond-book} ja die Eingabedatei überschreiben, weshalb das
1054 Programm in diesem Fall mit einer Fehlermeldung wie @qq{Fehler: Ausgabe
1055 würde Eingabedatei überschreiben; verwenden Sie --output.} abbricht.
1056
1057
1058 @node lilypond-book-Vorlagen
1059 @section @command{lilypond-book}-Vorlagen
1060 @translationof lilypond-book templates
1061
1062 Diese Vorlagen sollen mit @code{lilypond-book} benutzt werden.  Wenn Sie sich
1063 mit dem Programm nicht auskennen, lesen Sie bitte
1064 @ref{lilypond-book}.
1065
1066 @subsection LaTeX
1067
1068 Sie können LilyPond-Fragmente in ein LaTeX-Dokument einfügen:
1069
1070 @example
1071 \documentclass[]@{article@}
1072
1073 \begin@{document@}
1074
1075 Normaler LaTeX-Text.
1076
1077 \begin@{lilypond@}
1078 \relative c'' @{
1079   a4 b c d
1080 @}
1081 \end@{lilypond@}
1082
1083 Weiterer LaTeX-Text und Optionen in eckigen Klammern.
1084
1085 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1086 d4 c b a
1087 \end@{lilypond@}
1088 \end@{document@}
1089 @end example
1090
1091 @subsection Texinfo
1092
1093 LilyPond-Fragmente können in Texinfo-Dokumente eingefügt werden: dieses gesamte
1094 Handbuch wurde in Texinfo geschrieben.
1095
1096 @example
1097 \input texinfo @c -*-texinfo-*-
1098 @@node Top
1099 @@top
1100
1101 Texinfo-Text
1102
1103 @@lilypond
1104 \relative c' @{
1105   a4 b c d
1106 @}
1107 @@end lilypond
1108
1109 Weiterer Texinfo-Text und Optionen in Klammern.
1110
1111 @@lilypond[verbatim,fragment,ragged-right]
1112 d4 c b a
1113 @@end lilypond
1114
1115 @@bye
1116 @end example
1117
1118
1119 @subsection html
1120
1121 @example
1122 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1123 <!-- header_tag -->
1124 <HTML>
1125 <body>
1126
1127 <p>
1128 Dokumente für lilypond-book können Noten und Text frei kombinieren. Zum
1129 Beispiel
1130 <lilypond>
1131 \relative c'' @{
1132   a4 b c d
1133 @}
1134 </lilypond>
1135 </p>
1136
1137 <p>
1138 Noch etwas LilyPond, mit Optionen:
1139
1140 <lilypond fragment quote staffsize=26 verbatim>
1141 a4 b c d
1142 </lilypond>
1143 </p>
1144
1145 </body>
1146 </html>
1147
1148
1149 @end example
1150
1151 @subsection xelatex
1152
1153 @verbatim
1154 \documentclass{article}
1155 \usepackage{ifxetex}
1156 \ifxetex
1157 %xetex specific stuff
1158 \usepackage{xunicode,fontspec,xltxtra}
1159 \setmainfont[Numbers=OldStyle]{Times New Roman}
1160 \setsansfont{Arial}
1161 \else
1162 %This can be empty if you are not going to use pdftex
1163 \usepackage[T1]{fontenc}
1164 \usepackage[utf8]{inputenc}
1165 \usepackage{mathptmx}%Times
1166 \usepackage{helvet}%Helvetica
1167 \fi
1168 %Here you can insert all packages that pdftex also understands
1169 \usepackage[ngerman,finnish,english]{babel}
1170 \usepackage{graphicx}
1171
1172 \begin{document}
1173 \title{A short document with LilyPond and xelatex}
1174 \maketitle
1175
1176 Normal \textbf{font} commands inside the \emph{text} work,
1177 because they \textsf{are supported by \LaTeX{} and XeteX.}
1178 If you want to use specific commands like \verb+\XeTeX+, you
1179 should include them again in a \verb+\ifxetex+ environment.
1180 You can use this to print the \ifxetex \XeTeX{} command \else
1181 XeTeX command \fi which is not known to normal \LaTeX .
1182
1183 In normal text you can easily use LilyPond commands, like this:
1184
1185 \begin{lilypond}
1186 {a2 b c'8 c' c' c'}
1187 \end{lilypond}
1188
1189 \noindent
1190 and so on.
1191
1192 The fonts of snippets set with LilyPond will have to be set from
1193 inside
1194 of the snippet. For this you should read the AU on how to use
1195 lilypond-book.
1196 \end{document}
1197 @end verbatim
1198
1199
1200 @node Das Inhaltsverzeichnis flexibel einsetzen
1201 @section Das Inhaltsverzeichnis flexibel einsetzen
1202 @translationof Sharing the table of contents
1203
1204 Diese Funktionen existieren schon im OrchestraLily-Paket:
1205
1206 @example
1207 @url{http://repo.or.cz/w/orchestrallily.git}
1208 @end example
1209
1210 Um den Text flexibler behandeln zu können, bevorzugen manche Benutzer es,
1211 das Inhaltsverzeichnis aus LilyPond zu exportieren und dann mit
1212 @LaTeX{} einzulesen.
1213
1214 @subsubheading Das Ihaltsverzeichnis (ToC) aus LilyPond exportieren
1215
1216 Hier wird angenommen, dass in Ihrer Partitur mehrere Sätze vorkommen, die
1217 sich alle in der selben LilyPond-Datei befinden.
1218
1219 @smallexample
1220 #(define (oly:create-toc-file layout pages)
1221   (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1222     (if (not (null? label-table))
1223       (let* ((format-line (lambda (toc-item)
1224              (let* ((label (car toc-item))
1225                     (text  (caddr toc-item))
1226                     (label-page (and (list? label-table)
1227                                      (assoc label label-table)))
1228                     (page (and label-page (cdr label-page))))
1229                (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1230              (formatted-toc-items (map format-line (toc-items)))
1231              (whole-string (string-join formatted-toc-items ",\n"))
1232              (output-name (ly:parser-output-name parser))
1233              (outfilename (format "~a.toc" output-name))
1234              (outfile (open-output-file outfilename)))
1235         (if (output-port? outfile)
1236             (display whole-string outfile)
1237             (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1238         (close-output-port outfile)))))
1239
1240 \paper @{
1241   #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1242 @}
1243 @end smallexample
1244
1245 @subsubheading Das Inhaltsverzeichnis in LaTeX importieren
1246
1247 In der LaTeX-Datei sollte folgendes enthalten:
1248
1249 @c no, this doesn't require the smallexample, but since the other
1250 @c two blocks on this page use it, I figured I might as well
1251 @c user it here as well, for consistency. -gp
1252 @smallexample
1253 \usepackage@{pdfpages@}
1254 \includescore@{nameofthescore@}
1255 @end smallexample
1256
1257 @noindent
1258 wobei @code{\includescore} wiefolgt definiert ist:
1259
1260 @smallexample
1261 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1262 % \includescore@{PossibleExtension@}
1263 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1264
1265 % Read in the TOC entries for a PDF file from the corresponding .toc file.
1266 % This requires some heave latex tweaking, since reading in things from a file
1267 % and inserting it into the arguments of a macro is not (easily) possible
1268
1269 % Solution by Patrick Fimml on #latex on April 18, 2009:
1270 % \readfile@{filename@}@{\variable@}
1271 % reads in the contents of the file into \variable (undefined if file
1272 % doesn't exist)
1273 \newread\readfile@@f
1274 \def\readfile@@line#1@{%
1275 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1276 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1277 \ifeof\readfile@@f\else%
1278 \readfile@@line@{#1@}%
1279 \fi%
1280 @}
1281 \def\readfile#1#2@{%
1282 \openin\readfile@@f=#1 %
1283 \ifeof\readfile@@f%
1284 \typeout@{No TOC file #1 available!@}%
1285 \else%
1286 \gdef#2@{@}%
1287 \readfile@@line@{#2@}%
1288 \fi
1289 \closein\readfile@@f%
1290 @}%
1291
1292
1293 \newcommand@{\includescore@}[1]@{
1294 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1295 \let\oly@@addtotoc\undefined
1296 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1297 \ifx\oly@@addtotoc\undefined
1298 \includepdf[pages=-]@{\oly@@fname@}
1299 \else
1300 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1301 @{\oly@@fname@}@}\includeit
1302 \fi
1303 @}
1304 @end smallexample
1305
1306
1307 @node Alternative Methoden Text und Musik zu kombinieren
1308 @section Alternative Methoden Text und Musik zu kombinieren
1309 @translationof Alternate methods of mixing text and music
1310
1311 Andere Methoden, Text und Noten miteinander zu kombinieren (ohne
1312 @command{lilypond-book} zu benutzen) werden beschrieben in
1313 @ref{LilyPond-Ausgabe in anderen Programmen}.