]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ja/usage/running.itely
c0bfd3f1ef85fc6a01d41b57ab794c0c706858b9
[lilypond.git] / Documentation / ja / usage / running.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
2
3 @ignore
4     Translation of GIT committish: 2429e825c154f15cda52cf8a44f12e23d9f6a1e6
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  For details, see the Contributors'
8     Guide, node Updating translation committishes..
9 @end ignore
10
11 @c \version "2.19.21"
12
13 @c Translators: Masamichi Hosoda, Yoshiki Sawada
14 @c Translation status: post-GDP
15
16 @node lilypond を実行する
17 @chapter @command{lilypond} を実行する
18 @translationof Running lilypond
19
20 この章では LilyPond を実行するための細かな規定について詳述します。
21
22 @menu
23 * 通常の使用方法::
24 * コマンド ラインの使用方法::
25 * エラー メッセージ::
26 * 一般的なエラー::
27 @end menu
28
29
30 @node 通常の使用方法
31 @section 通常の使用方法
32 @translationof Normal usage
33
34 たいていのユーザは GUI から LilyPond を実行します。@c
35 まだ実行したことがないのであれば @rlearning{チュートリアル} を読んでください。
36 lilypond ファイルを書くのに代替のエディタを使用するのであれば、@c
37 そのエディタのドキュメントを読んでください。
38
39
40 @node コマンド ラインの使用方法
41 @section コマンド ラインの使用方法
42 @translationof Command-line usage
43
44 この節にはコマンド ラインで LilyPond を使用するための追加情報が含まれます。@c
45 これにはプログラムに追加オプションを渡す必要があるかもしれません。@c
46 さらに、いくつかの特別なプログラム (@code{midi2ly} など) は@c
47 コマンド ラインからしか利用できません。
48
49 ここで @q{コマンド ライン} とは、OS の中にあるコマンド ラインを意味します。@c
50 Windows ユーザは @q{DOS シェル} や @q{コマンド シェル} @q{コマンド プロンプト}
51 という言葉の方が馴染みがあるかもしれません。@c
52 MaxOS@tie{}X ユーザは @q{ターミナル} や @q{コンソール} という言葉の方が@c
53 馴染みがあるかもしれません。@c
54 MaxOS@tie{}X ユーザは追加のセットアップが必要かもしれません。@c
55 @rweb{MacOS X} を参照してください。
56
57 OS のコマンド ラインの使用方法についての説明は@c
58 このマニュアルが扱う範囲ではありません。@c
59 コマンド ラインに馴染みがない場合は、@c
60 その内容を扱っている他のドキュメントをあたってください。
61
62 @menu
63 * LilyPond を呼び出す::
64 * LilyPond の基本的なコマンド ライン オプション::
65 * LilyPond の高度なコマンド ライン オプション::
66 * 環境変数::
67 * chroot jail 環境で LilyPond を実行する::
68 @end menu
69
70 @node LilyPond を呼び出す
71 @unnumberedsubsec @command{lilypond} を呼び出す
72 @translationof Invoking lilypond
73
74
75 @command{lilypond} 実行可能形式ファイルは@c
76 コマンド ラインから以下のように呼び出されます。
77
78 @example
79 lilypond [@var{option}]@dots{} @var{file}@dots{}
80 @end example
81
82 拡張子を持たないファイル名で呼び出された場合、@c
83 @file{.ly} が最初に試されます。@c
84 stdin から入力を読み込む場合には、@c
85 @var{file} に対してダッシュ (@code{-}) を使用します。
86
87 @file{filename.ly} が処理されると、@c
88 lilypond は出力として @file{filename.ps} と @file{filename.pdf} を作り出します。@c
89 いくつかのファイルを指定することもできます。@c
90 その場合、それらのファイルは個々に処理されます。@c
91 @footnote{GUILE のステータスは @code{.ly} 処理後にリセットされません。@c
92 そのため、Scheme 内部からいかなるシステム デフォルトも変更しないよう@c
93 注意してください。}
94
95 @file{filename.ly} が複数の @code{\book} ブロックを含んでいる場合、@c
96 残りのの score は
97 @file{filename-1.pdf} から始まる番号付きのファイルに出力されます。@c
98 さらに、@code{output-suffix} がベース名と番号の間に挿入されます。@c
99 以下の内容を含んでいる入力ファイルは
100
101 @example
102 #(define output-suffix "violin")
103 \score @{ @dots{} @}
104 #(define output-suffix "cello")
105 \score @{ @dots{} @}
106 @end example
107
108 @noindent
109 @var{base}@file{-violin.pdf} と @var{base}@file{-cello-1.pdf} を出力します。
110
111
112 @unnumberedsubsubsec 標準シェルで LilyPond を使う
113
114 LilyPond はコマンドラインアプリケーションなので、@c
115 LilyPond を呼び出すために @q{シェル} の機能をうまく利用することができます。
116
117 例えば:
118
119 @example
120 lilypond *.ly
121 @end example
122
123 @noindent
124 は、カレントディレクトリのすべての LilyPond ファイルを処理できるでしょう。
125
126 コンソール出力をリダイレクトする(例えばファイルへ)のも@c
127 有用でしょう。
128
129 @example
130 lilypond file.ly 1> stdout.txt
131
132 lilypond file.ly 2> stderr.txt
133
134 lilypond file.ly &> all.txt
135 @end example
136
137 @noindent
138 それぞれ @q{普通の} 出力、@q{エラー} のみ、@q{すべて} 、
139 をファイルにリダイレクトします。@c
140
141 あなたの使用しているシェル、コマンドプロンプト (Windows)、@c
142 ターミナルやコンソール (MacOS X) がリダイレクトをサポートしているか、@c
143 あるいは構文が異なるかどうかは、そのシェルのドキュメントを調べてください。@c
144
145 以下は、カレントディレクトリ以下のすべての入力ファイルを再帰的に探し、@c
146 処理する例です。@c
147 出力ファイルは元の入力ファイルのあるディレクトリではなく、@c
148 コマンドを実行したディレクトリに置かれます。
149
150 @example
151 find . -name '*.ly' -exec lilypond '@{@}' \;
152 @end example
153
154 @noindent
155 これは MacOS@tie{}X ユーザでも使えるでしょう。
156
157 Windows ユーザは;
158
159 @example
160 forfiles /s /M *.ly /c "cmd /c lilypond @@file"
161 @end example
162
163 @noindent
164 スタートメニューから
165 @code{スタート > アクセサリ > コマンドプロンプト}
166 とたどるか、Windows 8 であれば@c
167 検索ウィンドウで @q{コマンドプロンプト} と入力して、
168 @code{コマンド プロンプト} を起動し、@c
169 これらのコマンドを入力します。
170
171 または、入力ファイルを含むすべてのサブフォルダを含む、@c
172 最上位のフォルダを明示的に指定できる @code{/p} オプションもあります;
173
174 @example
175 forfiles /s /p C:\Documents\MyScores /M *.ly /c "cmd /c lilypond @@file"
176 @end example
177
178 最上位フォルダ名がスペース文字を含む場合は、@c
179 パス全体をダブルクオーテーションで囲む必要があります。;
180
181 @example
182 forfiles /s /p "C:\Documents\My Scores" /M *.ly /c "cmd /c lilypond @@file"
183 @end example
184
185
186 @node LilyPond の基本的なコマンド ライン オプション
187 @unnumberedsubsec LilyPond の基本的なコマンド ライン オプション
188 @translationof Basic command line options for LilyPond
189
190 @cindex Invoking @command{lilypond} (@command{lilypond} を呼び出す)
191 @cindex command line options for @command{lilypond} (@command{lilypond} のためのコマンド ライン オプション)
192 @cindex options, command line (コマンド ライン オプション)
193 @cindex switches (切り換え)
194
195 以下のオプションがサポートされます:
196
197 @table @code
198
199 @item -b, --bigpdfs
200 @cindex bigpdfs
201
202 通常より大きい PDF ファイルを生成します。@c
203 (フォント最適化がほんの少しかまったく無くなるため。)@c
204 しかし、2 つ以上の PDF ファイルを
205 @w{@code{pdftex}}、@w{@code{xetex}} や @w{@code{luatex}}
206 ドキュメントの中に組み込む場合、@c
207 さらに ghostscript 処理で重複するフォントデータを統合し、@c
208 @emph{著しく} 小さい PDF ファイルを得ることができます。
209
210 @example
211 lilypond -b myfile
212 @end example
213
214 それから @code{ghostscript} を呼び出します。
215
216 @example
217 gs -q -sDEVICE=pdfwrite -o gsout.pdf myfile.pdf
218 @end example
219
220 @code{pdfsizeopt.py} は、さらにサイズの最適化ができます。
221
222 @example
223 pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf
224 @end example
225
226
227 @item -d, --define-default=@var{var}=@var{val}
228 @ref{Advanced command line options for LilyPond} を参照してください。
229
230 @cindex Scheme, expression evaluation (Scheme 表記の評価)
231 @cindex expression evaluation, Scheme (Scheme 表記の評価)
232
233 @item -e, --evaluate=@var{expr}
234 @file{.ly} ファイルを解析する前に Scheme @var{expr} を評価します。@c
235 複数の @code{-e} オプションが与えられた場合、それらは順番に評価されます。
236
237 Scheme 表記は @code{guile-user} モジュールの中で評価されます。@c
238 そのため、@var{expr} の中で定義を使いたいのならば、@c
239 コマンド ラインで以下を使用して、
240
241 @example
242 lilypond -e '(define-public a 42)'
243 @end example
244
245 @noindent
246 @code{.ly} ファイルの先頭に以下を含めます:
247
248 @example
249 #(use-modules (guile-user))
250 @end example
251
252 @warning{Windows ユーザはシングル クォートではなく、@c
253 ダブル クォートを使う必要があります。}
254
255 @cindex output, format (出力のフォーマット)
256 @cindex format, output (出力のフォーマット)
257
258 @item -f, --format=@var{format}
259 フォーマットを指定します。@c
260 @code{format} の選択肢は @code{ps}, @code{pdf}, それに @code{png} です。
261
262 例: @code{lilypond -fpng @var{filename}.ly}
263
264 @item -h, --help
265 使用方法の要約を表示します。
266
267 @item -H, --header=@var{FIELD}
268 ヘッダ フィールドをファイル @file{BASENAME.@var{FIELD}} に吐き出します。
269
270 @item -i, --init=@var{file}
271 init ファイルとして @var{file} をセットします (デフォルト: @file{init.ly})。
272
273 @cindex file searching (ファイル サーチ)
274 @cindex search path (サーチ パス)
275
276 @item -I, --include=@var{directory}
277 @var{directory} を入力ファイルのサーチ パスに追加します。
278
279 複数の -I オプションを与えることができます。@c
280 検索は最初に指定されたディレクトリから開始され、@c
281 入力ファイルが見つからない場合は次に指定されたディレクトリを検索します。
282
283 @cindex chroot jail, running inside (chroot jail 内部で実行する)
284
285 @item -j, --jail=@var{user},@var{group},@var{jail},@var{dir}
286 @command{lilypond} を chroot jail 環境で実行します。@c
287 (訳者: chroot jail 環境とはセキュリティのために@c
288 カレント プロセスに対してルート ディレクトリの位置を変更すること。)
289
290 @option{--jail} オプションは、@c
291 Web サーバ経由で LilyPond 譜刻を提供する時や
292 LilyPond が外部ソースから送られてきたコマンドを実行する時に、@c
293 @code{--dsafe} よりも自由度の高い代替手段を提供します。
294 (@ref{Advanced command line options for LilyPond} を参照してください。)
295
296 @code{--jail} オプションはコンパイル プロセスの開始直前に
297 @command{lilypond} のルート ディレクトリを @var{jail} に変更します。@c
298 それから、ユーザとグループを @var{user} と @var{group} に変更して、@c
299 カレント ディレクトリを @var{dir} に変更します。@c
300 これにより、jail (牢獄) から抜け出せないことを (少なくとも理論上は)
301 保証します。@c
302 @code{--jail} を指定した @command{lilypond} の実行は root (ユーザ名)
303 として行う必要があります。@c
304 通常、これは @command{sudo} を用いた安全な方法で行います。
305
306 jail のセットアップは比較的複雑な問題です。@c
307 LilyPond がソースをコンパイルするのに必要とされるものすべてを
308 @emph{jail の内部} で見つけられるということを保証しなければならないからです。@c
309 一般的なセットアップには以下の項目が含まれます:
310
311 @table @asis
312 @item 専用のファイルシステムをセットアップする
313 @code{noexec}, @code{nodev}, @code{nosuid} などのセーフ オプションで@c
314 マウントするための専用ファイルシステムを作成すべきです。@c
315 こうすることで、LilyPond から実行可能形式ファイルを実行したり、@c
316 デバイスに直接書き込むことは不可能になります。@c
317 専用のパーティションを作成することを望まないのなら、@c
318 適当なサイズのファイルを作成し、@c
319 それを使用してループ デバイス (ループバック デバイス) をマウントしてください。@c
320 専用ファイルシステムはさらに、@c
321 LilyPond が許可されたディスク容量以上には書き込めないということを保証します。
322
323 @item 専用のユーザをセットアップする
324 jail 内部で LilyPond を実行する際、@c
325 低い権限を持つ専用のユーザとグループ
326 (仮に @code{lily}/@code{lily} とします)
327 で行うべきです。@c
328 このユーザが書き込み可能なディレクトリが 1 つだけ存在すべきであり、@c
329 それを @var{dir} に渡します。
330
331 @item jail の準備をする
332 LilyPond は実行中にいくつかのファイルを読み込む必要があります。@c
333 それらのファイルをすべて jail にコピーしておきます。@c
334 それらのファイルが本当のルート ファイル システムで存在しているパスと@c
335 同じパスにコピーします。@c
336 LilyPond インストールの内容すべて (例えば、@file{/usr/share/lilypond}) を@c
337 コピーすべきです。
338
339 問題が発生した場合、その原因を突き止める最も簡単な方法は
340 @command{strace} を使って LilyPond を実行することです。@c
341 これによりどのファイルが見当たらないのかがわかります。
342
343 @item LilyPond を実行する
344 @code{noexec} でマウントされた jail の中では、@c
345 外部プログラムを実行することは一切できません。@c
346 そのため、外部プログラムを必要としないバックエンドで
347 LilyPond を実行しなければなりません。@c
348 すでに述べたように、@c
349 jail モードでの LilyPond の実行はスーパーユーザ権限で行われなければならず
350 (もちろん、その権限はすぐに外されます)、@c
351 たぶん @command{sudo} を使います。@c
352 LilyPond が使用可能な CPU 時間を数秒に制限する
353 (例えば、@command{ulimit -t} を使って) というのも良い方法です。@c
354 さらに、OS がサポートしているのなら、@c
355 割り当て可能なメモリ容量を制限するというのも良い方法です。@c
356 @ref{LilyPond in chroot jail} も参照してください。
357 @end table
358
359 @cindex loglevel (ログレベル)
360 @cindex output, verbosity (出力の饒舌さ)
361
362 @item -l, --loglevel=@var{LEVEL}
363 コンソール出力の饒舌さを @var{LEVEL} にセットします。@c
364 取り得る値は以下の通りです:
365
366 @table @code
367
368 @item NONE
369 何も出力しません。エラー メッセージさえも出力しません。
370
371 @item ERROR
372 エラー メッセージだけを出力します。警告や進捗メッセージは出力しません。
373
374 @item WARN
375 警告とエラー メッセージを出力し、進捗メッセージは出力しません。
376
377 @item BASIC_PROGRESS
378 基本的な進捗メッセージ (成功メッセージ)、警告、それにエラー メッセージを@c
379 出力します。
380
381 @item PROGRESS
382 すべての進捗メッセージ、警告とエラー メッセージを出力します。
383
384 @item INFO (デフォルト)
385 進捗メッセージ、警告、エラーそれに追加の実行情報を出力します。
386
387 @item DEBUG
388 饒舌なデバッグ出力を含む、出力可能なメッセージをすべて出力します。
389
390 @end table
391
392 @cindex directory, redirect output (出力をディレクトリにリダイレクトする)
393 @cindex output, setting filename (出力のファイル名を設定する)
394 @cindex output, directory (出力ディレクトリ)
395
396 @item -o, --output=@var{FILE} or @var{FOLDER}
397 デフォルトの出力ファイルとして @var{FILE} をセットします。@c
398 セットした名前のフォルダが存在する場合、そのフォルダに、@c
399 入力ファイルから取ったファイル名で出力されます。@c
400 適切な接尾辞が追加されます
401 (つまり、pdf ならば拡張子 @code{.pdf} が追加されます)。
402
403 @cindex PS (Postscript), output (PS (PostScript) 出力)
404 @cindex Postscript (PS), output (PostScript (PS) 出力)
405 @cindex output, PS (Postscript) (PS (PostScript) 出力)
406
407 @item --ps
408 PostScript を生成します。
409
410 @cindex PNG (Portable Network Graphics), output (PNG 出力)
411 @cindex output, PNG (Portable Network Graphics) (PNG 出力)
412
413 @item --png
414 各ページの図を PNG フォーマットで生成します。@c
415 これは内部で @code{--ps} を使用します。@c
416 画像の DPI 解像度は以下のようにセットします:
417 @example
418 -dresolution=110
419 @end example
420
421 @cindex PDF (Portable Document Format), output (PDF 出力)
422 @cindex output, PDF (Portable Document Format) (PDF 出力)
423
424 @item --pdf
425 PDF を生成します。@c
426 これは内部で @code{--ps} を使用します。
427
428 @item -v, --version
429 バージョン情報を表示します。
430
431 @item -V, --verbose
432 冗長表示モードにします:
433 読み込むすべてのファイルのフル パスを表示して、時間情報を表示します。
434
435 @item -w, --warranty
436 GNU LilyPond の保証責任を表示します。@c
437 (GNU LilyPond には@strong{保証責任はありません}!)
438
439 @end table
440
441
442 @node LilyPond の高度なコマンド ライン オプション
443 @unnumberedsubsec LilyPond の高度なコマンド ライン オプション
444 @translationof Advanced command line options for LilyPond
445
446 @table @code
447
448 @item -d@var{[option-name]}=@var{[value]},
449 --define-default=@var{[option-name]}=@var{[value]}
450 これは内部 Scheme 関数に @var{value} をセットします。@c
451 例えば、
452
453 @example
454 -dbackend=svg
455 @end example
456
457 @var{value} が指定されない場合、デフォルト値が使われます。@c
458 例えば、@var{option-name} に接頭辞 @code{no-} を付けると、そのオプションは
459 @q{off} になります
460
461 @cindex point and click, command line (コマンド ラインでポイント&クリックを指定する)
462
463 @example
464 -dpoint-and-click=#f
465 @end example
466
467 @noindent
468
469 @example
470 -dno-point-and-click
471 @end example
472 と同じです。
473 @end table
474
475 @noindent 以下にサポートされるオプションをデフォルト値とともに示します:
476
477 @multitable @columnfractions .33 .16 .51
478 @item @strong{シンボル}
479 @tab @strong{値}
480 @tab @strong{説明/オプション}
481
482 @item @code{anti-alias-factor}
483 @tab @code{1}
484 @tab (与えられた因数を用いて) 高解像度で描画して、その結果をスケール
485 ダウンすることにより、@code{PNG} 画像の輪郭がギザギザになることを防ぎます。
486
487 @item @code{aux-files}
488 @tab @code{#t}
489 @tab @code{eps} バックエンドを使うときに @code{.tex}, @code{.texi},
490 @code{.count} ファイルを作成します。
491
492 @item @code{backend}
493 @tab @code{ps}
494 @tab デフォルト設定です。Postscript ファイル (デフォルト) は@c
495 @code{TTF}, @code{Type1}, それに @code{OTF} フォントを埋め込みます。@c
496 フォントのサブセットは作成されません。@c
497 @q{東洋} の文字セットを用いるとファイルが非常に大きくなる可能性が@c
498 あることに注意してください。
499
500 @item
501 @tab @code{eps}
502 @tab @command{lilypond-book} コマンドのデフォルトです。@c
503 これは、1 つのファイルにすべてのページとフォントを埋め込んだものと、@c
504 ページ毎に分離しフォントを埋め込まない eps ファイルの、両方を吐き出します。
505
506 @item
507 @tab @code{null}
508 @tab 楽譜を出力しません。@code{-dno-print-pages} と同じ効果を持ちます。
509
510 @item
511 @tab @code{scm}
512 @tab 内部的な Scheme ベースの描画コマンドを吐き出します。
513
514 @item
515 @tab @code{svg}
516 @tab ページ毎の SVG ファイルが全ページ分作られます。@c
517 LilyPond 自身の音楽グリフを除き、フォントは埋め込まれません。@c
518 そのため、テキストや歌詞の最適な描画を得るためには、@c
519 SVG ビュアーにフォントが必要となります。@c
520 SVG ビュアーが対応していないことがあるので、@c
521 @q{フォントエイリアス} や @q{フォントリスト} を使用しないことをお勧めします。@c
522 @emph{Web Open Font Format} (WOFF) ファイルを使うときには、@c
523 追加の @code{svg-woff} スイッチが必要となります。
524 @end multitable
525
526 @noindent
527 @strong{SVG バッグエンド出力の注意:}
528 LilyPond のデフォルトフォント(@code{LilyPond Serif},
529 @code{LilyPond Sans Serif} と @code{LilyPond Monospace})は、@c
530 まさに @emph{ローカル} フォントエイリアスです。@c
531 そのため、@code{svg} バックエンドを使う場合は、@c
532 ソースファイルで明示的にデフォルトフォントを設定する必要があります;
533
534 @quotation
535 @verbatim
536 \paper  {
537   #(define fonts
538     (make-pango-font-tree "TeX Gyre Schola"
539                           "TeX Gyre Heros"
540                           "TeX Gyre Cursor"
541                           (/ staff-height pt 20)))
542 }
543 @end verbatim
544 @end quotation
545
546 @ruser{ドキュメント全体のフォント} も参照してください。
547
548 @multitable @columnfractions .33 .16 .51
549 @c 未訳
550 @item @code{check-internal-types}
551 @tab @code{#f}
552 @tab Check every property assignment for types.
553
554 @item @code{clip-systems}
555 @tab @code{#f}
556 @tab Extract music fragments out of a score.  This requires that the
557 @code{clip-regions} function has been defined within the @code{\layout}
558 block.  See @ruser{Extracting fragments of music}.  No fragments are
559 extracted though if used with the @option{-dno-print-pages} option.
560
561 @item @code{datadir}
562 @tab
563 @tab Prefix for data files (read-only).
564
565 @item @code{debug-gc}
566 @tab @code{#f}
567 @tab Dump memory debugging statistics.
568
569 @item @code{debug-gc-assert-parsed-dead}
570 @tab @code{#f}
571 @tab For memory debugging: Ensure that all references to parsed objects
572 are dead. This is an internal option, and is switched on automatically
573 for @code{`-ddebug-gc'}.
574
575 @item @code{debug-lexer}
576 @tab @code{#f}
577 @tab Debug the flex lexer.
578
579 @item @code{debug-page-breaking-scoring}
580 @tab @code{#f}
581 @tab Dump scores for many different page breaking configurations.
582
583 @item @code{debug-parser}
584 @tab @code{#f}
585 @tab Debug the bison parser.
586
587 @item @code{debug-property-callbacks}
588 @tab @code{#f}
589 @tab Debug cyclic callback chains.
590
591 @item @code{debug-skylines}
592 @tab @code{#f}
593 @tab Debug skylines.
594
595 @item @code{delete-intermediate-files}
596 @tab @code{#t}
597 @tab コンパイルの途中で作成される使用しない中間ファイル @code{.ps} を@c
598 削除します。
599
600 @item @code{dump-cpu-profile}
601 @tab @code{#f}
602 @tab CPU 時間情報を吐き出します (システムに依存します)。
603
604 @item @code{dump-profile}
605 @tab @code{#f}
606 @tab 各ファイルのメモリと CPU 時間情報を吐き出します。
607
608 @c 未訳
609 @item @code{dump-signatures}
610 @tab @code{#f}
611 @tab Dump output signatures of each system. Used for regression testing.
612
613 @item @code{eps-box-padding}
614 @tab @code{#f}
615 @tab 出力される EPS の左端に与えられた数の余白を追加します
616 (単位は mm です)。
617
618 @item @code{gs-load-fonts}
619 @tab @code{#f}
620 @tab Ghostscript 経由でフォントを読み込みます。
621
622 @item @code{gs-load-lily-fonts}
623 @tab @code{#f}
624 @tab LilyPond のフォントだけを Ghostscript 経由で読み込みます。
625
626 @item @code{gui}
627 @tab @code{#f}
628 @tab 出力を表示せずに処理を行い、すべての出力をログ ファイルに@c
629 リダイレクトします。
630 @end multitable
631
632 @noindent
633 @strong{Windows ユーザへの注意:} @code{lilypond.exe} がデフォルトで@c
634 すべての進捗情報をコマンド ウィンドウに出力するのに対して、@c
635 @code{lilypond-windows.exe} は進捗情報を出力しません。@c
636 @option{-dgui} オプションを用いることで、出力をログ ファイルに@c
637 リダイレクトさせることができます。
638
639 @multitable @columnfractions .33 .16 .51
640 @item @code{help}
641 @tab @code{#f}
642 @tab このヘルプを表示します。
643
644 @item @code{include-book-title-preview}
645 @tab @code{#t}
646 @tab プレビュー画像にブック タイトルを含めます。
647
648 @item @code{include-eps-fonts}
649 @tab @code{#t}
650 @tab システム毎の EPS ファイルにフォントを含めます。
651
652 @item @code{include-settings}
653 @tab @code{#f}
654 @tab グローバル設定のファイルをインクルードします。このファイルは楽譜の@c
655 処理が開始する前にインクルードされます。
656
657 @item @code{job-count}
658 @tab @code{#f}
659 @tab 与えられた数のジョブで、並行して処理します。
660
661 @item @code{log-file}
662 @tab @code{#f [file]}
663 @tab 2 番目の引数として文字列 @code{FOO} が与えられた場合、出力を@c
664 ログ ファイル @code{FOO} にリダイレクトします。
665
666 @item @code{max-markup-depth}
667 @tab @code{1024}
668 @tab マークアップ ツリーの階層の最大値です。それよりも深い階層を持つ@c
669 マーックアップがある場合、そのマークアップは終了していないと見なされて、@c
670 警告が表示され、null マークアップが返されます。
671
672 @item @code{midi-extension}
673 @tab @code{"midi"}
674 @tab MIDI 出力ファイルのデフォルトのファイル拡張子を与えられた文字列に@c
675 設定します。
676
677 @c 未訳
678 @item @code{music-strings-to-paths}
679 @tab @code{#f}
680 @tab Convert text strings to paths when glyphs belong to a music font.
681
682 @item @code{paper-size}
683 @tab @code{\"a4\"}
684 @tab デフォルトの紙面サイズを設定します。文字列をエスケープ記号付の 2 重@c
685 引用符 @code{\"} で囲む必要があることに注意してください。
686
687 @item @code{pixmap-format}
688 @tab @code{png16m}
689 @tab 画像出力のための GhostScript の出力フォーマットを設定します。
690
691 @item @code{point-and-click}
692 @tab @code{#t}
693 @tab PDF と SVG 出力に @q{ポイント&クリック} リンクを付け加えます。@c
694 @ref{Point and click} を参照してください。
695
696 @item @code{preview}
697 @tab @code{#f}
698 @tab 通常の出力に加えてプレビュー画像を作成します。
699 @end multitable
700
701 @noindent
702 このオプションはすべてのバックエンド
703 -- @code{pdf}, @code{png}, @code{ps}, @code{eps}, それに @code{svg} --
704 でサポートされますが、@code{scm} ではサポートされません。@c
705 このオプションはタイトルと楽譜の最初の段を保持するファイル
706 -- @code{myFile.preview.extension} という形式のファイル名を持ちます --
707 を出力します。@c
708 @code{\book} ブロックや @code{\bookpart} ブロックが使われている場合、@c
709 @code{\book}, @code{\bookpart}, それに @code{\score} のタイトルが出力@c
710 に譜刻され、@code{\paper} 変数 @code{print-all-headers} が @code{#t} に@c
711 セットされている場合は各 @code{\score} ブロックの最初の段も譜刻されます。
712
713 通常の出力を抑制するには、必要に応じて @option{-dprint-pages} オプション@c
714 または @option{-dno-print-pages} オプションを使ってください。
715
716 @multitable @columnfractions .33 .16 .51
717 @item @code{print-pages}
718 @tab @code{#t}
719 @tab すべてのページを生成します。これがデフォルトです。@option{-dpreview}
720 を使う場合は @option{-dno-print-pages} を組み合わせると有用です。
721
722 @item @code{profile-property-accesses}
723 @tab @code{#f}
724 @tab @code{get_property()} 関数呼び出しの統計を取ります。
725
726 @item @code{protected-scheme-parsing}
727 @tab @code{#t}
728 @tab パーサでインライン Scheme のエラーが発生しても処理を続けます。@c
729 @code{#f} に設定されている場合、エラー終了して、スタック トレースを表示@c
730 します。
731
732 @item @code{read-file-list}
733 @tab @code{#f [file]}
734 @tab 処理する入力ファイルのリストを保持するファイルを指定します。
735
736 @item @code{relative-includes}
737 @tab @code{#f}
738 @tab @code{\include} コマンドを処理するとき、インクルードするファイルを@c
739 (ルート ファイルからではなく) カレント ファイルからの相対位置で検索します。
740
741 @item @code{resolution}
742 @tab @code{101}
743 @tab 生成する @code{PNG} 画像の解像度を与えられた値に設定します。@c
744 単位は dpi です。
745
746 @item @code{safe}
747 @tab @code{#f}
748 @tab @code{.ly} 入力ファイルを信用しません。
749 @end multitable
750
751 @noindent
752 Web サーバ経由で LilyPond 譜刻が利用可能な場合、@option{--safe}
753 オプションか @option{--jail} オプションのどちらかを
754 @b{指定する必要があります}。@c
755 @option{--safe} オプションはインライン Scheme コードが無茶をする
756 -- 例えば、以下のような -- ことを防ぎます。
757
758 @quotation
759 @verbatim
760 #(s ystem "rm -rf /") % 正しく書くのはあまりにも危険
761 {
762   c4^$(ly:gulp-file "/etc/passwd") % 破壊的ではないが悪意がある
763 }
764 @end verbatim
765 @end quotation
766
767 @option{-dsafe} オプションはインライン Scheme 表記を特別なセーフ
768 モジュールの中で評価します。@c
769 これは GUILE @file{safe-r5rs} モジュールに由来しますが、@c
770 @file{scm/safe-lily.scm} でリスト アップされている LilyPond API 関数の@c
771 いくつかも追加されています。
772
773 さらに、セーフ モードでは @code{\include} は許可されず、@TeX{} 文字列の@c
774 中でバックスラッシュを使うこともできません。@c
775 また、セーフ モードでは LilyPond 変数を Scheme にインポートすることも@c
776 できません。
777
778 @option{-dsafe} はリソースの過使用を検出 @emph{しません} ので、@c
779 このオプションを指定してもプログラムをハングさせられる可能性があります
780 -- 例えば、サイクリック (巡回) データ構造をバックエンドに埋め込むことに@c
781 よってです。
782 そのため、LilyPond を一般公開する Web サーバで使用する場合、プロセスの@c
783 CPU とメモリ使用を制限すべきです。
784
785 セーフ モードは多くの有用な LilyPond 楽譜断片がコンパイルされることを@c
786 妨げます。
787
788 @option{--jail} はさらに安全な代替手段ですが、セットアップにかかる手間も@c
789 増えます。@ref{Basic command line options for LilyPond} を参照してください。
790
791 @multitable @columnfractions .33 .16 .51
792 @item @code{separate-log-files}
793 @tab @code{#f}
794 @tab 入力ファイル @code{FILE1.ly}, @code{FILE2.ly}, 等に対するログ
795 データをファイル @code{FILE1.log}, @code{FILE2.log}@dots{} に出力します。
796
797 @item @code{show-available-fonts}
798 @tab @code{#f}
799 @tab 使用可能なフォント名をリスト アップします。
800
801 @item @code{strict-infinity-checking}
802 @tab @code{#f}
803 @tab 浮動小数点の例外 @code{Inf} と @code{NaN} に遭遇した時、@c
804 強制終了します。
805
806 @item @code{strip-output-dir}
807 @tab @code{#t}
808 @tab 出力ファイル名を構築する時に入力ファイルのディレクトリを使用@c
809 しません。
810
811 @c 未訳
812 @item @code{strokeadjust}
813 @tab @code{#f}
814 @tab Force PostScript stroke adjustment.  This option is mostly
815 relevant when a PDF is generated from PostScript output (stroke
816 adjustment is usually enabled automatically for low-resolution bitmap
817 devices).  Without this option, PDF previewers tend to produce widely
818 inconsistent stem widths at resolutions typical for screen display.  The
819 option does not noticeably affect print quality and causes large file
820 size increases in PDF files.
821
822 @item @code{svg-woff}
823 @tab @code{#f}
824 @tab このオプションは @code{svg} バックエンドで Web Open Format (WOFF)
825 フォントを使うために必要となります。@c
826 ページ毎の SVG ファイルが全ページ分作られます。@c
827 LilyPond 自身の音楽グリフを除き、フォントは埋め込まれません。@c
828 そのため、テキストや歌詞の最適な描画を得るためには、@c
829 SVG ビュアーにフォントが必要となります。@c
830 SVG ビュアーが対応していないことがあるので、@c
831 @q{フォントエイリアス} や @q{フォントリスト} を使用しないことをお勧めします。@c
832
833 @item @code{trace-memory-frequency}
834 @tab @code{#f}
835 @tab Scheme セルの 1 秒毎の使用数を記録します。結果を @code{FILE.stacks}
836 と @code{FILE.graph} に吐き出します。
837
838 @item @code{trace-scheme-coverage}
839 @tab @code{#f}
840 @tab Scheme ファイルの適用範囲を @code{FILE.cov} に記録します。
841
842 @item @code{verbose}
843 @tab @code{#f}
844 @tab 饒舌な出力。つまり、loglevel を DEBUG に設定します。
845
846 @item @code{warning-as-error}
847 @tab @code{#f}
848 @tab すべての警告と @q{プログラミング エラー} をエラーに変更します。
849 @end multitable
850
851
852 @node 環境変数
853 @unnumberedsubsec 環境変数
854 @translationof Environment variables
855
856 @cindex LANG
857 @cindex LILYPOND_DATADIR
858
859 @command{lilypond} は以下の環境変数を認識します:
860 @table @code
861 @item LILYPOND_DATADIR
862 これはデフォルトで参照する@c
863 ロケール メッセージとデータ ファイルがあるディレクトリを指定します。@c
864 このディレクトリは @file{ly/}, @file{ps/}, @file{tex/} などの@c
865 サブディレクトリを保持しているべきです。
866
867 @item LANG
868 これは警告メッセージの言語を選択します。
869
870 @item LILYPOND_LOGLEVEL
871 デフォルトのログレベル。@c
872 明示的にログレベルが指定されずに LilyPond が呼び出された場合
873 (すなわち @option{--loglevel} コマンド ライン オプションが@c
874 指定されなかった場合)、@c
875 この値が使用されます。
876
877 @item LILYPOND_GC_YIELD
878 メモリ管理を調節する変数 (単位はパーセント) です。@c
879 大きな値は LilyPond に多くのメモリ使用を許し、@c
880 小さな値だと CPU 使用時間が長くなります。@c
881 デフォルト値は @code{70} です。
882 この変数を使ってメモリ使用量とパフォーマンスを調節することができます。@c
883 これはメモリ管理の振る舞いを調整するパーセント値です。@c
884 高い値にするとプログラムはより多くのメモリを使用し、@c
885 低い値にするとより多くの CPU 時間を使用します。@c
886 デフォルト値は @code{70} です。
887
888 @end table
889
890 @node chroot jail 環境で LilyPond を実行する
891 @unnumberedsubsec chroot jail 環境で LilyPond を実行する
892 @translationof LilyPond in chroot jail
893
894 LilyPond を chroot jail 環境で実行させるようサーバをセットアップすることは@c
895 複雑な作業です。@c
896 以下にステップをリスト アップします。@c
897 各ステップの中にある例は Ubuntu GNU/Linux 用であり、@c
898 @code{sudo} の使用が必要となるかもしれません。
899
900 @itemize
901
902 @item 必要なパッケージをインストールします:
903 LilyPond, GhostScript, それに ImageMagick。
904
905 @item @code{lily} という名前のユーザを作成します:
906
907 @example
908 adduser lily
909 @end example
910
911 @noindent
912 このコマンドはユーザ @code{lily} のためにホーム フォルダ (@code{/home/lily})
913 と新しいグループも作成します。
914
915 @item ユーザ @code{lily} のホーム フォルダで、@c
916 独立したファイルシステムとして使用するファイルを作成します:
917
918 @example
919 dd if=/dev/zero of=/home/lily/loopfile bs=1k count= 200000
920 @end example
921
922 @noindent
923 このコマンドは jail ファイルシステムとして使用する
924 200MB のファイルを作成します。
925
926 @item ループ デバイスを作成し、ファイルシステムを作ってそれをマウントし、@c
927 それからユーザ @code{lily} が書き込めるフォルダを作成します:
928
929 @example
930 mkdir /mnt/lilyloop
931 losetup /dev/loop0 /home/lily/loopfile
932 mkfs -t ext3 /dev/loop0 200000
933 mount -t ext3 /dev/loop0 /mnt/lilyloop
934 mkdir /mnt/lilyloop/lilyhome
935 chown lily /mnt/lilyloop/lilyhome
936 @end example
937
938 @item サーバのコンフィグレーションで、JAIL は @code{/mnt/lilyloop} となり、@c
939 DIR は @code{/lilyhome} となります。
940
941 @item 以下に示すサンプル スクリプトのように必要なファイルをコピーして
942 jail の中に大きなディレクトリ ツリーを作成します。
943
944 @code{sed} を使うことで必要な実行形式ファイルをコピーすることができます:
945
946 @example
947 for i in "/usr/local/lilypond/usr/bin/lilypond" "/bin/sh" "/usr/bin/;  \
948   do ldd $i | sed 's/.*=> \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\&  \
949     cp -L \/\1\2 \1\2/' | sed 's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p  \
950       \1 \&\& cp -L \/\1\2 \1\2/' | sed '/.*=>.*/d'; done
951 @end example
952
953 @end itemize
954
955 @subheading 32-bit Ubuntu 8.04 用のスクリプト例
956
957 @example
958 #!/bin/sh
959 ## defaults set here
960
961 username=lily
962 home=/home
963 loopdevice=/dev/loop0
964 jaildir=/mnt/lilyloop
965 # the prefix (without the leading slash!)
966 lilyprefix=usr/local
967 # the directory where lilypond is installed on the system
968 lilydir=/$lilyprefix/lilypond/
969
970 userhome=$home/$username
971 loopfile=$userhome/loopfile
972 adduser $username
973 dd if=/dev/zero of=$loopfile bs=1k count=200000
974 mkdir $jaildir
975 losetup $loopdevice $loopfile
976 mkfs -t ext3 $loopdevice 200000
977 mount -t ext3 $loopdevice $jaildir
978 mkdir $jaildir/lilyhome
979 chown $username $jaildir/lilyhome
980 cd $jaildir
981
982 mkdir -p bin usr/bin usr/share usr/lib usr/share/fonts $lilyprefix tmp
983 chmod a+w tmp
984
985 cp -r -L $lilydir $lilyprefix
986 cp -L /bin/sh /bin/rm bin
987 cp -L /usr/bin/convert /usr/bin/gs usr/bin
988 cp -L /usr/share/fonts/truetype usr/share/fonts
989
990 # Now the library copying magic
991 for i in "$lilydir/usr/bin/lilypond" "$lilydir/usr/bin/guile" "/bin/sh"  \
992   "/bin/rm" "/usr/bin/gs" "/usr/bin/convert"; do ldd $i | sed 's/.*=>  \
993     \/\(.*\/\)\([^(]*\).*/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/' | sed  \
994       's/\t\/\(.*\/\)\(.*\) (.*)$/mkdir -p \1 \&\& cp -L \/\1\2 \1\2/'  \
995         | sed '/.*=>.*/d'; done | sh -s
996
997 # The shared files for ghostscript...
998       cp -L -r /usr/share/ghostscript usr/share
999 # The shared files for ImageMagick
1000       cp -L -r /usr/lib/ImageMagick* usr/lib
1001
1002 ### Now, assuming that you have test.ly in /mnt/lilyloop/lilyhome,
1003 ### you should be able to run:
1004 ### Note that /$lilyprefix/bin/lilypond is a script, which sets the
1005 ### LD_LIBRARY_PATH - this is crucial
1006       /$lilyprefix/bin/lilypond -jlily,lily,/mnt/lilyloop,/lilyhome test.ly
1007 @end example
1008
1009 @c " keep quote signs balanced for context-sensitive editors
1010
1011
1012 @node エラー メッセージ
1013 @section エラー メッセージ
1014 @translationof Error messages
1015
1016 @cindex error messages (エラー メッセージ)
1017 ファイルのコンパイルの最中にはさまざまなエラー メッセージが@c
1018 表示される可能性があります。
1019
1020 @table @emph
1021
1022 @item Warning
1023 @cindex warning (警告)
1024 何か疑わしいことがあります。@c
1025 あなたが何か普通でないことをリクエストしている場合は、@c
1026 そのメッセージを理解して、それを無視することができます。@c
1027 しかしながら、@c
1028 Warning は通常、入力ファイルに何か問題があることを示しています。
1029
1030 @item Error
1031 何か明らかに問題があります。@c
1032 カレントの処理ステップ (構文解析、構文解釈、フォーマット) は終了され、@c
1033 次のステップは飛ばされます。
1034
1035 @item Fatal error
1036 @cindex error (エラー)
1037 @cindex fatal error (致命的なエラー)
1038 何か明らかに問題があり、LilyPond はコンパイルを続けられません。@c
1039 これが起きることは稀です。@c
1040 これが起こるのはたいてい、フォントのインストールに問題があるためです。
1041
1042 @item Scheme error
1043 @cindex trace, Scheme (Scheme トレース)
1044 @cindex call trace (トレースを呼び出す)
1045 @cindex Scheme error (Scheme エラー)
1046 Scheme コードの実行中に発生するこのエラーは
1047 Scheme インタプリタによって引き起こされます。@c
1048 冗長オプション
1049 (@option{-V} または @option{--verbose})
1050 付きで実行している場合、@c
1051 問題となっている関数呼び出しの呼び出し追跡が表示されます。
1052
1053 @item Programming error
1054 @cindex Programming error (プログラミング エラー)
1055 内部的な矛盾があります。@c
1056 このエラー メッセージはプログラマとデバッガを助けることを意図したものです。@c
1057 通常、それらは無視できます。@c
1058 時々、それらは非常に大きなメッセージとなり、他の出力を見えにくくします。
1059
1060 @item Aborted (core dumped)
1061 これは、プログラムをクラッシュさせる深刻なプログラミング エラーを@c
1062 示しています。@c
1063 そのようなエラーは決定的なものだと考えられます。@c
1064 あなたがそのようなエラーでつまずいた場合、バグ レポートを送ってください。
1065 @end table
1066
1067 @cindex errors, message format (エラー メッセージの形式)
1068 警告とエラーを入力ファイルのある部分にリンクさせることが可能な場合、@c
1069 エラー メッセージは以下のような形式になります:
1070
1071 @example
1072 @var{filename}:@var{lineno}:@var{columnno}: @var{message}
1073 @var{offending input line}
1074 @end example
1075
1076 エラーが見つかった場所を示すために問題のある行に改行が挿入されます。@c
1077 例えば:
1078
1079 @example
1080 test.ly:2:19: error: not a duration: 5
1081   @{ c'4 e'
1082            5 g' @}
1083 @end example
1084
1085 これらの位置は LilyPond が警告やエラーが発生した位置を@c
1086 最善を尽くして推測したものですが、@c
1087 (ごく当たり前のことですが) 警告とエラーは@c
1088 何か予期しないことが起こったときに発生するものです。@c
1089 入力ファイルの示された行にエラーを見つけることができない場合は、@c
1090 示された位置の 1 行か 2 行上をチェックしてみてください。
1091
1092 診断は多くの処理段階のあらゆる時点で発生し得ることに注意してください。@c
1093 例えば、入力が複数回処理される(つまり、MIDI とレイアウト出力)@c
1094 または同じ音楽変数がコンテキストで使われると、@c
1095 同じメッセージが何回か現れることがあります。
1096
1097 エラーについての更なる情報が @ref{一般的なエラー} で提供されています。
1098
1099
1100 @node 一般的なエラー
1101 @section 一般的なエラー
1102 @translationof Common errors
1103
1104 以下で説明するエラーがしばしば発生しますが、@c
1105 その原因は明白でなかったり、見つけにくかったりします。@c
1106 目を通しておくと、それらのエラーに対処しやすくなります。
1107
1108
1109 @menu
1110 * 楽譜がページからはみ出る::
1111 * 余計な譜が表示される::
1112 * エラー メッセージ Unbound variable %::
1113 * エラー メッセージ FT_Get_Glyph_Name::
1114 * 警告 -- Warning staff affinities should only decrease::
1115 * Error message unexpected new::
1116 * Warning this voice needs a voiceXx or shiftXx setting::
1117 @end menu
1118
1119 @node 楽譜がページからはみ出る
1120 @unnumberedsubsec 楽譜がページからはみ出る
1121 @translationof Music runs off the page
1122
1123 楽譜がページの右マージンを越えてはみ出る、あるいは過度に密集するのは、@c
1124 ほぼ間違いなく音符の演奏時間に誤りがあり、@c
1125 小節の最後の音符が小節線を越えてしまうためです。@c
1126 ある小節の最後の音符が自動的に挿入される小節線の所で終わらなくても@c
1127 無効ではありません。@c
1128 なぜなら、その音符は次の小節に持ち越されるためです。@c
1129 しかしながら、そのような持ち越しが発生する小節が長く続くと、@c
1130 楽譜は密集して表示されたり、ページからはみ出たりします。@c
1131 ページからはみ出るのは、@c
1132 自動改行を挿入できるのは正しく終了する小節
1133 (その小節のすべての音符が小節の中で終了しています)
1134 の後ろだけだからです。@c
1135
1136 @warning{誤った演奏時間は改行を抑制し、結果として楽譜が過度に密集したり、c@
1137 ページからはみ出たりする可能性が生じます。}
1138
1139 小節チェックを使用していれば、誤った演奏時間を簡単に見つけることができます。@c
1140 @ruser{小節と小節番号のチェック} を参照してください。
1141
1142 あなたがそのような音符が持ち越される小節を続けることを意図しているのであれば、@c
1143 改行させたい場所に不可視の小節線を挿入する必要があります。@c
1144 詳細は
1145 @ruser{小節線} を参照してください。
1146
1147
1148 @node 余計な譜が表示される
1149 @unnumberedsubsec 余計な譜が表示される
1150 @translationof An extra staff appears
1151
1152 コンテキストが @code{\new} や @code{\context} で明示的に作成されていない場合、@c
1153 既存のコンテキストには適用できないコマンドに遭遇した時点で@c
1154 暗黙的に作成されます。@c
1155 単純な楽譜では、コンテキストの自動作成は有用であり、@c
1156 LilyPond マニュアルのほとんどの例はこの手法を用いています。@c
1157 しかしながら、コンテキストの暗黙的な作成はしばしば予期しない譜や楽譜を@c
1158 発生させてしまいます。@c
1159 例えば、以下のコードは後に続く譜の中にあるすべての符頭を赤にすることを@c
1160 意図していますが、@c
1161 結果は 2 つの譜が表示され、下の譜の符頭の色はデフォルトの黒のままとなります。
1162
1163 @lilypond[quote,verbatim,fragment]
1164 \override Staff.NoteHead.color = #red
1165 \new Staff { a' }
1166 @end lilypond
1167
1168 これは、(符頭色の) オーバライドが処理される時に
1169 @code{Staff} コンテキストが存在していないため、@c
1170 @code{Staff} コンテキストが暗黙的に作成され、@c
1171 そのコンテキストにオーバライドが適用されるからです。@c
1172 その後に @code{\new Staff} コマンドにより@c
1173 もう 1 つ別の @code{Staff} コンテキストが作成され、@c
1174 そこに音符が配置されます。@c
1175 すべての符頭を赤にする正しいコードは以下のようになります:
1176
1177 @lilypond[quote,verbatim]
1178 \new Staff {
1179   \override Staff.NoteHead.color = #red
1180   a'
1181 }
1182 @end lilypond
1183
1184 @node エラー メッセージ Unbound variable %
1185 @unnumberedsubsec エラー メッセージ Unbound variable %
1186 @translationof Error message Unbound variable %
1187
1188 このエラー メッセージは、@emph{Scheme} 形式ではなく @emph{LilyPond} 形式の@c
1189 コメントを含む Scheme ルーチンが呼び出されるたびに、@c
1190 コンソール出力またはログ ファイルの最後に表示されます。
1191
1192 LilyPond 形式のコメントはパーセント記号 (@code{%}) で始まり、@c
1193 Scheme ルーチンの中で使うことはできません。@c
1194 Scheme 形式のコメントはセミコロン (@code{;}) で始まります。
1195
1196 @node エラー メッセージ FT_Get_Glyph_Name
1197 @unnumberedsubsec エラー メッセージ FT_Get_Glyph_Name
1198 @translationof Error message FT_Get_Glyph_Name
1199
1200 入力ファイルが非 ASCII キャラクタを保持していて、@c
1201 UTF-8 エンコードで保存されていない場合、@c
1202 このエラー メッセージがコンソール出力やログ ファイルに表示されます。@c
1203 詳細は、
1204 @c @ruser{テキスト エンコーディング}
1205 @ruser{Text encoding} を参照してください。
1206
1207
1208 @node 警告 -- Warning staff affinities should only decrease
1209 @unnumberedsubsec 警告 -- Warning staff affinities should only decrease
1210 @translationof Warning staff affinities should only decrease
1211
1212 この警告は、譜刻された出力の中に譜が無い場合に表示されます。@c
1213 例えば、リード譜に @code{ChordName} コンテキストと @code{Lyrics} コンテキスト@c
1214 しか無い場合です。@c
1215 この警告は、入力の始めに以下を挿入することで@c
1216 譜として振舞うコンテキストを作ることで回避できます:
1217
1218 @example
1219 \override VerticalAxisGroup.staff-affinity = ##f
1220 @end example
1221
1222 @noindent
1223 詳細は @ruser{システム内部の可変な垂直方向のスペース} の
1224 @qq{譜ではない行のスペース} を参照してください。
1225
1226
1227 @node Error message unexpected new
1228 @unnumberedsubsec Error message unexpected @code{@bs{}new}
1229
1230 A @code{\score} block must contain a @emph{single} music expression.
1231 If instead it contains several @code{\new Staff},
1232 @code{\new StaffGroup} or similar contexts introduced with @code{\new}
1233 without them being enclosed in either curly brackets,
1234 @code{@{ @dots{} @}}, or double angle brackets, @code{<< @dots{} >>},
1235 like this:
1236
1237 @example
1238 \score @{
1239   % Invalid! Generates error: syntax error, unexpected \new
1240   \new Staff @{ @dots{} @}
1241   \new Staff @{ @dots{} @}
1242 @}
1243 @end example
1244
1245 @noindent
1246 the error message will be produced.
1247
1248 To avoid the error, enclose all the @code{\new} statements in
1249 curly or double angle brackets.
1250
1251 Using curly brackets will introduce the @code{\new} statements
1252 sequentially:
1253
1254 @lilypond[quote,verbatim]
1255 \score {
1256   {
1257     \new Staff { a' a' a' a' }
1258     \new Staff { g' g' g' g' }
1259   }
1260 }
1261 @end lilypond
1262
1263 @noindent
1264 but more likely you should be using double angle brackets so the new
1265 staves are introduced in parallel, i.e. simultaneously:
1266
1267 @lilypond[quote,verbatim]
1268 \score {
1269   <<
1270     \new Staff { a' a' a' a' }
1271     \new Staff { g' g' g' g' }
1272   >>
1273 }
1274 @end lilypond
1275
1276 @node Warning this voice needs a voiceXx or shiftXx setting
1277 @unnumberedsubsec Warning this voice needs a @code{@bs{}voiceXx}
1278  or @code{@bs{}shiftXx} setting
1279
1280 If notes from two different voices with stems in the same direction
1281 occur at the same musical moment, but the voices have no
1282 voice-specific shifts specified, the warning message
1283 @samp{warning: this voice needs a \voiceXx or \shiftXx setting} will appear
1284 when compiling the LilyPond file.  This warning will appear even when
1285 the notes have no visible stems, e.g. whole notes, if the stems for
1286 shorter notes at the same pitch would be in the same direction.
1287
1288 Remember that the stem direction depends on the position of the
1289 note on the staff unless the stem direction is specified, for example
1290 by using @code{\voiceOne}, etc.  In this case the warning will appear
1291 only when the stems happen to be in the same direction, i.e. when the
1292 notes are in the same half of the staff.
1293
1294 By placing the notes in voices with stem directions and shifts
1295 specified, for example by using @code{\voiceOne}, etc., these warnings
1296 may be avoided.
1297
1298 Notes in higher numbered voices, @code{\voiceThree} etc., are
1299 automatically shifted to avoid clashing note columns.  This causes a
1300 visible shift for notes with stems, but whole notes are not visibly
1301 shifted unless an actual clash of the note heads occurs, or when the
1302 voices cross over from their natural order (when @code{\voiceThree}
1303 is higher than @code{\voiceOne}, etc.)
1304
1305 @seealso
1306 @rlearning{Explicitly instantiating voices},
1307 @rlearning{Real music example},
1308 @ruser{Single-staff polyphony},
1309 @ruser{Collision resolution}.