3.3 Die Musikfragment-Optionen

Im Folgenden meint ‚LilyPond-Befehl‘ einen beliebigen in den vorgehenden Abschnitten beschriebenen Befehl, der ein LilyPond-Fragment in eine Datei einfügt und von lilypond-book verarbeitet wird. Der Einfachheit halber werden hier alle LilyPond-Befehle in der Syntax von LaTeX dargestellt.

Zu beachten ist, dass die Optionen eines LilyPond-Befehls von links nach rechts verarbeitet werden. Wenn eine Option also mehrfach angegeben wird, wird nur die letzte benutzt.

Die folgenden Optionen können für LilyPond-Befehle benutzt werden:

staffsize=ht

Setzt die Höhe einer Notenzeile auf ht, angegeben in Punkten.

ragged-right

Erzeugt Notenzeilen im Flattersatz mit natürlichem Abstand der Noten. In anderen Worten: ragged-right = ##t wird in das Musikfragment eingefügt. Einzeilige Fragmentschnipsel werden standardmäßig immer im Flattersatz gesetzt, außer noragged-right wird explizit angegeben.

noragged-right

Streckt Musikfragmente mit nur einer Notenzeile auf die volle Breite, es wird also ragged-right = ##f in das Musikfragment eingefügt.

line-width
line-width=Breite\Einheit

Setzt die Breite der Notenzeilen auf Breite, gemessen in Vielfachen der Einheit. Als Einheit können die folgenden Zeichenfolgen angegeben werden: cm, mm, in oder pt. Diese Option hat nur Einfluss auf die Breite von Notenzeilen und Text im Musikfragment, nicht jedoch auf den restlichen Text des Dokuments.

Wird diese Option ohne einen Wert angegeben, wird die Zeilenbreite auf einen Standardwert gesetzt, der durch einen heuristischen Algorithmus bestimmt wird.

Wenn die line-width-Option nicht angegeben wird, versucht lilypond-book einen geeigneten Standardwert für alle lilypond-Umgebungen zu finden, die die ragged-right-Option nicht benutzen.

papersize=Zeichenkette

Wobei Zeichenkette eine Papiergröße wie definiert in scm/paper.scm ist, beispielsweise a5, quarto, 11x17 usw.

Werte, die nicht in scm/paper.scm definiert sind, werden ignoriert, eine Warnung wird ausgegeben und das Schnipsel wird mit dem Standardwert a4 ausgegeben.

notime

Verhindert die Ausgabe der Taktangabe am Anfang des Fragments und schaltet Taktstriche und alle Taktangaben im Fragment ab.

fragment

Bewirkt, dass lilypond-book Standardcode um das Fragment herum einfügt, sodass z. B.

c'4

ohne \layout, \score, etc. eingegeben werden kann.

nofragment

Verhindert das Einfügen von Standardcode um das Fragment herum. Dies ist die Standardeinstellung, insofern ist diese Option im Normalfall unnötig.

indent=Einzug\Einheit

Setzt den Einzug des ersten Notensystems auf Einzug, gemessen in Vielfachen der Einheit. Als Einheit können die folgenden Zeichenfolgen angegeben werden: cm, mm, in oder pt. Diese Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im Musikfragment, nicht jedoch auf den restlichen Text des Dokuments.

noindent

Setzt den Einzug des ersten Notensystems auf 0. Diese Option hat nur Einfluss auf den Einzug von Notenzeilen und Text im Musikfragment, nicht jedoch auf den restlichen Text des Dokuments. Dies ist die Standardeinstellung, insofern ist diese Option im Normalfall unnötig.

quote

Verringert die Zeilenlänge des Musikfragments um 2*0.4in und setzt das Fragment in einen Zitat-Block. Der Wert von ‚0.4in‘ kann durch die exampleindent Option angepasst werden.

exampleindent

Setzt den Betrag, um den das Fragment bei Benutzung der quote Option eingerückt wird.

relative
relative=n

Benutzt relative Oktavenbezeichnungen. Standardmäßig werden Noten relativ zum mittleren C angegeben. Das optionale ganzzahlige Argument gibt die Oktave der ersten Note an, wobei die Standardeinstellung von 1 das mittlere C bedeutet. Die relative Option macht nur Sinn in Verbindung mit der fragment Option, weshalb fragment automatisch durch die Angabe der relative Option impliziert wird. Eine explizite Angabe der (no)fragment Option hat keinen Effekt.

LilyPond benutzt zur Erzeugung seiner eigenen Dokumentation ebenfalls lilypond-book. Zu diesem Zweck stehen noch zahlreiche spezialisierte Optionen zur Verfügung:

verbatim

