1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
4 Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421
6 When revising a translation, copy the HEAD committish of the
7 version that you are working on. See TRANSLATION for details.
12 @c Translators: Yoshiki Sawada
13 @c Translation status: post-GDP
16 @node LilyPond 入力ファイルの記述に対する提案
17 @chapter LilyPond 入力ファイルの記述に対する提案
18 @translationof Suggestions for writing LilyPond input files
20 今やあなたはもっと大きな LilyPond 入力ファイル -- チュートリアルにあるような@c
21 小さな例ではなく、楽曲全体 -- を書き始める準備が整っています。@c
22 しかしながら、どのように書き進めていくべきなのでしょうか?
24 LilyPond があなたの入力ファイルを理解でき、望みの出力を作り出している限り、@c
25 あなたの入力ファイルがどのようなものであるかは問題になりません。@c
26 しかしながら、LilyPond 入力ファイルを書いているときに考慮すべきことが@c
30 @item あなたがミスをしたとしたらどうでしょうか?@c
31 LilyPond ファイルの構造はエラーを見つけ出すことを@c
32 より容易に (あるいはより困難に) します。
34 @item あなたがあなたの入力ファイルを誰か他の人と共有したいとしたら@c
36 実際には、あなたが数年前のあなた自身の入力ファイルを変更したいとしたら@c
38 一読して理解可能な LilyPond 入力ファイルがある一方で、@c
39 あなたを 1 時間も悩ます入力ファイルもあるかもしれません。
41 @item あなたがあなたの LilyPond ファイルを最近のバージョンの LilyPond のために@c
42 アップグレードしたいとしたらどうでしょうか?@c
43 入力構文は LilyPond の改良に合わせてしばしば変更されます。@c
44 たいていの変更は @code{convert-ly} で自動的に変換できますが、@c
45 いくつかの変更は手動での援助を必要とするかもしれません。@c
46 LilyPond 入力ファイルはより容易に (あるいはより困難に)
47 アップグレードできるように構成することができます。
59 @translationof General suggestions
61 ここで、あなたが問題を回避したり修正する手助けになる@c
65 @item @strong{すべてのファイルに @code{@bs{}version} 番号を含めます}。@c
66 テンプレートはすべて @code{@bs{}version} 情報を保持しているということに@c
68 常に @code{@bs{}version} を含めること -- ファイルの大小にかかわらず --
70 個人的な経験から言って、数年前に使っていた LilyPond のバージョンを@c
72 @command{convert-ly} は使用した LilyPond のバージョンを宣言することを@c
75 @item @strong{チェックを含めます}: @ruser{Bar and bar number checks},
76 @ruser{Octave checks}。@c
77 時々チェックを入れておけば、ミスをしたときに素早くそれを@c
79 @q{時々} とはどれくらいの頻度なのでしょうか?@c
81 とても簡単な音楽であれば、たぶん 1 回か 2 回です。@c
82 とても複雑な音楽であれば、おそらく各小節にチェックを入れます。
84 @item @strong{テキスト 1 行につき 1 小節にします}。@c
85 音楽自体や望みの出力が複雑である場合、1 行に 1 小節だけを記述すると@c
87 画面スペースを節約するために 1 行に 8 小節も詰め込むことは、@c
88 入力ファイルを @q{デバッグ} しなければならない場合に、@c
91 @item @strong{入力ファイルにコメントをつけます}。@c
92 コメントとして小節番号 (時々) や音楽テーマへの参照
93 (@q{second theme in violins}, @q{fourth variation}
94 (@q{ヴァイオリンの第 2 テーマ}, @q{第 4 ヴァイオリン})
96 初めて楽曲を書いているときはコメントをつける必要は無いかもしれません。@c
97 しかしながら、数年後に何か変更を加えたいと思った場合や、@c
98 ソースを友人に渡す場合、あなたがファイルにコメントをつけていなければ、@c
99 あなたの意図やファイルがどのように構成されているのかを特定することは@c
102 @item @strong{波括弧にインデントを入れる}。@c
103 多くの問題は @code{@{} と @code{@}} の数が食い違うことによって生じます。
105 @item セクションや変数の開始時に@strong{明示的に演奏時間を付け加える}。@c
106 フレーズの開始時に @code{c4 d e} (@code{c d e} ではなく) と記述しておけば、@c
107 後になって音楽を再編成する場合に問題の発生を免れる可能性があります。
109 @item 音楽定義から@strong{調整を分離します}。@c
110 @rlearning{変数と関数を用いて入力の手間を省く} と
111 @rlearning{スタイル シート} を参照してください。
118 @translationof Typesetting existing music
121 (つまり、既存の楽譜の楽曲を譜刻している) のなら、
125 @item 1 回につき 1 つのシステム
126 (訳者: システムとは譜の集まりのこと。例えば、ピアノ譜での 1 システムとは、@c
127 右手譜 1 小節とそれに対応する左手譜 1 小節)
128 を入力し (しかし、それでもテキスト 1 行につき 1 小節だけにします)、@c
129 それを終えたときに各システムをチェックします。@c
130 処理をスピード アップさせるために @code{showLastLength} プロパティや
131 @code{showFirstLength} プロパティを使うことになるかもしれません --
132 @ruser{Skipping corrected music} を参照してください。
134 @item @code{mBreak = @{ @bs{}break @}} を定義して、写している楽譜が@c
135 改行するたびに @code{@bs{}mBreak} を入力ファイルに挿入します。@c
136 これにより、LilyPond の音楽とオリジナルの音楽を比較することが@c
138 入力した楽譜の校正が終わったときに、それらの改行すべてを削除するために
139 @code{mBreak = @{ @}} を定義することになるかもしれません。@c
140 これにより、LilyPond は LilyPond が最適と思う場所に@c
143 @item 移調楽器のパートは変数に入力します。@c
144 移調楽器の音符は以下で囲むことを推奨します:
147 \transpose c natural-pitch @{...@}
149 (@code{natural-pitch} はその楽器のオープン ピッチです)
150 これにより、変数の中の音楽は C で効率的に記述することができます。@c
151 変数を使用していれば、必要なときに移調しなおすこともできます
152 (例えば、楽譜をコンサート ピッチで譜刻したり、@c
153 トロンボーン パートをト音記号からヘ音記号に変換したり、など)。@c
154 音楽をすべて変数の中に首尾一貫したピッチで記述しておけば、@c
158 -- つまり、他に使用する調が楽器のナチュラル ピッチだけ:
159 B-フラット トランペットなら bes、@c
160 A-フラット クラリネットなら aes --
161 であるとしても、音楽を変数に格納しておくべきです。@c
168 @translationof Large projects
170 大きなプロジェクトに取り組んでいるとき、@c
171 LilyPond 入力ファイルの構造をすっきりさせておくことが不可欠です。
175 @item @strong{各ボイスに対して変数を使用して}、@c
177 @code{@bs{}score} セクションの構造が最も変更される可能性が高い箇所です。@c
178 一方、@code{violin} 定義は LilyPond のバージョンが新しくなっても@c
182 violin = \relative c'' @{
195 @item @strong{調整を音楽定義から分離します}。@c
196 このことは前にも触れましたが、大きなプロジェクトでは絶対に不可欠なことです。@c
197 @code{fthenp} の定義を変更する必要が生じた場合、変更は 1 回で済み、@c
198 @code{violin} の内部にはまったく手を触れる必要がありません。
202 \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
203 violin = \relative c'' @{