1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2 @c This file is part of lilypond-program.tely
4 Translation of GIT committish: 2c00bdbfaf62dd90863331c4713e6b29e32c9322
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
12 @c Translators: Reinhold Kainhofer
13 @c Translation checkers: Till Rettig
17 @chapter @command{lilypond-book}: Integrating text and music
19 Wenn Sie in ein Dokument Grafiken Ihres Musiksatzes einfügen möchten, so
20 können Sie genauso machen, wie Sie andere Grafiken einfügen würden: Die
21 Bilder werden getrennt vom Dokument im PostScript- oder PNG-Format erstellt
22 und können dann in @LaTeX{} oder HTML inkludiert werden.
24 @command{lilypond-book} automatisiert diesen Prozess: Dieses
25 Programm extrahiert Musik-Schnipsel aus Ihrem Dokument,
26 ruft @command{lilypond} auf und fügt die resultierenden Bilder
27 in Ihr Dokument ein. Die Länge der Zeilen und die Schriftgroße
28 werden dabei Ihrem Dokument angepasst.
30 @command{lilypond-book} ist ein eigenständiges Programm und wird
31 üblicherweise von der Kommandozeile aufgerufen. Nähere Informationen
32 hierzu finden sich in @ref{Command-line usage}. Wenn Sie MacOS 10.3
33 oder 10.4 benutzen und Probleme mit @code{lilypond-book} haben, lesen
34 Sie @ref{Setup for MacOS X}.
36 Dieses Vorgehen kann bei @LaTeX{}, HTML, Texinfo oder DocBook Dokumenten
45 @cindex Dokument, Musik einfügen in
46 @cindex HTML, Musik in
47 @cindex Texinfo, Musik in
48 @cindex DocBook, Musik in
49 @cindex @LaTeX{}, Musik in
53 * An example of a musicological document::
54 * Integrating music and text::
55 * Music fragment options::
56 * Invoking lilypond-book::
57 * Filename extensions::
58 * Alternate methods of mixing text and music::
61 @node An example of a musicological document
62 @section An example of a musicological document
65 @cindex Musikwissenschaft
67 Zahlreiche Texte enthalten Musikbeispiele: musikwissenschaftliche
68 Abhandlungen, Liederbücher oder Handbücher wie dieses. Solche
69 Texte können händisch erzeugt werden, indem einfach die Musikbeispiele
70 als Grafik (PostScript, PNG, GIF, etc.) im Textverarbeitungsprogramm
71 eingefügt werden. Für HTML, @LaTeX{}, Texinfo und DocBook Dokumente
72 existiert jedoch ein Weg, dies automatisiert durchzuführen.
74 Das Programm @code{lilypond-book} extrahiert die Musikfragmente aus
75 dem Dokument, formatiert sie automatisiert in eine Grafik und fügt die
76 resultierenden Notenbeispiele dann wieder in das Dokument ein. Dies soll
77 hier an einem einfachen @LaTeX{}-Beispiel verdeutlicht werden. Das Beispiel
78 selbst enthält schon Erklärungen, sodass wir es hier nicht weiter diskutieren
85 \documentclass[a4paper]{article}
89 Dokumente für \verb+lilypond-book+ können Musik und Text nach Belieben
90 kombinieren. Zum Beispiel:
94 c2 g'2 \times 2/3 { f8 e d } c'2 g4
98 Optionen für \verb+lilypond+ werden dabei in eckige Klammern gesetzt.
100 \begin[fragment,quote,staffsize=26,verbatim]{lilypond}
104 Größere Beispiele können auch in einer eigenständigen Datei gespeichert
105 und dann mit \verb+\lilypondfile+ eingebunden werden.
107 \lilypondfile[quote,noindent]{screech-boink.ly}
109 (Falls nötig kann screech-boink.ly durch eine beliebige andere .ly
110 Datei im selben Verzeichnis wie diese Datei ersetzt werden.)
116 @subheading Processing
118 Speichern Sie den obigen @LaTeX{} Quellcode in eine Datei @file{lilybook.lytex}
119 und führen Sie dann in der Kommandozeile folgende Befehle aus:
121 @c keep space after @version{} so TeX doesn't choke
123 lilypond-book --output=out --pdf lilybook.lytex
124 @emph{lilypond-book (GNU LilyPond) @version{} }
125 @emph{Reading lilybook.lytex...}
126 @emph{..(viele Ausgabezeilen entfernt)..}
127 @emph{Compiling lilybook.tex...}
130 @emph{..(viele Ausgabezeilen entfernt)..}
132 @emph{(Ersetzen Sie @command{xpdf} durch Ihren PDF-Betrachter)}
135 Die Ausführung von @command{lilypond-book} und @command{latex} erzeugt
136 zahlreiche temporäre Dateien, die das Arbeitsverzeichnis unnötig
137 vollstopfen würden. Daher empfiehlt sich die Benutzung der @code{--output=@var{dir}}
138 Option, wodurch die Dateien im Unterverzeichnis @file{dir} erzeugt werden.
140 Das Endresultat des obigen @LaTeX{} Beispiels ist im nächsten Abschnitt
141 zu sehen.@footnote{Da dieses Handbuch mit Texinfo erzeugt wurde,
142 kann sich das Aussehen des Beispiels leicht von dem mit @LaTeX{}
143 erzeugten unterscheiden.}
149 Dokumente für @command{lilypond-book} können Musik und Text nach Belieben
150 kombinieren. Zum Beispiel:
154 c2 g'2 \times 2/3 { f8 e d } c'2 g4
158 Optionen für @command{lilypond} werden dabei in eckige Klammern gesetzt.
160 @lilypond[fragment,quote,staffsize=26,verbatim]
164 Größere Beispiele können auch in einer eigenständigen Datei gespeichert
165 und dann mit @code{\lilypondfile} eingebunden werden.
167 @lilypondfile[quote,noindent]{screech-boink.ly}
174 @node Integrating music and text
175 @section Integrating music and text
177 In diesem Abschnitt soll die Integration von LilyPond mit den
178 verschiedenen Dateiformaten detailliert erläutert werden.
192 @LaTeX{} ist der de-facto Standard zur Publikation von wissenschaftlichen Texten
193 in Naturwissenschaft und Technik. Es basiert auf dem Schriftsetzer @TeX{},
194 der die bestmögliche Typographie erzeugt.
196 Siehe die @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/german/,
197 @emph{@LaTeX{}2e-Kurzbeschreibung}} für eine Einführung in die
198 Benutzung von @LaTeX{}.
200 Musikbeispiele können eingegeben werden als
203 \begin[Optionen,kommen,]@{lilypond@}
204 IHR LILYPOND QUELLCODE
212 \lilypondfile[Optionen,kommen,hier]@{@var{Dateiname}@}
219 \lilypond@{ IHR LILYPOND QUELLCODE @}
222 Zusätzlich kann mit @code{\lilypondversion} die benutzte Versionsnummer
223 von LilyPond angezeigt werden. Der Aufruf von @command{lilypond-book}
224 liefert eine Datei, die dann mit @LaTeX{} weiter verarbeitet werden kann.
226 Dies soll hier an einigen Beispielen gezeigt werden. Die @code{lilypond}-Umgebung
229 \begin[quote,fragment,staffsize=26]@{lilypond@}
237 @lilypond[quote,fragment,staffsize=26]
244 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
250 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
253 Innerhalb des @code{\lilypond@{@}} Befehls dürfen keine geschwungenen
254 Klammern @code{@{} oder @code{@}} vorkommen, weshalb dieser Befehl
255 nur mit der @code{fragment} Option Sinn macht.
257 Die Standardzeilenlänge wird bestimmt, indem die Angaben in der Dokumentpräambel,
258 also dem Teil der @LaTeX{} Datei vor dem @code{\begin@{document@}},
259 analysiert werden. Der @command{lilypond-book} Befehl sendet diese
260 Angaben an @LaTeX{}, um herauszufinden, wie breit der Text tatsächlich
261 ist. Die Breite der Notenzeilen wird dann an diese Textbreite angepasst.
262 Ein derartig heuristischer Algorithmus kann natürlich auch versagen,
263 wobei man in diesem Fall die Breite auch explizit durch die
264 @code{line-width} Option des @code{\lilypond@{@}} oder @code{\begin@{lilypond@}}
265 Befehls angeben kann.
267 @cindex titling and lilypond-book
268 @cindex \header in @LaTeX{} documents
270 Jedes Musikbeispiele ruft die folgenden Makros auf, wenn sie vom Benutzer
274 @item @code{\preLilyPondExample} -- wird vor der Musik aufgerufen,
276 @item @code{\postLilyPondExample} -- wird nach der Musik aufgerufen,
278 @item @code{\betweenLilyPondSystem[1]} -- wird zwischen den einzelnen
279 Systemen aufgerufen, wenn @code{lilypond-book} das Beispiel in verschiedene
280 PostScript Dateien getrennt hat. Dieser @LaTeX{}-Befehl muss so definiert
281 werden, dass er genau ein Argument erhält, nämlich die Zahl der bereits
282 in @LaTeX{} eingefügten Dateien dieses Beispiels. Als Standard wird einfach
283 ein @code{\linebreak} eingefügt.
289 @cindex Latex, Feta Schriftart
292 Um Zeichen wie Auflösungszeichen, Kreuze, Fermaten etc. aus der Feta-Schriftart
293 von LilyPond in @LaTeX{} einzufügen, muss @code{\input@{titledefs@}} benutzt werden,
294 wodurch dann der Befehl @code{\fetachar} zur Verfügung steht.
297 \documentclass[a4paper]@{article@}
308 Die Namen der Symbole sind in der Datei @file{feta20.tex} definiert. Sie finden
309 den Pfad zu dieser Datei mit dem Befehl
319 Manchmal ist es nötig, Musikelemente wie Halte- oder Bindebögen so darzustellen,
320 als ob sie am Ende des Musikausschnitten noch weitergehen würden. Eine solche
321 Ausgabe kann erreicht werden, indem ein Zeilenumbruch in die Notenzeile
322 eingefügt wird und die Ausgabe der folgenden Notenzeile unterdrückt wird.
324 In @LaTeX{} wird dazu der Befehl @code{\betweenLilyPondSystem} einfach derartig
325 programmiert, dass die Ausgabe der einzelnen Notensysteme abgebrochen wird,
326 sobald die gewünschte Anzahl an Systemen erreicht ist. Da
327 @code{\betweenLilyPondSystem} zum ersten Mal nach dem ersten System aufgerufen
328 wird, ist die Ausgabe nur eines Systems trivial.
331 \def\betweenLilyPondSystem#1@{\endinput@}
333 \begin[fragment]@{lilypond@}
334 c'1\( e'( c'~ \break c' d) e f\)
338 Um eine größere Zahl an System nötig, dann muss dementsprechend eine
339 @TeX{}-Bedingung vor dem @code{\endinput} benutzt werden:
342 \def\betweenLilyPondSystem#1@{
343 \ifnum##1<2\else\endinput\fi
347 Dieses Beispiel bricht nach genau zwei ausgegebenen Notenzeilen ab.
348 Für eine andere Anzahl braucht nur @q{2} durch die entsprechende
349 Anzahl ersetzt werden.
351 Die Definition von @code{\betweenLilyPondSystem} bleibt gültig,
352 bis @TeX{} die aktuelle Umgebung in @LaTeX{} verlässt oder der
353 Befehl durch eine neue Definition überschrieben wird.
354 Dies kann etwa folgendermaßen in der @LaTeX{}-Datei geschehen:
357 \let\betweenLilyPondSystem\undefined
360 Obige Definition von @code{\betweenLilyPondSystem} kann durch die
361 Definition eines @TeX{}-Makros auch verallgemeinert werden,
364 \def\onlyFirstNSystems#1@{
365 \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@}
370 wobei diesem Makro @code{\onlyFirstNSystems} einfach die Anzahl der
371 gewünschten Systeme übergeben wird:
374 \onlyFirstNSystems@{3@}
375 \begin@{lilypond@}...\end@{lilypond@}
376 \onlyFirstNSystems@{1@}
377 \begin@{lilypond@}...\end@{lilypond@}
381 @command{lilypond-book} stellt auch zahlreiche Kommandozeilen-Optionen zur
382 Verfügung. Für eine Liste dieser Optionen und andere hilfreiche Details zur
383 Verarbeitung von @LaTeX{}-Dokumenten, siehe @ref{Invoking lilypond-book}.
391 Texinfo ist das Standard-Dokumentationsformat des GNU Projekts. Ein Beispiel
392 für ein Dokument im Texinfo Format ist dieses Handbuch, wobei die HTML-, PDF- und
393 Info-Versionen alle aus demselben Texinfo Dokument erzeugt werden.
395 In der Eingabedatei wir Musik eingegeben als
398 @@lilypond[Optionen,kommen,hier]
399 IHR LILYPOND QUELLCODE
407 @@lilypond[Optionen,kommen,hier]@{ IHR LILYPOND QUELLCODE @}
414 @@lilypondfile[Optionen,kommen,hier]@{@var{Dateiname}@}
417 Zusätzlich kann mit @code{@@lilypondversion} die aktuelle Versionsnummer
418 von LilyPond angezeigt werden.
419 Wenn @command{lilypond-book} eine derartige Datei verarbeitet,
420 wird eine Texinfo-Datei mit der Erweiterung @file{.texi} erzeugt,
421 die @code{@@image} Befehle für die Ausgabe nach HTML, Info und PDF
422 enthält. @command{lilypond-book} erzeugt die entsprechenden Grafiken
423 der Musikbeispiele im EPS- und PDF-Format für die Ausgabe nach PDF
424 und im PNG-Format für die Ausgabe nach HTML und Info.
426 Hier sollen zwei einfache Beispiele gezeigt werden. Eine @code{lilypond} Umgebung
444 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
450 @lilypond[fragment,staffsize=11]{<c' e' g'>}
452 Im Gegensatz zu @LaTeX{} erzeugt @code{@@lilypond@{...@}} allerdings keine Grafik
453 im Fließtext, sondern setzt sie immer in einen eigenen Absatz.
459 Musik wird eingegeben als
462 <lilypond fragment relative=2>
463 \key c \minor c4 es g2
468 @command{lilypond-book} erzeugt dann daraus eine HTML-Datei mit den entsprechenden
469 @code{<image>} Tags für die Musikbeispiele in jeweils einem eigenen Absatz.
471 @lilypond[fragment,relative=2]
472 \key c \minor c4 es g2
475 Für Grafiken im Fließtext kann @code{<lilypond ... />} benutzt werden, wobei
476 die Optionen durch einen Doppelpunkt von der Musik getrennt angegeben werden.
479 Musik <lilypond relative=2: a b c/> in derselben Zeile.
482 Um Dateien mit Musik einzubinden, kann folgendermaßen vorgegangen werden:
485 <lilypondfile @var{Option1} @var{Option2} ...>@var{Dateiname}</lilypondfile>
488 Zusätzlich gibt @code{<lilypondversion/>} die aktuelle Versionsnummer
496 Bei der Einbindung von Musik im LilyPond-Format in DocBook soll die
497 Konformität unseres DocBook Dokuments erhalten bleiben und damit
498 die Bearbeiten mit DocBook-Editoren sowie die Validierung weiter
499 möglich bleiben. Aus diesem Grund werden in DocBook keine eigenen Tags
500 wie in HTML benutzt, sondern die von den vorhandenen DocBook-Elementen
501 vorgegebenen Konventionen entsprechend benützt.
503 @subheading Common conventions
505 Für die Einbindung von LilyPond Code werden in allen Fällen die
506 @code{mediaobject} und @code{inlinemediaobject} Elemente benutzt,
507 die unsere Beispiele in einem eigenen Absatz oder im Fließtext
508 einfügen. Die Optionen zur Formatierung mit LilyPond werden dabei
509 in der @code{role} Eigenschaft des innersten Elements angegeben,
510 wie im nächsten Abschnitt gezeigt wird. Die DocBook Datei, die
511 dann von @command{lilypond-book} verarbeitet wird, sollte der Klarheit
512 halber die Dateierweiterung @file{.lyxml} (jedenfalls nicht
513 @file{.xml}) besitzen.
515 @subheading Including a LilyPond file
517 Dies ist der einfachste Fall: Die LilyPond-Datei besitzt die Erweiterung
518 @file{.ly} und wird einfach als @code{imageobject} eingebettet:
523 <imagedata fileref="music1.ly" role="printfilename" />
528 Für das äußerste Element kann je nach Bedarf @code{mediaobject} oder
529 @code{inlinemediaobject} benutzt werden.
531 @subheading Including LilyPond code
533 Die Einbindung von LilyPond-Code direkt in der DocBook-Datei ist
534 durch die Benutzung von @code{programlisting} möglich,
535 wobei die Sprache auf @code{lilypond} gesetzt wird:
540 <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
541 \context Staff \with @{
542 \remove Time_signature_engraver
543 \remove Clef_engraver@}
550 Das äußerste Element ist also @code{mediaobject} oder
551 @code{inlinemediaobject}, welches ein @code{textobject} mit dem
552 @code{programlisting} enthält.
554 @subheading Processing the DocBook document
556 Der Aufruf von @command{lilypond-book} mit der @file{.lyxml}-Datei
557 erzeugt ein gültiges DocBook-Dokument mit der Erweiterung @file{.xml},
558 welches normal weiterverarbeitet werden kann. Bei Benutzung von
559 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex} wird daraus
560 automatisch eine PDF-Datei erzeugt. Für die Erzeugung von HTML (HTML
561 Hilfe, JavaHelp, etc.) können die offiziellen DocBook XSL-Stylesheets
562 benutzt werden. Eventuell müssen dafür allerdings kleinere Anpassungen
566 @node Music fragment options
567 @section Music fragment options
569 Im Folgenden meint @q{LilyPond-Kommando} ein beliebiges in den vorgehenden
570 Abschnitten beschriebenes Kommando, welches ein LilyPond-Fragment in eine Datei
571 einfügt und von @command{lilypond-book} verarbeitet wird. Der Einfachheit
572 halber werden hier alle LilyPond-Kommandos in der Syntax von @LaTeX{}
575 Zu beachten ist, dass die Optionen eines LilyPond-Kommandos von links
576 nach rechts verarbeitet werden. Wenn eine Option also mehrfach angegeben
577 wird, wird nur die letzte benutzt.
579 Die folgenden Optionen können für LilyPond-Kommandos benutzt werden:
582 @item staffsize=@var{ht}
583 Setzt die Höhe einer Notenzeile auf @var{ht}, angegeben in Punkten.
586 Erzeugt Notenzeilen im Flattersatz mit natürlichem Abstand der Noten. In
587 anderen Worten: @code{ragged-right = ##t} wird in das Musikfragment
588 eingefügt. Dies ist die Standardeinstellung für das @code{\lilypond@{@}}
589 Kommando, wenn die Option @code{line-width} nicht angegeben wird.
590 Ebenso ist dies die Standardeinstellung für die @code{lilypond}-Umgebung,
591 wenn die Option @code{fragment}, aber keine Zeilenlänge
592 explizit angegeben ist.
595 Streckt Musikfragmente mit nur einer Notenzeile auf die volle Breite,
596 es wird also @code{ragged-right = ##f} in das Musikfragment eingefügt.
599 @itemx line-width=@var{Breite}\@var{Einheit}
600 Setzt die Breite der Notenzeilen auf @var{Breite}, gemessen in Vielfachen
601 der @var{Einheit}. Als Einheit können die folgenden Zeichenfolgen angegeben
602 werden: @code{cm}, @code{mm}, @code{in} oder @code{pt}. Diese Option hat
603 nur Einfluss auf die Breite von Notenzeilen und Text im Musikfragment, nicht
604 jedoch auf den restlichen Text des Dokuments.
606 Wird diese Option ohne einen Wert angegeben, wird die Zeilenbreite auf
607 einen Standardwert gesetzt, der durch einen heuristischen Algorithmus
610 Wenn die @code{line-width} Option nicht angegeben wird, versucht
611 @command{lilypond-book} einen geeigneten Standardwert für alle
612 @code{lilypond}-Umgebungen zu finden, die die @code{ragged-right} Option
616 Verhindert die Ausgabe der Taktangabe am Anfang des Fragments und schaltet
617 Taktstriche und alle Taktangaben im Fragment ab.
620 Bewirkt, dass @command{lilypond-book} Standardcode um das Fragment herum einfügt, sodass z. B.
627 ohne @code{\layout}, @code{\score}, etc. eingegeben werden kann.
630 Verhindert das Einfügen von Standardcode um das Fragment herum. Dies ist
631 die Standardeinstellung, insofern ist diese Option im Normalfall unnötig.
633 @item indent=@var{Einzug}\@var{Einheit}
634 Setzt den Einzug des ersten Notensystems auf @var{Einzug}, gemessen in
635 Vielfachen der @var{Einheit}. Als Einheit können die folgenden Zeichenfolgen
636 angegeben werden: @code{cm}, @code{mm}, @code{in} oder @code{pt}. Diese
637 Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im
638 Musikfragment, nicht jedoch auf den restlichen Text des Dokuments.
641 Setzt den Einzug des ersten Notensystems auf 0. Diese
642 Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im
643 Musikfragment, nicht jedoch auf den restlichen Text des Dokuments. Dies
644 ist die Standardeinstellung, insofern ist diese Option im Normalfall
648 Verringert die Zeilenlänge des Musikfragments um @math{2*0.4}@dmn{in}
649 und setzt das Fragment in einen Zitat-Block. Der Wert von @q{0.4@dmn{in}}
650 kann durch die @code{exampleindent} Option angepasst werden.
653 Setzt den Betrag, um den das Fragment bei Benutzung der @code{quote}
654 Option eingerückt wird.
657 @itemx relative=@var{n}
658 Benutzt relative Oktavenbezeichnungen. Standardmäßig werden Noten relativ
659 zum mittleren C angegeben. Das optionale ganzzahlige Argument
660 gibt die Oktave der ersten Note an, wobei die Standardeinstellung von
661 @code{1} das mittlere C bedeutet. Die @code{relative} Option macht nur
662 Sinn in Verbindung mit der @code{fragment} Option, weshalb @code{fragment}
663 automatisch durch die Angabe der @code{relative} Option impliziert wird.
664 Eine explizite Angabe der @code{(no)fragment} Option hat keinen Effekt.
667 LilyPond benutzt zur Erzeugung seiner eigenen Dokumentation ebenfalls
668 @command{lilypond-book}. Zu diesem Zweck stehen noch zahlreiche
669 spezialisierte Optionen zur Verfügung:
673 Der LilyPond-Code im LilyPond-Kommando wird zum einen benutzt, um das
674 Musikfragment in eine Grafik mit schönem Notensatz zu konvertieren,
675 andererseits aber auch wörtlich in das Dokument eingefügt. Dies
676 geschieht in einem @q{verbatim}-Block, gefolgt vom Text einer
677 möglicherweise angegebenen @code{intertext} Option@footnote{Die
678 @code{intertext} Option ist noch nicht implementiert.} und der
679 Grafik des tatsächlichen Notensatzes. Diese Option funktioniert nur
680 fehlerhaft, wenn @code{\lilypond@{@}} im Fließtext benutzt wird.
682 Wird @code{verbatim} in Verbindung mit einem @code{lilypondfile}-Kommando
683 benutzt, so ist es auch möglich, nur ein Teil der Datei wörtlich einfügen
684 zu lassen: Wenn die eingebundene LilyPond-Datei ein Kommentar mit dem Inhalt
685 @samp{begin verbatim} (ohne Anführungszeichen) enthält, wird nur der
686 Dateiinhalt ab dieser Position eingefügt. Enthält die Datei mehrere
687 solche Kommentare, wirkt nur das letzte. Analog wird nur der Dateiinhalt
688 bis zu einem etwaigen Kommentar mit dem Inhalt @samp{end verbatim}
689 eingefügt. Im folgenden Beispiel wird das gesamte Musik für die
690 Erzeugung der Grafik im relativen Oktavenmodus interpretiert, der
691 wörtlich in das Dokument kopierte LilyPond-Code zeigt den @code{relative}-Befehl jedoch nicht.
694 \relative c' @{ % begin verbatim
701 erzeugt ein Zitat der Form
709 (Nur innerhalb von Texinfo-Dateien.) Stellt @code{\version
710 @@w@{"@@version@{@}"@}} an den Beginn des Fragments der Ausgabe mit
714 (Nur innerhalb von Texinfo-Dateien.) Wird @command{lilypond} mit der
715 Kommandozeilenoption @option{--header=@/texidoc} für eine Datei
716 @file{foo@/.ly} und enthält die Datei ein @code{texidoc}-Feld im
717 @code{\header}-Block, so wird dessen Inhalt in die Datei
718 @file{foo@/.texidoc} ausgegeben. Die @code{texidoc} Option veranlasst
719 @code{lilypond-book}, den Inhalt dieser @file{.texidoc} Dateien innerhalb
720 eines Dokumentationsblocks direkt vor dem Musikfragment in das aktuelle
723 Enthält also die Datei @file{foo@/.ly} etwa den LilyPond-Code
727 texidoc = "Dieses Beispiel zeigt eine einzelne Note."
733 und das Texinfo-Dokument @file{text.texinfo}
736 @@lilypondfile[texidoc]@{foo.ly@}
740 so liefert der folgende Aufruf von @code{lilypond-book} das gewünschte
744 lilypond-book --process="lilypond --format=tex --tex \
745 --header=texidoc test.texinfo
748 Die meisten Test-Dateien (im @file{input/} Verzeichnis von LilyPond)
749 sind kleine @file{.ly} Dateien von genau dieser Form.
751 Auch die Übersetzung dieser zusätzlichen Kommentare ist möglich:
752 Dazu muss das Texinfo-Dokument den Befehl @code{@@documentlanguage @var{LANG}}
753 und der @code{\header} Block in der Datei @file{foo@/.ly}
754 die Übersetzung im Feld @code{texidoc@var{LANG}} enthalten. Wird nun
755 @command{lilypond} mit der Option @option{--header=@/texidoc@var{LANG}}
756 aufgerufen, so wird der Inhalt der Datei @file{foo@/.texidoc@var{LANG}} anstelle von @file{foo@/.texidoc} eingefügt.
759 (Nur innerhalb von Texinfo-Dateien.) Diese Option wirkt wie die @code{quote} Option, außer dass nur das Musikfragment (und natürlich optional der
760 gesamte LilyPond-Code bei Benutzung von @code{verbatim}) in den Zitatblock eingefügt wird. Dies ist nützlich, wenn Sie ein Musikfragment zitieren möchten, nicht aber dessen @code{texidoc} Dokumentationsblock.
763 (Nur innerhalb von Texinfo-Dateien.) Diese Option wirkt ähnlich wie die
764 @code{texidoc} Option: Wenn @command{lilypond} mit der Option
765 @option{--header=@/doctitle} aufgerufen wird und die Eingabedatei
766 @file{foo@/.ly} ein Feld @code{doctitle} im @code{\header}-Block enthält,
767 wird dessen Wert in die Datei @file{foo@/.doctitle} geschrieben. Wird die
768 @code{doctitle} Option für ein Musikfragment benutzt, so wird der Inhalt
769 dieser Datei, der eine einzelne Textzeile sein sollte, im Texinfo-Dokument
770 als @code{@@lydoctitle @var{Text}} eingefügt. @code{@@lydoctitle} muss
771 allerdings in Ihrem Texinfo-Dokument als Makro selbst definiert werden.
772 Die Übersetzung funktioniert völlig analog zu @code{texidoc}.
775 Wenn eine LilyPond-Datei mittels @code{\lilypondfile} und dieser Option
776 eingebunden wird, wird der Dateiname (ohne die Pfadangabe) unmittelbar vor
777 dem Musikfragment ausgegeben. In HTML-Dateien ist er außerdem ein Link
778 auf die LilyPond-Datei.
781 Diese Option inkludiert die Schriftarten in allen EPS-Dateien, die von
782 diesem Fragment erzeugt werden. Dies ist nötig, wenn das Fragment
783 Schriftarten benutzt, die @LaTeX{} nicht selbst findet.
788 @node Invoking lilypond-book
789 @section Invoking @command{lilypond-book}
791 @command{lilypond-book} erzeugt abhängig vom Ausgabeformat eine Datei mit
792 einer der folgenden Dateierweiterungen: @file{.tex}, @file{.texi},
793 @file{.html} oder @file{.xml}. Alle @file{.tex}, @file{.texi} und
794 @file{.xml} Dateien müssen noch mit den entsprechenden Programmen (@LaTeX{},
795 DocBook, etc.) weiter verarbeitet werden, um druckfähige Dateien zu erhalten.
798 @subheading Format-specific instructions
800 @subsubheading @LaTeX{}
802 Es existieren zwei Methoden, Ihr @LaTeX{}-Dokument weiter zu verarbeiten,
803 um zu einer druck- oder publikationsfähigen Datei zu gelangen:
804 Zum einen die direkte Erzeugung einer PDF-Datei mit PDF@LaTeX{}, zum
805 anderen die Erzeugung einer DVI daraus einer PostScript-Datei mittels
806 @LaTeX{} und einem DVI-nach-PostScript Konverters wie @command{dvips}.
807 Die erste Methode ist einfacher und daher empfehlenswert.@footnote{Manchmal
808 kann eine Datei entweder von PDF@LaTeX{} oder von @LaTeX{} nicht korrekt
809 verarbeitet werden, weshalb hier beide Methoden beschrieben werden.} Welche
810 Methode auch immer benutzt wird, die Konvertierung zwischen PostScript und
811 PDF kann leicht mit Hilfsprogrammen wie @command{ps2pdf} und @command{pdf2ps}
812 (aus dem Ghostscript Paket) erfolgen.
814 Um eine PDF-Datei mittels PDF@LaTeX{} zu erzeugen, kann folgendermaßen
818 lilypond-book --pdf Ihre_Datei.pdftex
819 pdflatex Ihre_Datei.tex
822 @cindex Konturschriften
823 @cindex Type1 Schriften
825 @cindex Aufruf von dvips
826 Um eine PDF-Datei mittels @LaTeX{}/@command{dvips}/@command{ps2pdf} zu
827 erhalten, sind folgende Befehle nötig:
830 lilypond-book Ihre_Datei.lytex
832 dvips -Ppdf Ihre_Datei.dvi
837 Die @file{.dvi}-Datei, die beim Aufruf von @command{latex} erzeugt wird,
838 scheint keine Notenköpfe zu enthalten, was in Ordnung ist. Wenn Sie die
839 Datei wie beschrieben weiter verarbeiten, erscheinen die Notenköpfe korrekt
840 in den @file{.ps} und @file{.pdf} Dateien.
842 Der Aufruf von @command{dvips} kann einige Warnungen über fehlende
843 Schriftarten ausgeben. Auch dies ist in Ordnung und kann ignoriert werden.
845 Wenn Sie in der @LaTeX{}-Datei das Papierformat auf Querformat eingestellt
846 haben, vergessen Sie nicht auf die @code{-t landscape} Option beim
847 Aufruf von @command{dvips}.
850 @subsubheading Texinfo
852 Um ein von @command{lilypond-book} erzeugtes Texinfo-Dokument zu
853 verarbeiten, gehen Sie wie für alle anderen Texinfo-Dokumente vor:
854 Rufen Sie -- abhängig vom gewünschten Ausgabeformat -- eines der Programme
855 @command{texi2pdf}, @command{texi2dvi}, @command{makeinfo} oder
856 @command{texi2html} auf.
859 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, und @ref{Creating
860 an Info File, , , texinfo, GNU Texinfo}.
863 Die Dokumentation von Texinfo liefert dazu nähere Informationen.
867 @subheading Command line options
869 @command{lilypond-book} unterstützt die folgenden Kommandozeilenoptionen:
872 @item -f @var{Format}
873 @itemx --format=@var{Format}
874 Gibt das Format des Eingabedokuments an: @code{html}, @code{latex},
875 @code{texi} (Standardeinstellung), @code{texi-html} oder @code{docbook}.
876 Ist diese Option nicht angegeben, versucht @command{lilypond-book} das
877 Format anhand des Dateinamens zu bestimmen. Im Moment bedeutet @code{texi}
878 praktisch dasselbe wie @code{texi-html}.
880 @c This complicated detail is not implemented, comment it out -jm
882 The @code{texi} document type produces a Texinfo file with music
883 fragments in the printed output only. For getting images in the HTML
884 version, the format @code{texi-html} must be used instead.
887 @item -F @var{Filter}
888 @itemx --filter=@var{Filter}
889 Leitet die Musikfragmente durch das Programm @var{filter} anstatt sie
890 mit Lilypond zu einer Grafik zu verarbeiten. @option{--filter} und
891 @option{--process} kann nicht gleichzeigt benutzt werden. Beispielaufruf:
894 lilypond-book --filter='convert-ly --from=2.0.0 -' Mein-Buch.tely
899 Gibt eine kurze Hilfemeldung aus.
902 @itemx --include=@var{Pfad}
903 Fügt @var{Pfad} zu den Include-Pfaden hinzu. @command{lilypond-book} sucht
904 auch in allen Include-Pfaden nach bereits erstellten Grafiken für die
905 Musikfragmente. Wird das aktuelle Fragment gefunden und hat sich seit der
906 letzten Erstellung nicht geändert, wird es nicht erneut erzeugt. Bei manchen
907 der Programme zur Weiterverarbeitung wie etwa @command{makeinfo} oder
908 @command{latex} muss dieselbe @code{-I @var{Pfad}} Option angegeben werden,
909 damit das entsprechende Programm die Grafiken ebenso findet.
911 @item -o @var{Verzeichnis}
912 @itemx --output=@var{Verzeichnis}
913 Erzeugt die Ausgabedateien in @var{Verzeichnis}. Der Aufruf von
914 @command{lilypond-book} erzeugt zahlreiche kleine Dateien, die von
915 LilyPond, @command{latex}, @command{makeinfo} etc. dann weiter benützt
916 werden. Um zu vermeiden, dass das Quellenverzeichnis durch diese
917 Dateien unübersichtlich wird, kann die @option{--output} Option benutzt
918 werden. Vor dem Aufruf von @command{latex} oder @command{makeinfo}
919 sollten Sie in dieses Verzeichnis wechseln.
922 lilypond-book --output=out IhreDatei.lytex
927 @itemx --skip-lily-check
928 Nicht mit einer Fehlermeldung abbrechen, wenn keine Ausgabe von LilyPond
929 gefunden wird. Dies wird benutzt für Dokumentation ohne Grafiken.
931 @itemx --skip-png-check
932 Nicht mit einer Fehlermeldung abbrechen, wenn für die EPS-Dateien keine
933 PNG-Grafiken gefunden werden. Dies wird benutzt für Dokumentation ohne
936 @itemx --lily-output-dir=@var{Verzeichnis}
937 Schreibt @file{lily-XXX} Dateien nach @var{Verzeichnis} und erzeugt
938 im mit @code{--output} angegebenen Verzeichnis Verknüpfungen darauf.
939 Diese Option ist nützlich, um Zeit zu sparen, wenn Dokumente in
940 verschiedenen Verzeichnissen viele identische Musikfragmente
943 @itemx --info-images-dir=@var{Verzeichnis}
944 Formatiert die Texinfo-Ausgabe dergestalt, dass Info in @var{Verzeichnis}
945 nach den Grafiken zu den Musikfragmenten sucht.
947 @itemx --latex-program=@var{Programm}
948 Führt @command{Programm} anstelle von @command{latex} aus. Dies ist
949 nützlichen, wenn das Dokument mit einer anderen @LaTeX{}-Variante
950 wie etwa @command{xelatex} verarbeitet werden soll.
952 @itemx --left-padding=@var{Einrückung}
953 Fügt @var{Einrückung} als zusätzlichen Einzug in die EPS-Box ein.
954 @var{Einrückung} wird in Millimetern angegeben, die Standardeinstellung
955 is 3.0 Millimeter. Diese Option kann benutzt werden, wenn die Notenzeilen
956 über den Rand des Dokuments hinausstehen.
958 Die Breite eines eng ausgeschnittenen Notensystems kann variieren
959 aufgrund von Notationselementen, die über den linken Rand hinausstehen,
960 wie etwa Taktzahlen und Bezeichnungen der Instrumente. Diese Option
961 verkürzt die Notenzeile und verschiebt sie um denselben Betrag nach
965 @item -P @var{Kommando}
966 @itemx --process=@var{Kommando}
967 Verarbeitet LilyPond-Fragmente mit @var{Kommando} anstelle des
968 Standardbefehls @code{lilypond}. @code{--filter} und @code{--process}
969 können nicht gleichzeitig angegeben werden.
972 Erzeugt PDF-Dateien mit PDF@LaTeX{}.
976 Gibt ausführliche informative Meldungen aus.
980 Gibt die Versionsnummer aus.
985 Der Texinfo-Befehl @code{@@pagesizes} wird ignoriert. Ebenso werden
986 @LaTeX{}-Befehle ignoriert, die den Seitenrand oder die Zeilenlänge
987 nach der Dokumentpräambel verändern.
989 Nur der erste @code{\score}-Block eines LilyPond-Fragments wird verarbeitet.
992 @node Filename extensions
993 @section Filename extensions
995 Für die Eingabedatei kann zwar jede beliebige Dateinamenserweiterung benutzt
996 werden, allerdings muss bei Verwendung einer nicht bekannten Erweiterung
997 das Ausgabeformat explizit an @command{lilypond-book} angegeben werden.
998 Details dazu finden sich im Abschnitt @ref{Invoking lilypond-book}.
999 Wird eine bekannte Erweiterung benutzt, wählt @command{lilypond-book}
1000 automatisch das richtige Ausgabeformat basierend auf der Erweiterung der
1004 @multitable @columnfractions .2 .5
1005 @item @strong{Erweiterung} @tab @strong{Ausgabeformat}
1007 @item @file{.html} @tab HTML
1008 @item @file{.itely} @tab Texinfo
1009 @item @file{.latex} @tab @LaTeX{}
1010 @item @file{.lytex} @tab @LaTeX{}
1011 @item @file{.lyxml} @tab DocBook
1012 @item @file{.tely} @tab Texinfo
1013 @item @file{.tex} @tab @LaTeX{}
1014 @item @file{.texi} @tab Texinfo
1015 @item @file{.texinfo} @tab Texinfo
1016 @item @file{.xml} @tab HTML
1020 Wird dieselbe Erweiterung für die Eingabedatei wie für die Ausgabedatei
1021 benutzt und befindet sich die Eingabedatei im aktuellen Arbeitsverzeichnis
1022 von @command{lilypond-book}, muss die @code{--output} Option für
1023 @command{lilypond-book} benutzt werden. Anderenfalls würde
1024 @command{lilypond-book} ja die Eingabedatei überschreiben, weshalb das
1025 Programm in diesem Fall mit einer Fehlermeldung wie @qq{Fehler: Ausgabe
1026 würde Eingabedatei überschreiben; verwenden Sie --output.} abbricht.
1029 @node Alternate methods of mixing text and music
1030 @section Alternative methods of mixing text and music
1032 Dieser Abschnitt stellt Methoden vor, wie Text und Musik auf andere
1033 Weise kombiniert werden können als dies durch @command{lilypond-book}
1034 automatisiert geschieht.
1038 * Many quotes from a large score::
1039 * Inserting LilyPond output into OpenOffice.org::
1040 * Inserting LilyPond output into other programs::
1043 @node Many quotes from a large score
1044 @subsection Many quotes from a large score
1046 Wenn aus einer großen Partitur viele kleine Fragmente eingefügt
1047 werden sollen, kann dazu das @q{clip systems} Feature benutzt werden.
1048 Siehe @ruser{Extracting fragments of music}.
1051 @node Inserting LilyPond output into OpenOffice.org
1052 @subsection Inserting LilyPond output into OpenOffice.org
1054 Musik im LilyPond-Format kann in OpenOffice.org eingefügt werden mittels
1055 @uref{http://@/ooolilypond@/.sourceforge@/.net@/,OOoLilyPond}.
1058 @node Inserting LilyPond output into other programs
1059 @subsection Inserting LilyPond output into other programs
1061 Im die Ausgabe von LilyPond in anderen Programmen einzufügen,
1062 sollte @code{lilypond} benutzt werden. Jedes Beispiel muss
1063 getrennt manuell erzeugt und ins Dokument eingefügt werden;
1064 für letzteres schlagen Sie bitte im Handbuch Ihrer
1065 Textverarbeitungs-Software nach. Die meisten Programme
1066 unterstützen das Einfügen von Grafiken im @file{PNG}-, @file{EPS}-
1067 oder @file{PDF}-Format.
1069 Um den leeren Rand um die Notenzeilen zu verringern, können folgende
1070 Einstellungen benutzt werden:
1078 bookTitleMarkup = ##f
1079 scoreTitleMarkup = ##f
1085 Eine @file{EPS}-Datei kann mit folgendem Befehl erzeugt werden:
1088 lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts Dateiname.ly
1092 eine @file{PNG}-Datei mittels:
1095 lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png Dateiname.ly