Der LilyPond-Code im LilyPond-Kommando wird zum einen benutzt, um das Musikfragment in eine Grafik mit schönem Notensatz zu konvertieren, andererseits aber auch wörtlich in das Dokument eingefügt. Dies geschieht in einem ‚verbatim‘-Block, gefolgt vom Text einer möglicherweise angegebenen intertext Option4 und der Grafik des tatsächlichen Notensatzes. Diese Option funktioniert nur fehlerhaft, wenn \lilypond{} im Fließtext benutzt wird.

Wird verbatim in Verbindung mit einem lilypondfile-Kommando benutzt, so ist es auch möglich, nur ein Teil der Datei wörtlich einfügen zu lassen: Wenn die eingebundene LilyPond-Datei ein Kommentar mit dem Inhalt ‘begin verbatim’ (ohne Anführungszeichen) enthält, wird nur der Dateiinhalt ab dieser Position eingefügt. Enthält die Datei mehrere solche Kommentare, wirkt nur das letzte. Analog wird nur der Dateiinhalt bis zu einem etwaigen Kommentar mit dem Inhalt ‘end verbatim’ eingefügt. Im folgenden Beispiel wird das gesamte Musik für die Erzeugung der Grafik im relativen Oktavenmodus interpretiert, der wörtlich in das Dokument kopierte LilyPond-Code zeigt den relative-Befehl jedoch nicht.

\relative { % begin verbatim
  c'4 e2 g4
  f2 e % end verbatim
}

erzeugt ein Zitat der Form

  c4 e2 g4
  f2 e

Wenn Kommentare und Variablen im Zitat, aber nicht im Quelltext übersetzt werden sollen, kann die Umgebungsvariable LYDOC_LOCALEDIR auf einen Verzeichnispfad gesetzt werden. Das Verzeichnis sollte einen Baum an .mo-Nachrichtenkatalogen beinhalten mit lilypond-doc als Domain.

texidoc

(Nur innerhalb von Texinfo-Dateien.) Wird lilypond mit der Kommandozeilenoption --header=texidoc für eine Datei foo.ly und enthält die Datei ein texidoc-Feld im \header-Block, so wird dessen Inhalt in die Datei foo.texidoc ausgegeben. Die texidoc Option veranlasst lilypond-book, den Inhalt dieser .texidoc Dateien innerhalb eines Dokumentationsblocks direkt vor dem Musikfragment in das aktuelle Dokument einzufügen (aber außerhalb der example-Umgebung, die durch die Option quote hervorgerufen wird).

Enthält also die Datei foo.ly etwa den LilyPond-Code

\header {
  texidoc = "Dieses Beispiel zeigt eine einzelne Note."
}
{ c'4 }

und das Texinfo-Dokument text.texinfo

@lilypondfile[texidoc]{foo.ly}

so liefert der folgende Aufruf von lilypond-book das gewünschte Ergebnis:

lilypond-book --pdf --process="lilypond \
  --header=texidoc" test.texinfo

Die meisten Test-Dateien (im input/ Verzeichnis von LilyPond) sind kleine .ly Dateien von genau dieser Form.

Auch die Übersetzung dieser zusätzlichen Kommentare ist möglich: Dazu muss das Texinfo-Dokument den Befehl @documentlanguage LANG und der \header Block in der Datei foo.ly die Übersetzung im Feld texidocLANG enthalten. Wird nun lilypond mit der Option --header=texidocLANG aufgerufen, so wird der Inhalt der Datei foo.texidocLANG anstelle von foo.texidoc eingefügt.

doctitle

(Nur innerhalb von Texinfo-Dateien.) Diese Option wirkt ähnlich wie die texidoc Option: Wenn lilypond mit der Option --header=doctitle aufgerufen wird und die Eingabedatei foo.ly ein Feld doctitle im \header-Block enthält, wird dessen Wert in die Datei foo.doctitle geschrieben. Wird die doctitle Option für ein Musikfragment benutzt, so wird der Inhalt dieser Datei, der eine einzelne Textzeile sein sollte, im Texinfo-Dokument als @lydoctitle Text eingefügt. @lydoctitle muss allerdings in Ihrem Texinfo-Dokument als Makro selbst definiert werden. Die Übersetzung funktioniert völlig analog zu texidoc.

nogettext

Nur für Texinfo-Ausgabe: Kommentare und Variablenbezeichnungen im zitierten Quelltext des Schnipsel werden nicht übersetzt.

printfilename

Wenn eine LilyPond-Datei mittels \lilypondfile und dieser Option eingebunden wird, wird der Dateiname (ohne die Pfadangabe) unmittelbar vor dem Musikfragment ausgegeben. In HTML-Dateien ist er außerdem ein Link auf die LilyPond-Datei. Nur der eigentliche Name der Datei wird ausgegeben, der Pfad wird also nicht mit angezeigt.


Footnotes

(4)

Die intertext Option ist noch nicht implementiert.


GNU LilyPond Programmbenutzung v2.25.22 (development-branch).