[ << デフォルトを変更する ] | [トップ][目次][インデックス][ ? ] | [ 記譜法マニュアル表 >> ] | ||
[ < 下位コンテキスト - ボイス ] | [ 上へ : コンテキストを理解する ] | [ コンテキストを残しておく > ] |
5.1.2 コンテキストを作成する
ボイスと譜が 1 つだけの楽譜では、コンテキストは自動的に作成されます。もっと複雑な楽譜では、手動でコンテキストを作成する必要があります。コンテキスを作成するために 3 つのコマンドがあります。
-
もっとも簡単なコマンドは
\new
であり、もっとも素早く入力できるコマンドでもあります。このコマンドは音楽表記の前に置きます。例えば、以下のように:\new type music expression
ここで、type はコンテキスト名 (
Staff
やVoice
など) です。このコマンドは新しいコンテキストを作成し、そのコンテキストに付属する 音楽表記 の解釈を開始します。\new
の実際的な使用例には、多くの譜を持つ楽譜があります。それぞれに譜を持つ各パートの前に\new Staff
を記述します。<< \new Staff { c4 c } \new Staff { d4 d } >>
\new
コマンドは、コンテキストに名前を与えることもできます:\new type = id music
しかしながら、この名前を与えられたコンテキストは、このコンテキスト以前に同じ名前を与えあれたコンテキストが無い場合にのみ、使用できます。
-
\new
と同様に、\context
コマンドも音楽表記をコンテキスト オブジェクトに代入します。しかしながら、このコマンドはコンテキストに明示的に名前を与えます。構文は以下の通りです:\context type = id music
この構文は id という名前の type タイプのコンテキストがすで存在していないか検索します。コンテキストがまだ存在していなければ、指定された名前を持つコンテキストが新たに作成されます。これは、コンテキストを後で参照する場合に有用です。例えば、以下のように名前を付けられたメロディ:
\context Voice = "tenor" music
に、以下のように歌詞を設定すると、テキストは適切に音符に揃えられます:
\new Lyrics \lyricsto "tenor" lyrics
名前付きコンテキストの他の使用例として、2 つの音楽表記をつなげて 1 つのコンテキストにすることができます。以下の例では、アーティキュレーションと音符は別々に入力されています:
music = { c4 c4 } arts = { s4-. s4-> }
これらを同じ
Voice
コンテキストに送ることによって組み合わせることができます:<< \new Staff \context Voice = "A" \music \context Voice = "A" \arts >>
このメカニズムを用いることで、原点版を定義して、それに異なるアーティキュレーションを付けることができます。
-
コンテキストを作成する 3 つ目のコマンドは以下の通りです:
\context type music
これは
= id
を持つ\context
に似ていますが、タイプ type の任意のコンテキストに適用されます – そのコンテキストに与えられた名前とは関係なく適用されます。この構文の変形版は、異なる階層で解釈される可能性がある音楽表記に対して使用されます。例えば、
\applyOutput
コマンド ( Running a function on all layout objects を参照してください) です。明示的に\context
を指定しなければ、通常はVoice
に適用されます。\applyOutput #'context #function % Voice に適用されます
Score
レベルやStaff
レベルで解釈させるには、以下のようにします:\applyOutput #'Score #function \applyOutput #'Staff #function
[ << デフォルトを変更する ] | [トップ][目次][インデックス][ ? ] | [ 記譜法マニュアル表 >> ] | ||
[ < 下位コンテキスト - ボイス ] | [ 上へ : コンテキストを理解する ] | [ コンテキストを残しておく > ] |