[ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
[ < 出力ファイル名 ] | [ 上へ : 入力の構造 ] | [ タイトルとヘッダ > ] |
3.1.5 ファイル構造
‘.ly’ ファイルは最上位の表記を任意の数だけ保持することができます – ここで、最上位の表記とは以下の中の 1 つです:
-
\paper
,\midi
,\layout
などの出力定義。最上位にある出力定義はブック全体のデフォルト設定を変更します。最上位に同じタイプの出力定義が複数ある場合は組み合わされますが、衝突した場合は後ろの方にある出力定義が優先されます。出力定義が\layout
ブロックにどのような影響を与えるかの詳細は\layout
ブロック を参照してください。 -
#(set-default-paper-size "a7" 'landscape)
や#(ly:set-option 'point-and-click #f)
などの Scheme 表記。 -
\header
ブロック。これはグローバル (ファイル構造の最上位) ヘッダ ブロックになります。このブロックは、ファイル内にある全てのブックにおける、作曲者、曲名といったタイトル フィールドのデフォルト設定を持ちます (タイトルの説明を参照してください)。 -
\score
ブロック。このスコアは他の最上位のスコアとともに単一の\book
にまとめられます。この振る舞いは、変数toplevel-score-handler
を最上位の階層で設定することによって、変更することができます。(デフォルトのハンドラはファイル ‘../scm/lily-library.scm’ で定義され、‘../ly/declarations-init.ly’ でセットされています。) -
\book
ブロックは複数の楽章 (すなわち、複数の\score
ブロック) を論理的に 1 つのドキュメントにまとめます。複数の\score
が存在する場合、それぞれの\book
ブロックに対して 1 つずつ出力ファイルが作成され、それぞれの出力ファイルの中では該当するすべての楽章が連結されます。‘.ly’ ファイルの中で明示的に\book
ブロックを指定する必要があるケースはただ 1 つ、単一の入力ファイルから複数の出力ファイルを作成することを望む場合です。例外の 1 つに lilypond-book ドキュメントがあります – そこでは、同じ例の中に複数の\socre
あるいは\markup
を配置したければ、明示的に\book
ブロックを追加する必要があります。この振る舞いは、変数toplevel-score-handler
を最上位の階層で設定することによって、変更することができます。デフォルトのハンドラは初期化ファイル ‘../scm/lily.scm’ で定義されています。 -
\bookpart
ブロック。改ページを簡単にするため、あるいは異なるパートで別々の\paper
設定を使用するために、ブックは –\bookpart
を用いて – いくつかのパートに分割される可能性があります。 -
以下のような複合音楽表記:
{ c'4 d' e'2 }
これは楽節を
\score
に付け加え、その楽節を他のすべての最上位\score
や音楽表記とともに単一のブックにフォーマットにします。言い換えると、上記の音楽表記だけを保持しているファイルは以下のように翻訳されます:\book { \score { \new Staff { \new Voice { { c'4 d' e'2 } } } \layout { } } \paper { } \header { } }
この振る舞いは、変数
toplevel-score-handler
を最上位の階層で設定することによって、変更することができます。デフォルトのハンドラは初期化ファイル ‘../scm/lily.scm’ で定義されています。 -
マークアップ テキスト。例として以下の歌詞を挙げます:
\markup { 2. The first line verse two. }
マークアップ テキストは、それが出現した場所で、スコアあるいは音楽表記の上、間、あるいは下に描かれます。
-
以下のような変数:
foo = { c4 d e d }
これは後で使用することができます。使用するには、入力ファイルの中で
\foo
と入力します。変数の名前は、(ASCII) 数字、複数のアンダスコア、複数のダッシュまたはスペースを含めないようにすべきです。Unicode が提供する他のすべての文字、例えばラテン文字、ギリシャ文字、中国語、キリル文字はすべて許可されます。隣接しない 1 つのアンダスコアやダッシュも許可されます。言い換えると、HornIII
やαβγXII
のような変数名は機能します。ダブル クォーテーションに囲まれた変数名は、すべての文字の組み合わせが許可されます。この場合、バックスラッシュとダブル クォーテーションはバックスラッシュでエスケープする必要があります (これらは実際に使うべきではありません) 。例:
"foo bar"
,"a-b-c"
,"Horn 3"
以下の例は最上位の階層で入力される可能性がある 3 つのものを示しています:
\layout { % Don't justify the output ragged-right = ##t } \header { title = "Do-re-mi" } { c'4 d' e2 }
ファイルの任意の場所で、以下の編集指示のいずれかが入力される可能性があります:
-
\version
-
\include
-
\sourcefilename
-
\sourcefileline
-
%
記号で始まる単一行コメント。 -
%{ … %}
で囲まれる複数行コメント。
通常、入力の要素間にある空白は無視され、可読性を良くするために自由に削除あるいは追加することができます。しかしながら、以下の状況ではエラーを避けるために空白を挿入する必要があります:
- 波括弧の前後。
- コマンドあるいは変数 – すなわち、
\
記号で始まる要素 – の後。 - Scheme 表記として解釈される要素
– すなわち、
#
記号で始まる要素 – の後。 - Scheme 表記要素を区切る空白。
-
lyricmode
中にある\set
と\override
コマンドの前後。
参照
学習マニュアル: How LilyPond input files work
記譜法リファレンス:
タイトルの説明,
\layout
ブロック
[ << 入出力全般 ] | [トップ][目次][インデックス] | [ スペースの問題 >> ] |
[ < 出力ファイル名 ] | [ 上へ : 入力の構造 ] | [ タイトルとヘッダ > ] |