5.7.4 その他の情報源

内部リファレンスは LilyPond についての多くの情報を持っていますが、LilyPond の内部ファイルを調べることによってさらに多くの情報を収集することができます。内部ファイルを探究するには、まずあなたの使っているシステム特有のディレクトリを見つけ出す必要があります。このディレクトリの場所は、(a) あなたが lilypond.org からコンパイル済みのバイナリをダウンロードすることによって LilyPond を手に入れたのか、それとも、パッケージ マネージャから LilyPond をインストールした (つまり、GNU/Linux と一緒に配布されたか、fink や cygwin でインストールされた) のか、(b) LilyPond はどの OS 上で使用されているのか、に依存します:

lilypond.org からダウンロードした

パッケージ マネージャからインストールした、あるいは、ソースからコンパイルした

PREFIX/share/lilypond/X.Y.Z/ に進んでください。PREFIX はパッケージ マネージャか configure スクリプトによってセットされるものであり、X.Y.Z は LilyPond のバージョン番号です。


このディレクトリの中に 2 つの興味深いサブディレクトリがあります:

ly/ の中にあるファイルから見ていきましょう。ly/property-init.ly をテキスト エディタで開いてください。エディタはあなたが普段 .ly ファイルを編集するために使っているもので結構です。このファイルは標準の LilyPond 定義済みコマンド – \tieUp\slurDotted など – のすべての定義を保持しています。1 つまたは複数の \override コマンドを保持している変数の定義以外のものはないということがわかるでしょう。例えば、\tieDotted は以下のように定義されています:

tieDotted = {
  \override Tie.dash-period = #0.75
  \override Tie.dash-fraction = #0.1
}

あなたがこれらのデフォルト値を好まない場合、これらの定義済みコマンドを容易に再定義することができます – 他の変数と同様に、入力ファイルの先頭で定義します。

以下のファイルは ly/ で見つかる有用なファイルです:

ファイル名内容
ly/engraver-init.lyエングラーバ コンテキストの定義
ly/paper-defaults-init.ly紙面関係のデフォルトの仕様
ly/performer-init.lyパフォーマ コンテキストの定義
ly/property-init.lyすべての共通定義済みコマンドの定義
ly/spanner-init.lyスパナ関係の定義済みコマンドの定義

他の設定 (マークアップ コマンドの定義など) は .scm (Scheme) ファイルとして保存されています。Scheme プログラミング言語は、LilyPond 内部処理へのプログラム可能なインタフェイスを提供するために使用されます。これらのファイルについての詳しい説明は、Scheme 言語についての知識が必要となるため、このマニュアルの範囲外です。Scheme 言語とこれらのファイルを理解するには、十分な知識や時間が必要であるということを知っておくべきです (Scheme tutorial を参照してください)。

あなたがこの知識を持っているのなら、興味を持つかもしれない Scheme ファイルは以下のものです:

ファイル名内容
scm/auto-beam.scmサブ 連桁のデフォルト (訳者: 8 分音符には連桁だけが使用され、16 分音符やそれよりも短い音符には連桁とサブ 連桁が使われるのだと思います)
scm/define-grobs.scmGrob (グラフィカル オブジェクト) プロパティのデフォルト設定
scm/define-markup-commands.scmすべてのマークアップ コマンドの仕様
scm/midi.scmMIDI 出力のデフォルト設定
scm/output-lib.scmフレット、色、臨時記号、小節線などの見た目に影響を与える設定
scm/parser-clef.scmサポートされる音部記号の定義
scm/script.scmアーティキュレーションのデフォルト設定

GNU LilyPond 学習マニュアル v2.25.21 (開発版).