3.3.1 LilyPond-Dateien einfügen
Ein größeres Projekt kann in einzelne Dateien aufgeteilt werden. Um eine andere Datei einzubinden, kann der Befehl
\include "andereDatei.ly"
benutzt werden.
Die Zeile \include "andereDatei.ly"
benimmt sich genauso,
also ob der Inhalt der Datei ‘andereDatei.ly’ komplett in die
Hauptdatei eingefügt werden würde. So kann man für ein größeres
Projekt die einzelnen Stimmen der Instrumente getrennt notieren
und sie dann in einer Partitur-Datei benutzen. Meistens werden
in den eingefügten Dateien einige Variablen definiert, die dann
auch in der Hauptdatei eingesetzt werden können. Mit Marken (Tags)
gekennzeichnete Abschnitte können eingesetzt werden, um die
entsprechenden Noten etc. an verschiedenen Stellen in der Datei
zur Verfügung zu stellen. Siehe auch Verschiedene Editionen aus einer Quelldatei.
Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
nach dem \include
-Befehl verwiesen werden. Dateien an anderen
Stellen können eingebunden werden, indem entweder ein vollständiger
Pfad oder ein relativer Pfad zu der Datei angegeben wird. Hierbei
sollten die für UNIX typischen Schrägstriche (/) und nicht die
rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
zu trennen. Wenn etwa die Datei ‘kram.ly’ ein Verzeichnis
höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
aussehen:
\include "../kram.ly"
Wenn die Orchesterstimmen andererseits in einem Unterordner mit
der Bezeichnung stimmen
liegen, sieht er folgendermaßen
aus:
\include "stimmen/VI.ly" \include "stimmen/VII.ly" ... etc
Dateien, die eingebunden werden sollen, können selber auch wiederum
ein \include
enthalten. Diese Einbindung zweiter Ebene
werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
sondern relativ zur Hauptdatei gesetzt werden müssen. Dieses Verhalten
kann jedoch auch verändert werden, indem man lilypond die Option
‘-drelative-includes’ auf der Kommandozeile zuweist (oder indem
man den Befehl #(ly:set-option 'relative-includes #t)
an den
Beginn der Quelldatei schreibt). Mit relative-includes
wird
der Pfad jedes \include
-Befehls als relativ zu der Datei angenommen,
in der sich der Befehl befindet. Dieses Verhalten wird empfohlen und wird
in zukünftigen Versionen von LilyPond den Standard darstellen.
Dateien können auch aus einem Verzeichnis eingebunden werden, dass im Suchpfad von LilyPond liegt. Hierzu muss auf der Kommandozeile das entsprechende Verzeichnis angegeben werden und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen notiert sein. Wenn etwa die Datei ‘Haupt.ly’ kompiliert werden soll, die Dateien aus dem Unterverzeichnis ‘stimmen’ einbindet, müssen sie sich im Verzeichnis von ‘Haupt.ly’ befinden und dann LilyPond folgendermaßen aufrufen:
lilypond --include=stimmen Haupt.ly
In ‘Haupt.ly’ steht:
\include "VI.ly" \include "VII.ly" ... usw.
Dateien, die in vielen Partituren verwendet werden sollen, können im LilyPond-Verzeichnis ‘../ly’ gespeichert werden. (Die Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem ab, siehe hierzu Mehr Information). Dateien in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden. So werden auch die Sprachdateien wie etwa ‘deutsch.ly’ eingefügt.
LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
können identifiziert werden, indem LilyPond auf der Kommandozeile mit
Option aufgerufen wird: lilypond --verbose
. Hiermit wird
neben anderer Information auch eine Liste von Pfaden und Dateien
aufgeführt, die LilyPond benutzt. Die wichtigeren Dateien werden
im Abschnitt
Mehr Information besprochen.
Diese Dateien können verändert werden, aber Änderungen gehen verloren,
wenn eine neue LilyPond-Version installiert wird.
Einige einfache Beispiele, die die Benutzung von \include
demonstrieren,
sind dargestellt in
Partituren und Stimmen.
Siehe auch
Handbuch zum Lernen: Mehr Information, Partituren und Stimmen.
Bekannte Probleme und Warnungen
Wenn eine Datei eingebunden wird, deren Name einer Datei aus dem Installationsverzeichnis von LilyPond entspricht, wird die installierte Datei anstelle der eigenen verwendet.