3.3.1 LilyPond ファイルをインクルードする

大きなプロジェクトは別々のファイルに分割することができます。他のファイルを参照するには、以下のようにします:

\include "otherfile.ly"

\include "otherfile.ly" という行は、‘otherfile.ly’ の内容をカレント ファイルの \include がある場所に貼り付けるのと等価です。例えば、大きなプロジェクトでは、個々の楽器パートを別々のファイルで記述し、個々の楽器ファイルをまとめる “総譜” ファイルを作成することができます。通常、インクルードされるファイルはいくつかの変数を定義し、それらの変数は総譜ファイルの中で使用されます。インクルードされるファイルの中でタグ付きセクションにマークを付けて、それを楽譜の他の場所で使うことができます -- 1 つのソースから異なる版を生成する を参照してください。

カレントのワーキング ディレクトリの中にあるファイルは \include コマンドに後にファイル名を指定するだけで参照することができます。他の場所にあるファイルはフル パス参照か相対パス参照 (ディレクトリ区切りとして、UNIX ではスラッシュ / を使用しますが、DOS/Windows ではバックスラッシュ \ を使用します) によって参照することができます。例えば、‘stuff.ly’ がカレントのワーキング ディレクトリよりも 1 つ上のディレクトリの中にある場合、以下のようにインクルードします:

\include "../stuff.ly"

あるいは、インクルードされるオーケストラのすべてのパート ファイルが、カレント ディレクトリ内部の ‘parts’ というサブディレクトリの中に配置されている場合、以下のようにインクルードします:

\include "parts/VI.ly"
\include "parts/VII.ly"
... etc

インクルードされるファイルも \include 文を持つことができます。それら第 2 レベルの \include 文はそのファイルがメイン ファイルに組み込まれるまで解釈されません。そのため、第 2 レベルの \include 文で指定するファイル名はすべてメイン ファイルを保持しているディレクトリからの相対参照で指定しなければなりません -- インクルード ファイルを保持しているディレクトリからではありません。しかしながら、この振る舞いは、オプション ‘-drelative-includes’ をコマンド ラインで渡すことによって (あるいは、メイン入力ファイルの先頭に #(ly:set-option 'relative-includes #t) を付け加えることによって) 変更することができます。relative-includes をセットすることで、各 \include コマンドのパスはそのコマンドを保持しているファイルからの相対参照になります。この振る舞いを使用することが推奨されていて、lilypond の将来のバージョンではこの振る舞いがデフォルトになります。

コマンド ラインから LilyPond を呼び出すときにオプションとして指定したサーチ パスに含まれるディレクトリからファイルをインクルードすることもできます。サーチ パスを指定した場合、インクルードされるファイルはファイル名だけで指定されます。例えば、サーチ パスで指定する ‘parts’ というサブディレクトリの中にあるファイルをインクルードする ‘main.ly’ をコンパイルするには、‘main.ly’ を保持しているディレクトリに cd して、以下を入力します:

lilypond --include=parts main.ly

main.ly’ の中には以下を記述しておきます:

\include "VI.ly"
\include "VII.ly"
... etc

いくつもの楽譜でインクルードされるファイルは LilyPond ディレクトリ ‘../ly’ の中に置くことになるかもしれません (このディレクトリが存在する場所はインストールの仕方に依存します -- Other sources of information を参照してください)。このディレクトリの中にあるファイルは、\include 文でファイル名を指定するだけでインクルードすることができます。この方法で ‘english.ly’ のような言語依存のファイルをインクルードしています。

LilyPond は、実行開始時に、デフォルトでいくつかのファイルをインクルードします。このインクルードはユーザには明らかにされませんが、コマンド ラインから lilypond --verbose を実行することによってインクルードされるファイルを明らかにすることができます。--verbose オプションは、他の多くの情報とともに、LilyPond が使用するパスとファイルのリストを表示します。また、デフォルトでインクルードされるファイルのうち、より重要なファイルについて Other sources of information で議論されています。これらのファイルを編集することができますが、これらのファイルに加えられた変更は新しいバージョンの LilyPond をインストールすると失われます。

\include を使用している簡単な例がいくつか Scores and parts で示されています。

参照

学習マニュアル: Other sources of information, Scores and parts

既知の問題と警告

インクルードされるファイルに LilyPond のインストール ファイルと同じ名前が与えられている場合、LilyPond のインストール ファイルが優先されます。


他の言語: English, deutsch, español, français, italiano
About automatic language selection.

LilyPond — 記譜法リファレンス