]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ja/application/suggestions.itely
Merge commit 'origin/master'
[lilypond.git] / Documentation / ja / application / suggestions.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
2
3 @ignore
4     Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11
12 @c Translators: Yoshiki Sawada
13 @c Translation status: post-GDP
14
15
16 @node LilyPond 入力ファイルの記述に対する提案
17 @chapter LilyPond 入力ファイルの記述に対する提案
18 @translationof Suggestions for writing LilyPond input files
19
20 今やあなたはもっと大きな LilyPond 入力ファイル -- チュートリアルにあるような@c
21 小さな例ではなく、楽曲全体 -- を書き始める準備が整っています。@c
22 しかしながら、どのように書き進めていくべきなのでしょうか?
23
24 LilyPond があなたの入力ファイルを理解でき、望みの出力を作り出している限り、@c
25 あなたの入力ファイルがどのようなものであるかは問題になりません。@c
26 しかしながら、LilyPond 入力ファイルを書いているときに考慮すべきことが@c
27 他にもいくつかあります。
28
29 @itemize
30 @item あなたがミスをしたとしたらどうでしょうか?@c
31 LilyPond ファイルの構造はエラーを見つけ出すことを@c
32 より容易に (あるいはより困難に) します。
33
34 @item あなたがあなたの入力ファイルを誰か他の人と共有したいとしたら@c
35 どうでしょうか?@c
36 実際には、あなたが数年前のあなた自身の入力ファイルを変更したいとしたら@c
37 どうでしょうか?@c
38 一読して理解可能な LilyPond 入力ファイルがある一方で、@c
39 あなたを 1 時間も悩ます入力ファイルもあるかもしれません。
40
41 @item あなたがあなたの LilyPond ファイルを最近のバージョンの LilyPond のために@c
42 アップグレードしたいとしたらどうでしょうか?@c
43 入力構文は LilyPond の改良に合わせてしばしば変更されます。@c
44 たいていの変更は @code{convert-ly} で自動的に変換できますが、@c
45 いくつかの変更は手動での援助を必要とするかもしれません。@c
46 LilyPond 入力ファイルはより容易に (あるいはより困難に) 
47 アップグレードできるように構成することができます。
48 @end itemize
49
50 @menu
51 * 一般的な提案::
52 * 既存の音楽を譜刻する::
53 * 大きなプロジェクト::
54 @end menu
55
56
57 @node 一般的な提案
58 @section 一般的な提案
59 @translationof General suggestions
60
61 ここで、あなたが問題を回避したり修正する手助けになる@c
62 可能性がある提案をいくつか挙げます:
63
64 @itemize
65 @item @strong{すべてのファイルに @code{@bs{}version} 番号を含めます}。@c
66 テンプレートはすべて @code{@bs{}version} 情報を保持しているということに@c
67 注意してください。@c
68 常に @code{@bs{}version} を含めること -- ファイルの大小にかかわらず -- 
69 を強く推奨します。@c
70 個人的な経験から言って、数年前に使っていた LilyPond のバージョンを@c
71 思い出そうとすることは大変なことです。@c
72 @command{convert-ly} は使用した LilyPond のバージョンを宣言することを@c
73 必要とします。
74
75 @item @strong{チェックを含めます}: @ruser{Bar and bar number checks}, 
76 @ruser{Octave checks}。@c
77 時々チェックを入れておけば、ミスをしたときに素早くそれを@c
78 見つけ出すことができます。@c
79 @q{時々} とはどれくらいの頻度なのでしょうか?@c
80 それはその音楽の複雑さ次第です。@c
81 とても簡単な音楽であれば、たぶん 1 回か 2 回です。@c
82 とても複雑な音楽であれば、おそらく各小節にチェックを入れます。
83
84 @item @strong{テキスト 1 行につき 1 小節にします}。@c
85 音楽自体や望みの出力が複雑である場合、1 行に 1 小節だけを記述すると@c
86 良い場合が多いです。@c
87 画面スペースを節約するために 1 行に 8 小節も詰め込むことは、@c
88 入力ファイルを @q{デバッグ} しなければならない場合に、@c
89 そうするだけの価値はありません。
90
91 @item @strong{入力ファイルにコメントをつけます}。@c
92 コメントとして小節番号 (時々) や音楽テーマへの参照 
93 (@q{second theme in violins}, @q{fourth variation} 
94 (@q{ヴァイオリンの第 2 テーマ}, @q{第 4 ヴァイオリン}) 
95 など) を使用します。@c
96 初めて楽曲を書いているときはコメントをつける必要は無いかもしれません。@c
97 しかしながら、数年後に何か変更を加えたいと思った場合や、@c
98 ソースを友人に渡す場合、あなたがファイルにコメントをつけていなければ、@c
99 あなたの意図やファイルがどのように構成されているのかを特定することは@c
100 ずっと大変になります。
101
102 @item @strong{波括弧にインデントを入れる}。@c
103 多くの問題は @code{@{} と @code{@}} の数が食い違うことによって生じます。
104
105 @item セクションや変数の開始時に@strong{明示的に演奏時間を付け加える}。@c
106 フレーズの開始時に @code{c4 d e} (@code{c d e} ではなく) と記述しておけば、@c
107 後になって音楽を再編成する場合に問題の発生を免れる可能性があります。
108
109 @item 音楽定義から@strong{調整を分離します}。@c
110 @rlearning{変数と関数を用いて入力の手間を省く} と 
111 @rlearning{スタイル シート} を参照してください。
112
113 @end itemize
114
115
116 @node 既存の音楽を譜刻する
117 @section 既存の音楽を譜刻する
118 @translationof Typesetting existing music
119
120 既存の楽譜からの音楽を入力している 
121 (つまり、既存の楽譜の楽曲を譜刻している) のなら、
122
123 @itemize
124
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} を参照してください。
133
134 @item @code{mBreak = @{ @bs{}break @}} を定義して、写している楽譜が@c
135 改行するたびに @code{@bs{}mBreak} を入力ファイルに挿入します。@c
136 これにより、LilyPond の音楽とオリジナルの音楽を比較することが@c
137 ずっと容易になります。@c
138 入力した楽譜の校正が終わったときに、それらの改行すべてを削除するために 
139 @code{mBreak = @{ @}} を定義することになるかもしれません。@c
140 これにより、LilyPond は LilyPond が最適と思う場所に@c
141 改行を入れることができるようになります。
142
143 @item 移調楽器のパートは変数に入力します。@c
144 移調楽器の音符は以下で囲むことを推奨します:
145
146 @example
147 \transpose c natural-pitch @{...@}
148 @end example
149 (@code{natural-pitch} はその楽器のオープン ピッチです) 
150 これにより、変数の中の音楽は C で効率的に記述することができます。@c
151 変数を使用していれば、必要なときに移調しなおすこともできます 
152 (例えば、楽譜をコンサート ピッチで譜刻したり、@c
153 トロンボーン パートをト音記号からヘ音記号に変換したり、など)。@c
154 音楽をすべて変数の中に首尾一貫したピッチで記述しておけば、@c
155 移調のミスは起こりにくくなります。
156
157 また、移調が C との間で行われるだけ
158 -- つまり、他に使用する調が楽器のナチュラル ピッチだけ:
159 B-フラット トランペットなら bes、@c
160 A-フラット クラリネットなら aes --
161 であるとしても、音楽を変数に格納しておくべきです。@c
162
163 @end itemize
164
165
166 @node 大きなプロジェクト
167 @section 大きなプロジェクト
168 @translationof Large projects
169
170 大きなプロジェクトに取り組んでいるとき、@c
171 LilyPond 入力ファイルの構造をすっきりさせておくことが不可欠です。
172
173 @itemize
174
175 @item @strong{各ボイスに対して変数を使用して}、@c
176 定義の中の構造を最小限にします。@c
177 @code{@bs{}score} セクションの構造が最も変更される可能性が高い箇所です。@c
178 一方、@code{violin} 定義は LilyPond のバージョンが新しくなっても@c
179 変更される可能性はまずありません。
180
181 @example
182 violin = \relative c'' @{
183 g4 c'8. e16
184 @}
185 ...
186 \score @{
187   \new GrandStaff @{
188     \new Staff @{
189       \violin
190     @}
191   @}
192 @}
193 @end example
194
195 @item @strong{調整を音楽定義から分離します}。@c
196 このことは前にも触れましたが、大きなプロジェクトでは絶対に不可欠なことです。@c
197 @code{fthenp} の定義を変更する必要が生じた場合、変更は 1 回で済み、@c
198 @code{violin} の内部にはまったく手を触れる必要がありません。
199
200 @example
201 fthenp = _\markup@{
202   \dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p @}
203 violin = \relative c'' @{
204 g4\fthenp c'8. e16
205 @}
206 @end example
207
208 @end itemize