| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Input structure
LilyPond の入力の主となるフォーマットはテキスト ファイルです。習慣として、それらのファイルの最後には ‘.ly’ を付けます。
| 3.1.1 スコアの構造 | ||
| 3.1.2 ブックの中にある複数のスコア | ||
| 3.1.3 1 つの入力ファイルから複数の出力ファイルを生成する | ||
| 3.1.4 出力ファイル名 | ||
| 3.1.5 ファイル構造 |
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Structure of a score
\score ブロックは、波括弧で囲まれた単一の音楽表記を含んでいなければなりません:
\score {
…
}
|
Note: score ブロックの中には、最上位の音楽表記が 1 つだけ 存在していなければならず、その音楽表記は波括弧で囲まれていなければなりません。
この単一の音楽表記は任意のサイズになり得ます。そして、それは他の音楽表記を保持して任意の複雑さを持ち得ます。以下の例はすべて音楽表記です:
{ c'4 c' c' c' }
|
{ { c'4 c' c' c' } { d'4 d' d' d' } }
<< \new Staff { c'4 c' c' c' } \new Staff { d'4 d' d' d' } >>
{
\new GrandStaff <<
\new StaffGroup <<
\new Staff { \flute }
\new Staff { \oboe }
>>
\new StaffGroup <<
\new Staff { \violinI }
\new Staff { \violinII }
>>
>>
}
|
この一般規則の例外の 1 つにコメントがあります。(他の例外は、@ref{File structure} を参照してください。)単一行コメントと複数行コメント (%{ … %} で囲まれます) はどちらも入力ファイルの任意の場所に配置することができます。コメントは \score ブロックの内側あるいは外側に配置することができ、\score ブロックの中にある単一の音楽表記の内側あるいは外側に配置することができます。
たとえ \score ブロックだけを保持しているファイルであっても、暗黙的に \book ブロックで囲まれるということを覚えておいてください。ソース ファイルの中にある \book は少なくとも 1 つの出力ファイルを作り出し、デフォルトでは出力ファイル名は入力ファイル名から派生します。‘fandangoforelephants.ly’ は ‘fandangoforelephants.pdf’ を作り出します。
(\book ブロックについての詳細は、@ref{Multiple scores in a book}、@ref{Multiple output files from one input file}、@ref{File structure} を参照してください。)
学習マニュアル: (learning)Working on input files section ‘Working on input files’ in Learning Manual, (learning)Music expressions explained section ‘Music expressions explained’ in Learning Manual, (learning)Score is a (single) compound musical expression section ‘Score is a (single) compound musical expression’ in Learning Manual
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Multiple scores in a book
ドキュメントは複数の楽曲とテキストを含むことができます。そのようなドキュメントの例には練習曲集や、複数の楽章を持つオーケストラのパート譜があります。楽章はそれぞれ \score ブロックで入力され、
\score {
…music…
}
|
テキストは \markup ブロックで入力されます。
\markup {
…text…
}
|
同じ ‘.ly’ ファイルの中にあるすべての楽章とテキストは、通常、単一の出力ファイルとして譜刻されます。
\score {
…
}
\markup {
…
}
\score {
…
}
|
重要な例外として lilypond-book ドキュメントがあります。lilypond-book ドキュメントでは、明示的に \book ブロックを追加する必要があります。さもなければ、最初の \score あるいは \markup だけが出力に表示されます。
音楽の各節のヘッダはその節の \score ブロックの中に置くことができます。そのヘッダからの piece 名がそれぞれの楽章の前に譜刻されます。ブック全体のタイトルは \book の中に置くことができます。しかしながら、\book が存在しない場合は、\header を入力ファイルの先頭に挿入します。
\header {
title = "Eight miniatures"
composer = "Igor Stravinsky"
}
\score {
…
\header { piece = "Romanze" }
}
\markup {
…text of second verse…
}
\markup {
…text of third verse…
}
\score {
…
\header { piece = "Menuetto" }
}
|
\bookpart ブロックを用いて、
複数の楽曲をブックのパートとしてグループ化することができます。
ブック パートは改ページで区切られ、ブック自体と同様に
\header ブロックによりタイトルを持つことができます。
\bookpart {
\header {
title = "Book title"
subtitle = "First part"
}
\score { … }
…
}
\bookpart {
\header {
subtitle = "Second part"
}
\score { … }
…
}
|
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Multiple output files from one input file
1 つの ‘.ly’ ファイルから複数の出力ファイルを得たいのであれば、‘.ly’ ファイルに複数の \book ブロックを記述します。各 \book ブロックが個々に出力ファイルになります。入力ファイルで \book ブロックを記述しなければ、LilyPond は暗黙的にファイル全体を単一の \book として扱います。@ref{File structure} を参照してください。
単一のソース ファイルから複数のファイルを作り出す時、LilyPond は、\book ブロックが作り出す出力ファイルが同じ入力ファイル内にある他の \book ブロックが作り出した出力ファイルを上書きしないことを保証します。
入力ファイルから派生するデフォルトの出力ファイル名に
\book 毎の接尾辞を付け加えることによって上書きされないことを保証します。
出力が上書きされないよう、デフォルトでは出力ファイル名にバージョン番号の接尾辞を付け加えます。ソース ファイル ‘eightminiatures.ly’ 内の以下の記述
\book {
\score { … }
\paper { … }
}
\book {
\score { … }
\paper { … }
}
\book {
\score { … }
\paper { … }
}
|
は、下記の出力ファイルを作り出します。
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof Output file names
LilyPond は、出力ファイルを作り出す時に出力ファイル名を制御するための様々な機能を提供します。
前のセクションでは、LilyPond がどのように単一のソース ファイルから作り出される複数の出力ファイルが上書きされることを防ぐかを見てきました。\book ブロック毎の出力ファイル名に付け加えられる接尾辞を指定することもできます。各 \book ブロックの内部に \bookOutputSuffix 宣言を記述することにより、例えば
‘eightminiatures-Romanze.pdf’, ‘eightminiatures-Menuetto.pdf’
それに ‘eightminiatures-Nocturne.pdf’ といった名前の出力ファイルを作り出すことができます。
\book {
\bookOutputSuffix "Romanze"
\score { … }
\paper { … }
}
\book {
\bookOutputSuffix "Menuetto"
\score { … }
\paper { … }
}
\book {
\bookOutputSuffix "Nocturne"
\score { … }
\paper { … }
}
|
\bookOutputName 宣言を用いることにより、\book ブロックに入力ファイル名とは異なる出力ファイル名を指定することもできます。
\book {
\bookOutputName "Romanze"
\score { … }
\paper { … }
}
\book {
\bookOutputName "Menuetto"
\score { … }
\paper { … }
}
\book {
\bookOutputName "Nocturne"
\score { … }
\paper { … }
}
|
上記のファイルは下記の出力ファイルを作り出します:
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] | [トップ] | [目次] | [インデックス] | [ ? ] |
@translationof File structure
‘.ly’ ファイルは最上位の表記を任意の数だけ保持することができます – ここで、最上位の表記とは以下の中の 1 つです:
\paper, \midi, \layout などの出力定義。最上位にある出力定義はブック全体のデフォルト設定を変更します。最上位に同じタイプの出力定義が複数ある場合は組み合わされますが、衝突した場合は後ろの方にある出力定義が優先されます。出力定義が \layout ブロックにどのような影響を与えるかの詳細は
\layout ブロック を参照してください。
#(set-default-paper-size "a7" 'landscape) や
#(ly:set-option 'point-and-click #f) などの Scheme 表記。
\header ブロック。これはグローバル (ファイル構造の最上位)
ヘッダ ブロックになります。このブロックは、ファイル内にある全てのブックにおける、作曲者、曲名といったタイトル フィールドのデフォルト設定を持ちます
(@ref{Titles explained}を参照してください)。
\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
% 記号で始まる単一行コメント。
%{ … %} で囲まれる複数行コメント。
通常、入力の要素間にある空白は無視され、可読性を良くするために自由に削除あるいは追加することができます。しかしながら、以下の状況ではエラーを避けるために空白を挿入する必要があります:
\ 記号で始まる要素 – の後。
# 記号で始まる要素 – の後。
lyricmode 中にある \set と \override コマンドの前後。
学習マニュアル: (learning)How LilyPond input files work section ‘How LilyPond input files work’ in Learning Manual
記譜法リファレンス:
@ref{Titles explained},
\layout ブロック
| [ < ] | [ > ] | [ << ] | [ 上へ ] | [ >> ] |
This document was generated by gub on 7 月 13, 2020 using texi2html 1.82.
他の言語: English, català, deutsch, español, français, italiano
About automatic language selection.