1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*-
2 @c This file is part of lilypond-program.tely
4 Translation of GIT committish: b54fc6953a8d70a3c51e8c3d0cbf9b3fe9652d78
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
10 @c Translators: Reinhold Kainhofer
13 @chapter @command{lilypond-book}: Integrating text and music
16 Wenn Sie in ein Dokument Bilder von Musiknoten einfügen möchten, so können
17 Sie genauso machen, wie Sie andere Bilder einfügen würden: Die Bilder
18 werden getrennt vom Dokument im PostScript oder PNG Format erstellt
19 und können dann in @LaTeX{} oder HTML inkludiert werden.
21 @command{lilypond-book} automatisiert diesen Prozess: Dieses
22 Programm extrahiert Musik-Schnipsel aus Ihrem Dokument,
23 ruft @command{lilypond} auf und fügt die resultierenden Bilder
24 in Ihr Dokument ein. Die Länge der Zeilen und die Schriftgroße
25 werden dabei Ihrem Dokument angepasst.
27 @command{lilypond-book} ist ein eigenständiges Programm und wird
28 üblicherweise von der Kommandozeile aufgerufen. Nähere Informationen
29 hierzu finden sich in @ref{Command-line usage}.
31 Dieses Vorgehen kann bei @LaTeX{}, HTML, Texinfo oder DocBook Dokumenten
40 @cindex Dokument, Musik einfügen in
41 @cindex HTML, Musik in
42 @cindex Texinfo, Musik in
43 @cindex DocBook, Musik in
44 @cindex @LaTeX{}, Musik in
48 * An example of a musicological document::
49 * Integrating music and text::
50 * Music fragment options::
51 * Invoking lilypond-book::
52 * Filename extensions::
53 * Alternate methods of mixing text and music::
56 @node An example of a musicological document
57 @section An example of a musicological document
60 @cindex Musikwissenschaft
62 Zahlreiche Texte enthalten Musikbeispiele: musikwissenschaftliche
63 Abhandlungen, Liederbücher oder Handbücher wie dieses. Solche
64 Texte können händisch erzeugt werden, indem einfach die Musikbeispiele
65 als Grafik (PostScript, PNG, GIF, etc.) im Textverarbeitungsprogramm
66 eingefügt werden. Für HTML, @LaTeX{}, Texinfo und DocBook Dokumente
67 existiert jedoch ein Weg, dies automatisiert durchzuführen.
69 Das Programm @code{lilypond-book} extrahiert die Musikfragmente aus
70 dem Dokument, formatiert sie automatisiert in eine Grafik und fügt die
71 resultierenden Notenbeispiele dann wieder in das Dokument ein. Dies soll
72 hier an einem einfachen @LaTeX{}-Beispiel verdeutlicht werden. Das Beispiel
73 selbst enthält schon Erklärungen, sodass wir es hier nicht weiter diskutieren
80 \documentclass[a4paper]{article}
84 Dokumente für \verb+lilypond-book+ können Musik und Text nach Belieben
85 kombinieren. Zum Beispiel:
89 c2 g'2 \times 2/3 { f8 e d } c'2 g4
93 Optionen für \verb+lilypond+ werden dabei in eckige Klammern gesetzt.
95 \begin[fragment,quote,staffsize=26,verbatim]{lilypond}
99 Größere Beispiele können auch in einer eigenständigen Datei gespeichert
100 und dann mit \verb+\lilypondfile+ eingebunden werden.
102 \lilypondfile[quote,noindent]{screech-boink.ly}
104 (Falls nötig kann screech-boink.ly durch eine beliebige andere .ly
105 Datei im selben Verzeichnis wie diese Datei ersetzt werden.)
111 @subheading Processing
113 Speichern Sie den obigen @LaTeX{} Quellcode in eine Datei @file{lilybook.lytex}
114 und führen Sie dann in der Kommandozeile folgende Befehle aus:
116 @c keep space after @version{} so TeX doesn't choke
118 lilypond-book --output=out --pdf lilybook.lytex
119 @emph{lilypond-book (GNU LilyPond) @version{} }
120 @emph{Reading lilybook.lytex...}
121 @emph{..(viele Ausgabezeilen entfernt)..}
122 @emph{Compiling lilybook.tex...}
125 @emph{..(viele Ausgabezeilen entfernt)..}
127 @emph{(Ersetzen Sie @command{xpdf} durch Ihren PDF-Betrachter)}
130 Die Ausführung von @command{lilypond-book} und @command{latex} erzeugt
131 zahlreiche temporäre Dateien, die das Arbeitsverzeichnis unnötig
132 vollstopfen würden. Daher empfiehlt sich die Benutzung der @code{--output=@var{dir}}
133 Option, wodurch die Dateien im Unterverzeichnis @file{dir} erzeugt werden.
135 Das Endresultat des obigen @LaTeX{} Beispiels ist im nächsten Abschnitt
136 zu sehen.@footnote{Da dieses Handbuch mit Texinfo erzeugt wurde,
137 kann sich das Aussehen des Beispiels leicht von dem mit @LaTeX{}
138 erzeugten unterscheiden.}
144 Dokumente für @command{lilypond-book} können Musik und Text nach Belieben
145 kombinieren. Zum Beispiel:
149 c2 g'2 \times 2/3 { f8 e d } c'2 g4
153 Optionen für @command{lilypond} werden dabei in eckige Klammern gesetzt.
155 @lilypond[fragment,quote,staffsize=26,verbatim]
159 Größere Beispiele können auch in einer eigenständigen Datei gespeichert
160 und dann mit @code{\lilypondfile} eingebunden werden.
162 @lilypondfile[quote,noindent]{screech-boink.ly}
169 @node Integrating music and text
170 @section Integrating music and text
172 In diesem Abschnitt soll die Integration von LilyPond mit den
173 verschiedenen Dateiformaten detailliert erläutert werden.
187 @LaTeX{} ist der de-facto Standard zur Publikation von wissenschaftlichen Texten
188 in Naturwissenschaft und Technik. Es basiert auf dem Schriftsetzer @TeX{},
189 der die bestmögliche Typographie erzeugt.
191 Siehe die @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/german/,
192 @emph{@LaTeX{}2e-Kurzbeschreibung}} für eine Einführung in die
193 Benutzung von @LaTeX{}.
195 Musikbeispiele können eingegeben werden als
198 \begin[Optionen,kommen,]@{lilypond@}
199 IHR LILYPOND QUELLCODE
207 \lilypondfile[Optionen,kommen,hier]@{@var{Dateiname}@}
214 \lilypond@{ IHR LILYPOND QUELLCODE @}
217 Der Aufruf von @command{lilypond-book} liefert eine Datei, die dann mit
218 @LaTeX{} weiter verarbeitet werden kann.
220 Dies soll hier an einigen Beispielen gezeigt werden. Die @code{lilypond} Umgebung
223 \begin[quote,fragment,staffsize=26]@{lilypond@}
231 @lilypond[quote,fragment,staffsize=26]
238 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
244 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
247 Innerhalb des @code{\lilypond@{@}} Befehls dürfen keine geschwungenen
248 Klammern @code{@{} oder @code{@}} vorkommen, weshalb dieser Befehl
249 nur mit der @code{fragment} Option Sinn macht.
251 Die Standardzeilenlänge wird bestimmt, indem die Angaben in der Dokumentpräambel,
252 also dem Teil der @LaTeX{} Datei vor dem @code{\begin@{document@}},
253 analysiert werden. Der @command{lilypond-book} Befehl sendet diese
254 Angaben an @LaTeX{}, um herauszufinden, wie breit der Text tatsächlich
255 ist. Die Breite der Notenzeilen wird dann an diese Textbreite angepasst.
256 Ein derartig heuristischer Algorithmus kann natürlich auch versagen,
257 wobei man in diesem Fall die Breite auch explizit durch die
258 @code{line-width} Option des @code{\lilypond@{@}} oder @code{\begin@{lilypond@}}
259 Befehls angeben kann.
261 @cindex titling and lilypond-book
262 @cindex \header in @LaTeX{} documents
264 Jedes Musikbeispiele ruft die folgenden Makros auf, wenn sie vom Benutzer
268 @item @code{\preLilyPondExample} -- wird vor der Musik aufgerufen,
270 @item @code{\postLilyPondExample} -- wird nach der Musik aufgerufen,
272 @item @code{\betweenLilyPondSystem[1]} -- wird zwischen den einzelnen
273 Systemen aufgerufen, wenn @code{lilypond-book} das Beispiel in verschiedene
274 PostScript Dateien getrennt hat. Dieser @LaTeX{}-Befehl muss so definiert
275 werden, dass er genau ein Argument erhält, nämlich die Zahl der bereits
276 in @LaTeX{} eingefügten Dateien dieses Beispiels. Als Standard wird einfach
277 ein @code{\linebreak} eingefügt.
283 @cindex Latex, Feta Schriftart
286 Um Zeichen wie Auflösungszeichen, Kreuze, Fermaten etc. aus der Feta-Schriftart
287 von LilyPond in @LaTeX{} einzufügen, muss @code{\input@{titledefs@}} benutzt werden,
288 wodurch dann der Befehl @code{\fetachar} zur Verfügung steht.
291 \documentclass[a4paper]@{article@}
302 Die Namen der Symbole sind in der Datei @file{feta20.tex} definiert. Sie finden
303 den Pfad zu dieser Datei mit dem Befehl
313 Manchmal ist es nötig, Musikelemente wie Halte- oder Bindebögen so darzustellen,
314 als ob sie am Ende des Musikausschnitten noch weitergehen würden. Eine solche
315 Ausgabe kann erreicht werden, indem ein Zeilenumbruch in die Notenzeile
316 eingefügt wird und die Ausgabe der folgenden Notenzeile unterdrückt wird.
318 In @LaTeX{} wird dazu der Befehl @code{\betweenLilyPondSystem} einfach derartig
319 programmiert, dass die Ausgabe der einzelnen Notensysteme abgebrochen wird,
320 sobald die gewünschte Anzahl an Systemen erreicht ist. Da
321 @code{\betweenLilyPondSystem} zum ersten Mal nach dem ersten System aufgerufen
322 wird, ist die Ausgabe nur eines Systems trivial.
325 \def\betweenLilyPondSystem#1@{\endinput@}
327 \begin[fragment]@{lilypond@}
328 c'1\( e'( c'~ \break c' d) e f\)
332 Um eine größere Zahl an System nötig, dann muss dementsprechend eine
333 @TeX{}-Bedingung vor dem @code{\endinput} benutzt werden:
336 \def\betweenLilyPondSystem#1@{
337 \ifnum##1<2\else\endinput\fi
341 Dieses Beispiel bricht nach genau zwei ausgegebenen Notenzeilen ab.
342 Für eine andere Anzahl braucht nur @q{2} durch die entsprechende
343 Anzahl ersetzt werden.
345 Die Definition von @code{\betweenLilyPondSystem} bleibt gültig,
346 bis @TeX{} die aktuelle Umgebung in @LaTeX{} verlässt oder der
347 Befehl durch eine neue Definition überschrieben wird.
348 Dies kann etwa folgendermaßen in der @LaTeX{}-Datei geschehen:
351 \let\betweenLilyPondSystem\undefined
354 Obige Definition von @code{\betweenLilyPondSystem} kann durch die
355 Definition eines @TeX{}-Makros auch verallgemeinert werden,
358 \def\onlyFirstNSystems#1@{
359 \def\betweenLilyPondSystem##1@{\ifnum##1<#1\else\endinput\fi@}
364 wobei diesem Makro @code{\onlyFirstNSystems} einfach die Anzahl der
365 gewünschten Systeme übergeben wird:
368 \onlyFirstNSystems@{3@}
369 \begin@{lilypond@}...\end@{lilypond@}
370 \onlyFirstNSystems@{1@}
371 \begin@{lilypond@}...\end@{lilypond@}
375 @command{lilypond-book} stellt auch zahlreiche Kommandozeilen-Optionen zur
376 Verfügung. Für eine Liste dieser Optionen und andere hilfreiche Details zur
377 Verarbeitung von @LaTeX{}-Dokumenten, siehe @ref{Invoking lilypond-book}.
385 Texinfo ist das Standard-Dokumentationsformat des GNU Projekts. Ein Beispiel
386 für ein Dokument im Texinfo Format ist dieses Handbuch, wobei die HTML-, PDF- und
387 Info-Versionen alle aus demselben Texinfo Dokument erzeugt werden.
389 In der Eingabedatei wir Musik eingegeben als
392 @@lilypond[Optionen,kommen,hier]
393 IHR LILYPOND QUELLCODE
401 @@lilypond[Optionen,kommen,hier]@{ IHR LILYPOND QUELLCODE @}
408 @@lilypondfile[Optionen,kommen,hier]@{@var{Dateiname}@}
411 Wenn @command{lilypond-book} eine derartige Datei verarbeitet,
412 wird eine Texinfo-Datei mit der Erweiterung @file{.texi} erzeugt,
413 die @code{@@image} Befehle für die Ausgabe nach HTML, Info und PDF
414 enthält. @command{lilypond-book} erzeugt die entsprechenden Grafiken
415 der Musikbeispiele im EPS- und PDF-Format für die Ausgabe nach PDF
416 und im PNG-Format für die Ausgabe nach HTML und Info.
418 Hier sollen zwei einfache Beispiele gezeigt werden. Eine @code{lilypond} Umgebung
436 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
442 @lilypond[fragment,staffsize=11]{<c' e' g'>}
444 Im Gegensatz zu @LaTeX{} erzeugt @code{@@lilypond@{...@}} allerdings keine Grafik
445 im Fließtext, sondern setzt sie immer in einen eigenen Absatz.
451 Musik wird eingegeben als
454 <lilypond fragment relative=2>
455 \key c \minor c4 es g2
460 @command{lilypond-book} erzeugt dann daraus eine HTML-Datei mit den entsprechenden
461 @code{<image>} Tags für die Musikbeispiele in jeweils einem eigenen Absatz.
464 @lilypond[fragment,relative=2]
465 \key c \minor c4 es g2
468 Für Grafiken im Fließtext kann @code{<lilypond ... />} benutzt werden, wobei
469 die Optionen durch einen Doppelpunkt von der Musik getrennt angegeben werden.
472 Musik <lilypond relative=2: a b c/> in derselben Zeile.
475 Um Dateien mit Musik einzubinden, kann folgendermaßen vorgegangen werden:
478 <lilypondfile @var{Option1} @var{Option2} ...>@var{Dateiname}</lilypondfile>
487 Bei der Einbindung von Musik im LilyPond-Format in DocBook soll die
488 Konformität unseres DocBook Dokuments erhalten bleiben und damit
489 die Bearbeiten mit DocBook-Editoren sowie die Validierung weiter
490 möglich bleiben. Aus diesem Grund werden in DocBook keine eigenen Tags
491 wie in HTML benutzt, sondern die von den vorhandenen DocBook-Elementen
492 vorgegebenen Konventionen entsprechend benützt.
494 @subheading Common conventions
496 Für die Einbindung von LilyPond Code werden in allen Fällen die
497 @code{mediaobject} und @code{inlinemediaobject} Elemente benutzt,
498 die unsere Beispiele in einem eigenen Absatz oder im Fließtext
499 einfügen. Die Optionen zur Formatierung mit LilyPond werden dabei
500 in der @code{role} Eigenschaft des innersten Elements angegeben,
501 wie im nächsten Abschnitt gezeigt wird. Die DocBook Datei, die
502 dann von @command{lilypond-book} verarbeitet wird, sollte der Klarheit
503 halber die Dateierweiterung @file{.lyxml} (jedenfalls nicht
504 @file{.xml}) besitzen.
506 @subheading Including a LilyPond file
508 Dies ist der einfachste Fall: Die LilyPond-Datei besitzt die Erweiterung
509 @file{.ly} und wird einfach als @code{imageobject} eingebettet:
514 <imagedata fileref="music1.ly" role="printfilename" />
519 Für das äußerste Element kann je nach Bedarf @code{mediaobject} oder
520 @code{inlinemediaobject} benutzt werden.
522 @subheading Including LilyPond code
524 Die Einbindung von LilyPond-Code direkt in der DocBook-Datei ist
525 durch die Benutzung von @code{programlisting} möglich,
526 wobei die Sprache auf @code{lilypond} gesetzt wird:
531 <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
532 \context Staff \with @{
533 \remove Time_signature_engraver
534 \remove Clef_engraver@}
541 Das äußerste Element ist also @code{mediaobject} oder
542 @code{inlinemediaobject}, welches ein @code{textobject} mit dem
543 @code{programlisting} enthält.
545 @subheading Processing the DocBook document
547 Der Aufruf von @command{lilypond-book} mit der @file{.lyxml}-Datei
548 erzeugt ein gültiges DocBook-Dokument mit der Erweiterung @file{.xml},
549 welches normal weiterverarbeitet werden kann. Bei Benutzung von
550 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex} wird daraus
551 automatisch eine PDF-Datei erzeugt. Für die Erzeugung von HTML (HTML
552 Help, JavaHelp, etc.) können die offiziellen DocBook XSL-Stylesheets
553 benutzt werden. Eventuell müssen dafür allerdings kleinere Anpassungen
557 @node Music fragment options
558 @section Music fragment options
563 @node Invoking lilypond-book
564 @section Invoking @command{lilypond-book}
569 @subheading Format-specific instructions
570 @subsubheading @LaTeX{}
571 @subsubheading Texinfo
572 @subheading Command line options
573 @node Filename extensions
574 @section Filename extensions
579 @node Alternate methods of mixing text and music
580 @section Alternative methods of mixing text and music
582 Dieser Abschnitt stellt Methoden vor, wie Text und Musik auf andere
583 Weise kombiniert werden können als dies durch @command{lilypond-book}
584 automatisiert geschieht.
588 * Many quotes from a large score::
589 * Inserting LilyPond output into OpenOffice.org::
590 * Inserting LilyPond output into other programs::
593 @node Many quotes from a large score
594 @subsection Many quotes from a large score
596 Wenn aus einer großen Partitur viele kleine Fragmente eingefügt
597 werden sollen, kann dazu das @q{clip systems} Feature benutzt werden.
598 Siehe @ruser{Extracting fragments of music}.
601 @node Inserting LilyPond output into OpenOffice.org
602 @subsection Inserting LilyPond output into OpenOffice.org
604 Musik im LilyPond-Format kann in OpenOffice.org eingefügt werden mittels
605 @uref{http://@/ooolilypond@/.sourceforge@/.net@/,OOoLilyPond}.
608 @node Inserting LilyPond output into other programs
609 @subsection Inserting LilyPond output into other programs
611 Im die Ausgabe von LilyPond in anderen Programmen einzufügen,
612 sollte @code{lilypond} benutzt werden. Jedes Beispiel muss
613 getrennt manuell erzeugt und ins Dokument eingefügt werden;
614 für letzteres schlagen Sie bitte im Handbuch Ihrer
615 Textverarbeitungs-Software nach. Die meisten Programme
616 unterstützen das Einfügen von Grafiken im @file{PNG}-, @file{EPS}-
617 oder @file{PDF}-Format.
619 Um den leeren Rand um die Notenzeilen zu verringern, können folgende
620 Einstellungen benutzt werden:
628 bookTitleMarkup = ##f
629 scoreTitleMarkup = ##f
635 Eine @file{EPS}-Datei kann mit folgendem Befehl erzeugt werden:
638 lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts Dateiname.ly
640 Eine @file{PNG}-Datei mittels:
641 lilypond -dbackend=eps -dno-gs-load-fonts -dinclude-eps-fonts --png Dateiname.ly
645 @c -- SKELETON FILE --