]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ja/usage/lilypond-book.itely
New upstream version 2.19.80
[lilypond.git] / Documentation / ja / usage / lilypond-book.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
2
3 @ignore
4     Translation of GIT committish: 5fb3f8cf17ce7b57d22584429d736f188e4827d7
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.22"
12
13 @c Translators: Tomohiro Tatejima, Yoshiki Sawada
14
15 @c Note: keep this node named so that `info lilypond-book' brings you here.
16 @node lilypond-book
17 @chapter @command{lilypond-book} を実行する
18 @translationof lilypond-book
19
20 ドキュメントに楽譜の画像を追加したければ、他のタイプの画像を追加する@c
21 のと同じ方法で追加することができます。@c
22 ドキュメントとは別に画像を作成して、PostScript 出力や PNG 画像@c
23 として保存して、@LaTeX{} や HTML ドキュメントに組み込みます。
24
25 @command{lilypond-book} はこの処理を自動で行うための手段です:
26 このプログラムはドキュメントから楽譜のコード断片を抽出して、@c
27 それらに対して @command{lilypond} を実行して、楽譜のコード断片を@c
28 画像で置き換えたドキュメントを出力します。@c
29 楽譜の線の太さやフォント サイズはドキュメントのレイアウトに調和@c
30 するよう調節されます。
31
32 @command{lilypond-book} は @command{lilypond} とは別のプログラムであり、@c
33 コマンド ラインで実行されます。@c
34 更なる情報は @ref{Command-line usage} を参照してください。@c
35 Windows や Mac OS X のコマンド ラインを用いて @code{lilypond-book} を@c
36 実行しようとした際に問題があるようなら、@rweb{Windows} や @rweb{MacOS X}
37 を参照してください。
38
39 この処理は @LaTeX{}, HTML, Texinfo, または DocBook のドキュメントに@c
40 適用することができます。
41
42 @cindex texinfo
43 @cindex LaTex
44 @cindex texinfo
45 @cindex texi
46 @cindex HTML
47 @cindex docbook
48 @cindex documents, adding music (ドキュメントに楽譜を追加する)
49 @cindex HTML, adding music (HTML に楽譜を追加する)
50 @cindex Texinfo, adding music (Texinfo に楽譜を追加する)
51 @cindex DocBook, adding music (DocBook に楽譜を追加する)
52 @cindex LaTeX, adding music (LaTeX に楽譜を追加する)
53
54 @menu
55 * 音楽学のドキュメントの例::
56 * 楽譜とテキストを統合する::
57 * 楽譜断片オプション::
58 * lilypond-book を呼び出す::
59 * ファイル拡張子::
60 * lilypond-book テンプレート::
61 * 目次を共有する::
62 * テキストと楽譜を組み合わせる他の方法::
63 @end menu
64
65
66 @node 音楽学のドキュメントの例
67 @section 音楽学のドキュメントの例
68 @translationof An example of a musicological document
69
70 @cindex musicology (音楽学)
71 テキストのなかには楽譜の例を保持しているものがあります。@c
72 そのようなテキストには、音楽学の専門書、歌集、このドキュメントのような@c
73 マニュアルがあります。@c
74 そのようなテキストを手作業で作成することができます
75 -- PostScript 画像をワープロにインポートするといったようにです。@c
76 しかしながら、HTML, @LaTeX{}, Texinfo, それに DocBook ドキュメント@c
77 の場合は、作業量を減らすための自動処理を利用することができます。
78
79 @code{lilypond-book} と呼ばれるスクリプトは楽譜の断片を抽出して、@c
80 それらをフォーマットして、得られた楽譜をドキュメントに戻します。@c
81 @LaTeX{} に対するちょっとした使用例を示します。@c
82 この例には説明文も含まれていますので、それ以上コメントすることはしません。
83
84 @subheading 入力
85
86 @quotation
87 @verbatim
88 \documentclass[a4paper]{article}
89
90 \begin{document}
91
92 \verb+lilypond-book+ のドキュメントでは自由に楽譜とテキストを
93 組み合わせることができます。
94 例えば、以下のように:
95
96 \begin{lilypond}
97 \relative {
98   c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
99 }
100 \end{lilypond}
101
102 オプションは角括弧の中に配置します。
103
104 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
105   c'4 f16
106 \end{lilypond}
107
108 大きな楽譜例は別のファイルに配置して、\verb+\lilypondfile+ で
109 インポートすることができます。
110
111 \lilypondfile[quote,noindent]{screech-and-boink.ly}
112
113 (必要があれば、@file{screech-and-boink.ly} をこのファイルと同じディレクトリ
114 にある任意の @file{.ly} に置き換えてください。)
115
116 \end{document}
117 @end verbatim
118 @end quotation
119
120 @subheading 処理
121
122 上記のコードを @file{lilybook.lytex} というファイル名で保存して、@c
123 ターミナルで以下を実行します:
124
125 @c keep space after @version{} so TeX doesn't choke
126 @example
127 lilypond-book --output=out --pdf lilybook.lytex
128 @emph{lilypond-book (GNU LilyPond) @version{} }
129 @emph{Reading lilybook.lytex...}
130 @emph{@dots{}lots of stuff deleted@dots{}}
131 @emph{Compiling lilybook.tex...}
132 cd out
133 pdflatex lilybook
134 @emph{@dots{}lots of stuff deleted@dots{}}
135 xpdf lilybook
136 @emph{(@command{xpdf} をお好みの PDF ビューアに置き換えてください)}
137 @end example
138
139 @command{lilypond-book} と @command{latex} を実行すると多くの一時@c
140 ファイルが作成されて、作業ディレクトリを散らかします。@c
141 散らかされることを防ぐには @option{--output=@var{dir}} オプションを@c
142 使います。@c
143 このオプションを指定すると、一時ファイルはサブディレクトリ @file{dir}
144 に作成されます。
145
146 以下に上記の @LaTeX{} 例の結果を示します。@footnote{このチュートリアルは
147 Texinfo で処理されるため、上記の例とはレイアウトが少し異なります。}@c
148 これでこのチュートリアル セクションを終わります。
149
150 @page
151
152 @subheading 出力
153
154 @command{lilypond-book} のドキュメントでは自由に楽譜とテキストを
155 組み合わせることができます。
156 例えば、以下のように:
157
158 @lilypond
159 \relative {
160   c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
161 }
162 @end lilypond
163
164 オプションは角括弧の中に配置します。
165
166 @lilypond[fragment,quote,staffsize=26,verbatim]
167 c'4 f16
168 @end lilypond
169
170 大きな楽譜例は別のファイルに配置して、@code{\lilypondfile} で
171 インポートすることができます。
172
173 @lilypondfile[quote,noindent]{screech-and-boink.ly}
174
175 デフォルトあるいはカスタムの @code{tagline} が必要であれば、
176 楽譜コード断片全体を @code{\book @{ @}} 構造で囲んでください。
177
178 @lilypond[papersize=a8,verbatim]
179 \book{
180   \header{
181     title = "A scale in LilyPond"
182   }
183
184   \relative {
185     c' d e f g a b c
186   }
187 }
188 @end lilypond
189
190 @page
191
192
193 @node 楽譜とテキストを統合する
194 @section 楽譜とテキストを統合する
195 @translationof Integrating music and text
196
197 LilyPond をさまざまな出力フォーマットと統合する方法を説明します。
198
199 @menu
200 * LaTeX::
201 * Texinfo::
202 * HTML::
203 * DocBook::
204 @end menu
205
206 @node LaTeX
207 @subsection @LaTeX{}
208 @translationof LaTeX
209
210 @LaTeX{} は物理学や化学等の出版のデファクト スタンダードです。@c
211 @LaTeX{} は @TeX{} 植字エンジン上に構築され、最高品位の活版印刷術を@c
212 提供します。
213
214 @LaTeX{} の使い方についての概要は
215 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
216 @emph{The Not So Short Introduction to @LaTeX{}}} を参照してください。
217
218 @code{lilypond-book} は楽譜を @LaTeX{} ファイルに組み込むために以下の@c
219 コマンドと環境を提供します:
220
221 @itemize
222
223 @item
224 @code{\lilypond@{@dots{}@}} コマンド: ここに直接短い lilypond コードを入力する@c
225 ことができます
226
227 @item
228 @code{\begin@{lilypond@}@dots{}\end@{lilypond@}} 環境: ここに長い lilypond
229 コードを入力することができます
230
231 @item
232 @code{\lilypondfile@{@dots{}@}} コマンド: このコマンドで lilypond ファイルを@c
233 挿入することができます
234
235 @item
236 @code{\musicxmlfile@{@dots{}@}} コマンド: このコマンドで MusicXML ファイルを@c
237 挿入することができます。@c
238 挿入されたファイルは @code{musicxml2ly} と @code{lilypond} で処理されます
239
240 @end itemize
241
242 入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:
243
244 @example
245 \begin@{lilypond@}[options,go,here]
246   YOUR LILYPOND CODE
247 \end@{lilypond@}
248
249 \lilypond[options,go,here]@{ YOUR LILYPOND CODE @}
250
251 \lilypondfile[options,go,here]@{@var{filename}@}
252
253 \musicxmlfile[options,go,here]@{@var{filename}@}
254 @end example
255
256
257 @noindent
258
259 さらに、@code{\lilypondversion} は lilypond のバージョン番号を表示します。@c
260 @command{lilypond-book} を実行して得られたファイルを更に @LaTeX{} で@c
261 処理することができます。
262
263 例をいくつか挙げます。以下の @code{lilypond} 環境
264
265 @example
266 \begin@{lilypond@}[quote,fragment,staffsize=26]
267   c' d' e' f' g'2 g'2
268 \end@{lilypond@}
269 @end example
270
271 @noindent
272 これは以下を作り出します
273
274 @lilypond[quote,fragment,staffsize=26]
275 c' d' e' f' g'2 g'2
276 @end lilypond
277
278 以下の短いバージョン
279
280 @example
281 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
282 @end example
283
284 @noindent
285 これは以下を作り出します
286
287 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
288
289 @noindent
290 今のところ @code{\lilypond@{@}} の中で @code{@{} や @code{@}} を@c
291 記述することはできないため、このコマンドは @code{fragment} オプション@c
292 を指定した場合にのみ機能します。
293
294 楽譜のデフォルトの行幅は、ドキュメント前文
295 -- @code{\begin@{document@}} より前の部分 --
296 のコマンドを検証することにより調節されます。@c
297 @command{lilypond-book} コマンドはそれらのコマンドを @LaTeX{} に送って@c
298 テキストの幅を調べます。@c
299 その後、楽譜断片の行幅はそのテキスト幅に調節されます。@c
300 試行錯誤なアルゴリズムは容易に失敗する可能性があります
301 -- そのような場合、@code{line-width} 楽譜断片オプションを使用する必要が@c
302 あります。
303
304 @cindex titling and lilypond-book (タイトルと lilypond-book)
305 @cindex \header in @LaTeX{} documents (@LaTeX{} ドキュメントの中にある \header)
306
307 以下のマクロがユーザによって定義されている場合、各楽譜断片はそれらの@c
308 マクロを呼び出します:
309
310 @itemize @bullet
311 @item @code{\preLilyPondExample} は楽譜断片の処理が始まる前に@c
312 呼び出されます。
313
314 @item @code{\postLilyPondExample} は楽譜断片の処理が終わった後に@c
315 呼び出されます。
316
317 @item @code{\betweenLilyPondSystem[1]} は、@code{lilypond-book} が@c
318 楽譜断片をいくつかの PostScript ファイルに分けて出力する場合に、@c
319 ある段と次の段の間で呼び出されます。@c
320 このマクロはパラメータを 1 つ取るように定義する必要があり、@c
321 何段数目の処理が終わったらマクロが動作を始めるかを指定する@c
322 数を渡します。@c
323 デフォルトでは @code{\linebreak} を挿入するだけです。
324 @end itemize
325
326 @ignore
327 Broken stuff.  :(
328
329 @cindex Latex, feta symbols
330 @cindex fetachar
331
332 To include feta symbols (such as flat, segno, etc) in a LaTeX
333 document, use @code{\input@{titledefs@}}
334
335 @example
336 \documentclass[a4paper]@{article@}
337
338 \input@{titledefs@}
339
340 \begin@{document@}
341
342 \fetachar\fetasharp
343
344 \end@{document@}
345 @end example
346
347 The font symbol names are defined in the file feta20.tex; to find
348 the location of this file, use the command
349
350 @example
351 kpsewhich feta20.tex
352 @end example
353
354 @end ignore
355
356 @snippets
357
358 楽譜要素 (タイやスラー等) を断片の後に続くかのように@c
359 表示することが有用な場合があります。@c
360 これは譜を改行して、残りの LilyPond 出力を抑制することで実現できます。
361
362 @LaTeX{} の中で @code{\betweenLilyPondSystem} を定義して、必要な楽譜段数@c
363 が出力された後の出力を抹消するようにします。@c
364 @code{\betweenLilyPondSystem} が最初に呼び出されるのは @emph{最初の} 段@c
365 が処理された後なので、最初の段だけを残すことは簡単です。
366
367 @example
368 \def\betweenLilyPondSystem#1@{\endinput@}
369
370 \begin@{lilypond@}[fragment]
371   c'1\( e'( c'~ \break c' d) e f\)
372 \end@{lilypond@}
373 @end example
374
375 必要とする段数が多い場合、@code{\endinput} の前で @TeX{} 条件分岐を使う@c
376 必要があります。@c
377 以下の例で、@q{2} を必要とする段数に置き換えてください。
378
379 @example
380 \def\betweenLilyPondSystem#1@{
381     \ifnum#1<2\else\expandafter\endinput\fi
382 @}
383 @end example
384
385 @noindent
386 (@code{\endinput} は入力ファイルの処理をすぐに停止するため、@c
387 @code{\endinput} の呼び出しを @code{\fi} 実行後まで遅らせるために
388 @code{\expandafter} を記述する必要があります。@c
389 これにより @code{\if}-@code{\fi} 節がバランスします。)
390
391 @code{\betweenLilyPondSystem} の定義は @TeX{} がカレントのグループ
392 (@LaTeX{} 環境等) を終了するか、他の定義で上書きされる
393 (これは大抵の場合、ドキュメントの残りの部分に対する定義です)
394 まで効果を持つということを覚えておいてください。@c
395 定義をリセットするには、@LaTeX{} に以下を記述します:
396
397 @example
398 \let\betweenLilyPondSystem\undefined
399 @end example
400
401 これを簡単にするには、以下の @TeX{} マクロを定義して、
402
403 @example
404 \def\onlyFirstNSystems#1@{
405     \def\betweenLilyPondSystem##1@{%
406       \ifnum##1<#1\else\expandafter\endinput\fi@}
407 @}
408 @end example
409
410 @noindent
411 各楽譜断片の前に必要な段数を指定します。
412
413 @example
414 \onlyFirstNSystems@{3@}
415 \begin@{lilypond@}@dots{}\end@{lilypond@}
416 \onlyFirstNSystems@{1@}
417 \begin@{lilypond@}@dots{}\end@{lilypond@}
418 @end example
419
420
421 @seealso
422 @LaTeX{} ドキュメント専用の @command{lilypond-book} コマンド
423 オプションがあり、他にも知っておくべき細かなことがあります。@c
424 @ref{Invoking lilypond-book} を参照してください。
425
426
427 @node Texinfo
428 @subsection Texinfo
429 @translationof Texinfo
430
431 Texinfo は GNU プロジェクトのドキュメントのデフォルト フォーマットです。@c
432 Texinfo ドキュメントの例の 1 つはこのマニュアルです。@c
433 このマニュアルの HTML, PDF, それに Info 形式は Texinfo ドキュメントから@c
434 生成されています。
435
436 @code{lilypond-book} は楽譜を Texinfo ファイルに組み込むために以下の@c
437 コマンドと環境を提供します:
438
439 @itemize
440
441 @item
442 @code{@@lilypond@{@dots{}@}} コマンド: ここに直接短い lilypond コードを@c
443 入力することができます
444
445 @item
446 @code{@@lilypond@dots{}@@end lilypond} 環境: ここに長い lilypond
447 コードを入力することができます
448
449 @item
450 @code{@@lilypondfile@{@dots{}@}} コマンド: このコマンドで lilypond
451 ファイルを挿入することができます
452
453 @item
454 @code{@@musicxmlfile@{@dots{}@}} コマンド: このコマンドで MusicXML ファイルを@c
455 挿入することができます。@c
456 挿入されたファイルは @code{musicxml2ly} と @code{lilypond} で処理されます
457
458 @end itemize
459
460 入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:
461
462 @example
463 @@lilypond[options,go,here]
464   YOUR LILYPOND CODE
465 @@end lilypond
466
467 @@lilypond[options,go,here]@{ YOUR LILYPOND CODE @}
468
469 @@lilypondfile[options,go,here]@{@var{filename}@}
470
471 @@musicxmlfile[options,go,here]@{@var{filename}@}
472 @end example
473
474 さらに、@code{@@lilypondversion} は lilypond のバージョン番号を表示します。
475
476 @command{lilypond-book} を実行して得られる Texinfo ファイル
477 (拡張子は @file{.texi} です) は HTML, Info, それに表示出力用の
478 @code{@@image} タグを保持しています。@c
479 @command{lilypond-book} は表示出力に対しては EPS と PDF 形式の楽譜を@c
480 生成して、HTML と Info 出力に対しては PNG 形式の楽譜を生成します。
481
482 2 つの簡単な例を挙げます。以下の @code{lilypond} 環境
483
484 @example
485 @@lilypond[fragment]
486 c' d' e' f' g'2 g'
487 @@end lilypond
488 @end example
489
490 @noindent
491 これは以下を作り出します
492
493 @lilypond[fragment]
494 c' d' e' f' g'2 g'
495 @end lilypond
496
497 以下の短いバージョン
498
499 @example
500 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
501 @end example
502
503 @noindent
504 これは以下を作り出します
505
506 @lilypond[fragment,staffsize=11]{<c' e' g'>}
507
508 @LaTeX{} とは対照的に、@code{@@lilypond@{@dots{}@}} はインライン画像を@c
509 生成しません。@c
510 生成される画像は常に 1 つの段落を構成します。
511
512
513 @node HTML
514 @subsection HTML
515 @translationof HTML
516
517 @code{lilypond-book} は楽譜を HTML ファイルに組み込むために以下の@c
518 コマンドと環境を提供します:
519
520 @itemize
521
522 @item
523 @code{<lilypond @dots{} />} コマンド: ここに直接短い lilypond コードを入力する@c
524 ことができます
525
526 @item
527 @code{<lilyond>@dots{}</lilypond>} 環境: ここに長い lilypond
528 コードを入力することができます
529
530 @item
531 @code{<lilypondfile>@dots{}</lilypondfile>} コマンド: このコマンドで
532 lilypond ファイルを挿入することができます
533
534 @item
535 @code{<musicxmlfile>@dots{}</musicxmlfile>} コマンド: このコマンドで
536 MusicXML ファイルを挿入することができます。@c
537 挿入されたファイルは @code{musicxml2ly} と @code{lilypond} で処理されます
538
539 @end itemize
540
541 入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:
542
543 @example
544 <lilypond options go here>
545   YOUR LILYPOND CODE
546 </lilypond>
547
548 <lilypond options go here: YOUR LILYPOND CODE />
549
550 <lilypondfile options go here>@var{filename}</lilypondfile>
551
552 <musicxmlfile options go here>@var{filename}</musicxmlfile>
553 @end example
554
555 記述例を挙げます:
556 @example
557 <lilypond fragment relative=2>
558 \key c \minor c4 es g2
559 </lilypond>
560 @end example
561
562 @noindent
563 上記のコードから @command{lilypond-book} は楽譜断片に対する適切な@c
564 画像タグを持つ HTML ファイルを作り出します:
565
566 @lilypond[fragment,relative=2]
567 \key c \minor c4 es g2
568 @end lilypond
569
570 インライン画像を得るには、@code{<lilypond @dots{} />} を使います。@c
571 以下のように、コロン @code{:} でオプションと楽譜コードを区切ります:
572
573 @example
574 Some music in <lilypond relative=2: a b c/> a line of text.
575 @end example
576
577 HTML ファイルとは別に記述した lilypond ファイルを組み込むには@c
578 以下のようにします:
579
580 @example
581 <lilypondfile @var{option1} @var{option2} @dots{}>@var{filename}</lilypondfile>
582 @end example
583
584 @code{<musicxmlfile>} は @code{<lilypondfile>} と同じ構文を使い、@c
585 LilyPond ファイルではなく MusicXML ファイルを参照します。
586
587 @code{lilypond} タグや @code{lilypondfile} タグで使用するオプションの@c
588 リストは、@ref{Music fragment options} を参照してください。
589
590 さらに、@code{<lilypondversion/>} は lilypond のバージョン番号を表示します。
591
592
593 @cindex titling in HTML (HTML のタイトル)
594 @cindex preview image (プレビュー画像)
595 @cindex thumbnail (サムネイル)
596
597 @node DocBook
598 @subsection DocBook
599 @translationof DocBook
600
601 LilyPond 断片を組み込む場合、DocBook ドキュメントとの適合を保つべきです。@c
602 そうすることで、DocBook のエディタや検証機能等を使うことができます。@c
603 そのため、カスタム タグは使わず、標準 DocBook 要素に基づく約束ごとだけを@c
604 使います。
605
606 @subheading Common conventions
607
608 楽譜断片をインラインあるいはインラインではなく挿入するために、@c
609 @code{mediaobject} 要素と @code{inlinemediaobject} 要素を使います。@c
610 楽譜断片フォーマット オプションは常に最も内側の要素の @code{role}
611 プロパティの中に配置します (次のセクションを参照してください)。@c
612 タグは DocBook エディタがコンテンツをきれいにフォーマットすることを@c
613 可能にします。@c
614 @command{lilypond-book} で処理する DocBook ファイルの拡張子は
615 @file{.lyxml} にするべきです。
616
617 @subheading LilyPond ファイルを組み込む
618
619 これが最も簡単な方法です。@c
620 組み込むファイルの拡張子は @file{.ly} にして、それを以下に示す構造で@c
621 標準の @code{imageobject} として挿入する必要があります:
622
623 @example
624 <mediaobject>
625   <imageobject>
626     <imagedata fileref="music1.ly" role="printfilename" />
627   </imageobject>
628 </mediaobject>
629 @end example
630
631 必要に応じて、最も外側の要素に @code{mediaobject} または
632 @code{inlinemediaobject} を使うことができるということに注意してください。
633
634 @subheading LilyPond コードを組み込む
635
636 @code{programlisting} を用いることで、LilyPond コードを@c
637 組み込むことができます。@c
638 以下の構造を用いて、@code{programlisting} の言語には @code{lilypond} を@c
639 セットします:
640 @example
641 <inlinemediaobject>
642   <textobject>
643     <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
644 \context Staff \with @{
645   \remove "Time_signature_engraver"
646   \remove "Clef_engraver"@}
647   @{ c4( fis) @}
648     </programlisting>
649   </textobject>
650 </inlinemediaobject>
651 @end example
652
653 最も外側の要素は @code{mediaobject} または @code{inlinemediaobject} であり、@c
654 その中に @code{programlisting} を保持する @code{textobject} がありことが@c
655 見て取れます。
656
657 @subheading DocBook ドキュメントを処理する
658
659 @file{.lyxml} ファイルに対して @command{lilypond-book} を実行すると、@c
660 拡張子が @file{.xml} の有効な DocBook ドキュメントが作成され、@c
661 それを更に処理にかけることがでいます。@c
662 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex} を使うと、@c
663 このドキュメントから自動的に PDF ファイルを作成することがでいます。@c
664 公式 DocBook スタイルシートを用いることで HTML (HTML ヘルプ、JavaHelp 等)
665 を生成することが可能ですが、カスタマイズが必要かもしれません。
666
667
668 @node 楽譜断片オプション
669 @section 楽譜断片オプション
670 @translationof Music fragment options
671
672 以下では、@q{LilyPond コマンド} は、これまでのセクションで説明した@c
673 楽譜断片を作り出すために @command{lilypond-book} によって処理される@c
674 任意のコマンドを意味します。@c
675 シンプルにするために、@LaTeX{} 構文の LilyPond コマンドだけを示します。
676
677 オプション文字列は左から右の順で解析されるということに注意してください。@c
678 あるオプションを複数指定した場合、最後のオプションが有効となります。
679
680 LilyPond コマンドで以下のオプションを使うことができます:
681
682 @table @code
683 @item staffsize=@var{ht}
684 譜サイズを @var{ht} にセットします。単位はポイントです。
685
686 @item ragged-right
687 デフォルトの間隔を用いるため、行の右端が揃いません。@c
688 つまり、LilyPond コード断片に @code{ragged-right = ##t} を追加します。@c
689 明示的に @code{noragged-right} を指定しない限り、@c
690 1 行の楽譜断片はデフォルトでは常に ragged-right で譜刻されます。
691
692 @item noragged-right
693 楽譜断片が 1 行の場合に、譜の長さを行幅まで広げます。@c
694 つまり、LilyPond コード断片に @code{ragged-right = ##f} を追加します。
695
696 @item line-width
697 @itemx line-width=@var{size}\@var{unit}
698 行幅を @var{size} にセットします。@var{unit} は単位です。@c
699 @var{unit} は以下の文字列のどれかです: @code{cm}, @code{mm}, @code{in},
700 あるいは @code{pt}。@c
701 このオプションは LilyPond 出力 (つまり、楽譜断片の譜の幅に) に影響を@c
702 与えますが、テキスト レイアウトには影響を与えません。
703
704 引数無しで使用した場合、行幅はデフォルト値にセットされます
705 (試行錯誤的なアルゴリズムで算出される値です)。
706
707 @code{line-width} オプションが指定されなかった場合、@c
708 @command{lilypond-book} は @code{ragged-right} オプションを使用しない
709 @code{lilypond} 環境のデフォルトを推測しようと試みます。
710
711 @item papersize=@var{string}
712 @var{string} は @file{scm/paper.scm} で定義されている紙面サイズ
713 -- つまり、@code{a5}, @code{quarto}, @code{11x17} 等 -- です。
714
715 @file{scm/paper.scm} で定義されていない値は無視され、警告が発せられ、@c
716 楽譜断片はデフォルトの @code{a4} サイズで譜刻されます。
717
718 @item notime
719 拍子記号と小節線を譜刻しません。
720
721 @item fragment
722 @command{lilypond-book} が常用コードを追加するので、@code{\layout},
723 @code{\score} 等を入力する必要がなく、単に以下のように入力できます:
724
725 @example
726 c'4
727 @end example
728
729 @item nofragment
730 楽譜断片の LilyPond コードに補完コードを追加しません。@c
731 これがデフォルトなので、通常、@code{nofragment} は不要です。
732
733 @item indent=@var{size}\@var{unit}
734 楽譜の最初の段のインデントを @var{size} にセットします。@c
735 @var{unit} は単位です。@c
736 @var{unit} は以下の文字列のどれかです: @code{cm}, @code{mm}, @code{in},
737 あるいは @code{pt}。@c
738 このオプションは LilyPond に影響を与えますが、テキスト レイアウトには@c
739 影響を与えません。
740
741 @item noindent
742 楽譜の最初の段のインデントを 0 にセットします。@c
743 このオプションは LilyPond に影響を与えますが、テキスト レイアウトには@c
744 影響を与えません。@c
745 これがデフォルトなので、通常、@code{noindent} は不要です。
746
747 @item quote
748 楽譜の両端に @math{0.4}@dmn{in} のインデントを挿入して、引用ブロックで@c
749 囲みます。@c
750 値 @q{0.4@dmn{in}} は @code{exampleindent} オプションで制御することが@c
751 できます。
752
753 @item exampleindent
754 @code{quote} オプションが楽譜断片に挿入するインデントの量をセットします。
755
756 @item relative
757 @itemx relative=@var{n}
758 相対オクターブ モードを使用します。@c
759 デフォルトでは、音符はミドル@tie{}C との相対関係で指定します。@c
760 オプションで指定する整数の引数は開始音符のオクターブを指定します
761 -- デフォルトの @code{1} はミドル@tie{}C です。@c
762 @code{relative} オプションは @code{fragment} オプションがセットされている@c
763 場合にのみ機能するため、@code{relative} オプションがセットされるとソース@c
764 の中の @code{(no)fragment} オプション有無にかかわらず @code{fragment} が@c
765 自動的、暗黙的にセットされます。
766 @end table
767
768 LilyPond もそれ自体のドキュメントを作り出すのに @command{lilypond-book}
769 を使います。@c
770 LilyPond のドキュメントを作るために、さらに細かな楽譜断片オプションが@c
771 用意されています。
772
773 @table @code
774 @item verbatim
775 LilyPond コマンドの引数をそのまま出力ファイルにコピーして、ブロックで@c
776 囲み、その後に @code{intertext} オプションで与えられた任意のテキストが@c
777 続きます (@code{intertext} オプションはまだ実装されていません)。@c
778 それから実際の楽譜が表示されます。@c
779 段落の一部となっている @code{\lilypond@{@}} でこのオプションを指定@c
780 しても機能しません。
781
782 @code{lilypondfile} コマンドで @code{verbatim} を使用した場合、ソース
783 ファイルの一部だけをそのままコピーして囲むことができます。@c
784 ソース ファイルが @samp{begin verbatim} (引用符を除く) という文字列を@c
785 含むコメントを保持している場合、最後の @samp{begin verbatim} より後の@c
786 ソースが引用されます。@c
787 同様に、@samp{end verbatim} を含むコメントがあれば、ソースの引用は@c
788 最初の @samp{end verbatim} の前で終了します。@c
789 以下のソース ファイル例で、楽譜コードは相対モードで解釈されますが、@c
790 ソースの引用に @code{relative} ブロックは表示されません。@c
791 つまり、
792
793 @example
794 \relative @{ % begin verbatim
795   c'4 e2 g4
796   f2 e % end verbatim
797 @}
798 @end example
799
800 @noindent
801 上記のソースは以下のように引用されます。
802
803 @example
804   c4 e2 g4
805   f2 e
806 @end example
807
808 @noindent
809 ソースの引用の中にあるコメントと変数名を翻訳したけれども、ソース自体の@c
810 中にあるコメントと変数名は翻訳したくない場合、環境変数
811 @code{LYDOC_LOCALEDIR} をディレクトリ パスにセットします
812 -- セットしたディレクトリはドメインに @code{lilypond-doc} を指定した@c
813 @file{.mo} メッセージ カタログのツリーを保持する必要があります。
814
815 @item addversion
816 (Texinfo 出力専用です) @code{verbatim} 出力の先頭に @code{\version
817 @@w@{"@@version@{@}"@}} という行を追加します。
818
819 @item texidoc
820 (Texinfo 出力専用です) 入力ファイル @file{foo.ly} に対して
821 @option{--header=@/texidoc} オプションを指定して @command{lilypond}
822 を呼び出した場合、入力ファイルの @code{\header} に @code{texidoc}
823 フィールドがあればファイル @file{foo.texidoc} が作成されます。@c
824 @code{texidoc} オプションは @command{lilypond-book} にそのようなファイル@c
825 をインクルードさせ、その内容を楽譜断片の直前
826 (ただし、@code{quote} オプションによって生成される @code{example} 環境の@c
827 外側) にドキュメントとして追加させます。
828
829 ファイル @file{foo.ly} は以下を保持していて、
830
831 @example
832 \header @{
833   texidoc = "This file demonstrates a single note."
834 @}
835 @{ c'4 @}
836 @end example
837
838 @noindent
839 Texinfo ドキュメント @file{test.texinfo} に以下の記述があると仮定すると、
840
841 @example
842 @@lilypondfile[texidoc]@{foo.ly@}
843 @end example
844
845 @noindent
846 以下のコマンドで期待した結果を得られます。
847
848 @example
849 lilypond-book --pdf --process="lilypond \
850   -dbackend=eps --header=texidoc" test.texinfo
851 @end example
852
853 たいていの LilyPond テスト ドキュメント (配布ソースの @file{input}
854 ディレクトリにあります) はこのような形の小さな @file{.ly} ファイルです。
855
856 ローカライズするために Texinfo ドキュメントが
857 @code{@@documentlanguage @var{LANG}} 保持していて、@file{foo.ly} のヘッダ@c
858 が @code{texidoc@var{LANG}} フィールドを保持している場合、@c
859 @option{--header=@/texidoc@var{LANG}} を付けて @command{lilypond} を@c
860 呼び出すと、@file{foo.texidoc} の代わりに @file{foo.texidoc@var{LANG}}
861 がインクルードされます。
862
863 @item doctitle
864 (Texinfo 出力専用です) このオプションは @code{texidoc} オプションと同じ@c
865 ような働きをします: @code{\header} に @code{doctitle} フィールドを持つ@c
866 入力ファイル @file{foo.ly} に対して @option{--header=@/doctitle}
867 オプションを指定して @command{lilypond} を呼び出した場合、@c
868 @file{foo.doctitle} が生成されます。@c
869 @code{doctitle} オプションを使用した場合、@file{foo.doctitle} の内容
870 -- 1 行のテキスト @var{text} である必要があります -- は Texinfo
871 ドキュメントに @code{@@lydoctitle @var{text}} として挿入されます。@c
872 @code{@@lydoctitle} は Texinfo ドキュメントの中で定義されたマクロである@c
873 必要があります。@c
874 あとはローカライズされた言語に対する @code{texidoc} 処理と同じ説明@c
875 になります。
876
877 @item nogettext
878 (Texinfo 出力専用です) 楽譜ソース引用の中にあるコメントと変数名を翻訳@c
879 しません。
880
881 @item printfilename
882 @code{\lilypondfile} で LilyPond 入力ファイルをインクルードした場合、@c
883 楽譜断片の直前にインクルードしたファイルの名前を表示します。@c
884 HTML 出力では、これはリンクになります。@c
885 ファイルのベース名だけが表示されます -- つまり、ファイル パスの@c
886 ディレクトリ部分は取り除かれます。
887
888 @end table
889
890
891 @node lilypond-book を呼び出す
892 @section @command{lilypond-book} を呼び出す
893 @translationof Invoking lilypond-book
894
895 @command{lilypond-book} は出力形式に応じて以下の拡張子の 1 つを持つ@c
896 ファイルを生成します: @file{.tex}, @file{.texi}, @file{.html}, あるいは
897 @file{.xml}。@c
898 @file{.tex}, @file{.texi}, それに @file{.xml} のファイルは更なる処理を@c
899 必要とします。
900
901 @subheading 各出力形式に特有の説明
902
903 @subsubheading @LaTeX{}
904
905 印刷や公開のために @LaTeX{} ドキュメントを処理する方法は 2 つあります:
906 PDF@LaTeX{} を用いて直接 PDF ファイルを得ることができ、@command{dvips}
907 のような PostScript への変換プログラムを用いて DVI 経由で PostScript
908 ファイルを得ることができます。@c
909 1 つ目の方法は簡単で、お勧めです@footnote{PDF@LaTeX{} と @LaTeX{} の@c
910 どちらもすべての @LaTeX{} ドキュメントをコンパイルできるとは限らない@c
911 ことに注意してください。これが 2 つ目の方法を説明する理由です。}。@c
912 どのような方法を採るにせよ、Ghostscript パッケージに含まれる
913 @command{ps2pdf} と @command{pdf2ps} のようなツールを用いて PostScript
914 と PDF 間の変換は容易に行うことができます。
915
916 PDF@LaTeX{} を用いて PDF ファイルを作り出すには、以下のようにします:
917
918 @example
919 lilypond-book --pdf yourfile.lytex
920 pdflatex yourfile.tex
921 @end example
922
923 @cindex outline fonts (アウトライン フォント)
924 @cindex type1 fonts (type1 フォント)
925 @cindex dvips
926 @cindex invoking dvips (dvips を呼び出す)
927 @LaTeX{}/@command{dvips}/@command{ps2pdf} 経由で PDF ファイルを作り出す@c
928 には、以下のようにします:
929
930 @example
931 lilypond-book yourfile.lytex
932 latex yourfile.tex
933 dvips -Ppdf yourfile.dvi
934 ps2pdf yourfile.ps
935 @end example
936
937 @noindent
938 このプロセスで作成される @file{.dvi} ファイルは符頭を保持していません。@c
939 それで通常です -- 以下の手順に従うと、@file{.ps} ファイルや @file{.pdf}
940 ファイルには符頭が含まれます。
941
942 @command{dvips} を実行するとフォントに関する警告が発せられます:
943 それらは無害で無視できます。@c
944 @command{latex} を 2 列モードで実行するのであれば、忘れずに
945 @command{dvips} のオプションに @option{-t landscape} を付け加えてください。
946
947 以下のような環境:
948
949 @example
950 \begin@{lilypond@} @dots{} \end@{lilypond@}
951 @end example
952
953 @noindent
954 は @LaTeX{} では解釈されません。代わりに、@code{lilypond-book} がこれらの@c
955 @q{環境}を専用ファイルに抽出し、LilyPond を呼び出します。そして出力結果の@c
956 画像を用いて @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} マクロが@c
957 @q{画像のインクルード}コマンドに置き換えられた @file{.tex} ファイルを@c
958 生成します。@LaTeX{} はこの時に実行します (@code{\linewidth} などの計算を@c
959 行うために @LaTeX{} はその前に@q{空の}ドキュメントで実行されているのですが)。
960
961 @knownissues
962 @code{\pageBreak} コマンドは @code{\begin@{lilypond@} @dots{}
963 \end@{lilypond@}} 環境の中では機能しません。
964
965 多くの @code{\paper} ブロック変数も @code{\begin@{lilypond@} @dots{}
966 \end@{lilypond@}} 環境の中では機能しません。@c
967 ドキュメント前文の中で @code{\betweenLilyPondSystem} を持つ
968 @code{\newcommand} を使ってください。
969
970 @example
971 \newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
972 @end example
973
974
975 @subsubheading Texinfo
976
977 (任意の出力形式の) Texinfo ドキュメントを作り出すには、Texinfo の通常の@c
978 手順を踏みます。@c
979 つまり、作り出そうとしている出力形式に応じて @command{texi2pdf} か
980 @command{texi2dvi} のどちらかを呼び出します。
981 @ifinfo
982 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, and @ref{Creating
983 an Info File, , , texinfo, GNU Texinfo}.
984 @end ifinfo
985 @ifnotinfo
986 詳細は Texinfo のドキュメントを参照してください。
987 @end ifnotinfo
988
989
990 @subheading コマンド ライン オプション
991
992 @command{lilypond-book} は以下のコマンド ライン オプションを受け付けます:
993
994 @table @code
995 @item -f @var{format}
996 @itemx --format=@var{format}
997 処理するドキュメントのタイプを指定します:  @code{html}, @code{latex},
998 @code{texi} (デフォルト), あるいは @code{docbook} です。@c
999 このオプションが無い場合、@command{lilypond-book} は形式を自動的に@c
1000 検出しようとします -- @ref{Filename extensions} を参照してください。@c
1001 今のところ、@code{texi} は @code{texi-html} と同じです。
1002
1003 @c This complicated detail is not implemented, comment it out -jm
1004 @ignore
1005 @code{texi} ドキュメント タイプを指定すると、楽譜断片を持つ Texinfo
1006 ファイルだけが作り出されます。@c
1007 HTML バージョンで使う画像を得るには、@code{texi-html} を指定する必要が@c
1008 あります。
1009 @end ignore
1010
1011 @item -F @var{filter}
1012 @itemx --filter=@var{filter}
1013 楽譜ソース断片を @var{filter} に通します。@c
1014 @code{lilypond-book} は @option{--filter} と @option{--process}
1015 を一度に実行することはしません。@c
1016 例を挙げます:
1017
1018 @example
1019 lilypond-book --filter='convert-ly --from=2.0.0 -' my-book.tely
1020 @end example
1021
1022 @item -h
1023 @itemx --help
1024 短いヘルプ メッセージを表示します。
1025
1026 @item -I @var{dir}
1027 @itemx --include=@var{dir}
1028 インクルード パスに @var{dir} を追加します。@c
1029 @command{lilypond-book} はインクルード パスの中でコンパイル済みの楽譜断片@c
1030 を見つけると、それらを出力ディレクトリに書き出しません。@c
1031 そのため、@command{lilypond-book} を呼び出してから更に @command{makeinfo}
1032 や @command{latex} 等のコマンドを同じ @option{-I @var{dir}} オプションを@c
1033 付けて呼び出す必要がある場合があります。
1034
1035 @item -l @var{loglevel}
1036 @itemx --loglevel=@var{loglevel}
1037 出力の饒舌さを @var{loglevel} にセットします。@c
1038 取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING}, @code{PROGRESS}
1039 (デフォルト), それに @code{DEBUG} です。@c
1040 このオプションを使わなかった場合、環境変数 @code{LILYPOND_BOOK_LOGLEVEL}
1041 がセットされ、その値が loglevel として使われます。
1042
1043 @item -o @var{dir}
1044 @itemx --output=@var{dir}
1045 生成されるファイルをディレクトリ @var{dir} に保存します。@c
1046 @command{lilypond-book} を実行すると LilyPond が処理するための多くの小さな@c
1047 ファイルが生成されます。@c
1048 そのようなゴミがソース ディレクトリに混入することを防ぐには、@c
1049 @option{--output} コマンド ライン オプションを使用して出力ディレクトリを@c
1050 変更して、@command{latex} や @command{makeinfo} を実行する前にその@c
1051 ディレクトリに移動します。
1052
1053 @example
1054 lilypond-book --output=out yourfile.lytex
1055 cd out
1056 @dots{}
1057 @end example
1058
1059 @item --skip-lily-check
1060 lilypond 出力が見つからなくても処理を終了しません。@c
1061 画像を持たない LilyPond Info ドキュメントを作成するために使います。
1062
1063 @item --skip-png-check
1064 EPS ファイルを作成するための PNG 画像が見つからなくても処理を終了しません。@c
1065 画像を持たない LilyPond Info ドキュメントを作成するために使います。
1066
1067 @item --lily-output-dir=@var{dir}
1068 lily-XXX ファイルをディレクトリ @var{dir} に書き出し、@option{--output}
1069 ディレクトリにリンクさせます。@c
1070 このオプションは別々のディレクトリの中にあり、多くの楽譜断片を共有する@c
1071 ドキュメントをビルドする時間を節約するために使います。
1072
1073 @item --lily-loglevel=@var{loglevel}
1074 呼び出された @command{lilypond} の出力の饒舌さを @var{loglevel} にセット@c
1075 します。@c
1076 取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING},
1077 @code{BASIC_PROGRESS}, @code{PROGRESS}, @code{INFO} (デフォルト),
1078 それに @code{DEBUG} です。@c
1079 このオプションを使わなかった場合、環境変数 @code{LILYPOND_LOGLEVEL}
1080 がセットされ、その値が loglevel として使われます。
1081
1082
1083 @item --info-images-dir=@var{dir}
1084 Texinfo 出力をフォーマットして、Info が @var{dir} の中にある楽譜画像を@c
1085 探すようにします。
1086
1087 @item --latex-program=@var{prog}
1088 @command{latex} の代わりに実行可能な @command{prog} を実行します。@c
1089 これは、例えばドキュメントを @command{xelatex} で処理する場合に有用です。
1090
1091 @item --left-padding=@var{amount}
1092 EPS ボックスのパディングを指定します。@c
1093 @var{amount} の単位はミリメートルで、デフォルト値は 3.0 です。@c
1094 このオプションは楽譜が右マージンに食い込む場合に使います。
1095
1096 The width of a tightly clipped system can vary, due to notation
1097 elements that stick into the left margin, such as bar numbers and
1098 instrument names.  This option will shorten each line and move each
1099 line to the right by the same amount.
1100
1101 @item -P @var{command}
1102 @itemx --process=@var{command}
1103 LilyPond コード断片を @var{command} を用いて処理します。@c
1104 デフォルトのコマンドは @code{lilypond} です。@c
1105 @code{lilypond-book} は @option{--filter} と @option{--process}
1106 を一度に実行することはしません。
1107
1108 @item --pdf
1109 PDF@LaTeX{} で PDF ファイルを作成します。
1110
1111 @item --redirect-lilypond-output
1112 デフォルトでは、出力はターミナルに表示されます。@c
1113 このオプションは全ての出力をソース ファイルと同じディレクトリにあるログ
1114 ファイルにリダイレクトします。
1115
1116 @itemx --use-source-file-names
1117 楽譜断片出力ファイルにソース ファイルと同じベース名を付けます。@c
1118 このオプションは @code{lilypondfile} でインクルードされた楽譜断片に@c
1119 対してのみ、更に @option{--output-dir} オプションと
1120 @option{--lily-output-dir} オプションで指定されたディレクトリが異なる@c
1121 場合にのみ機能します。
1122
1123 @item -V
1124 @itemx --verbose
1125 出力を饒舌にします。@c
1126 これは @code{--loglevel=DEBUG} と等価です。
1127
1128 @item -v
1129 @itemx --version
1130 バージョン情報を表示します。
1131 @end table
1132
1133
1134
1135 @knownissues
1136
1137 Texinfo コマンド @code{@@pagesizes} は解釈されません。@c
1138 同様に、ドキュメント前文以降にあるマージンと行幅を変更する @LaTeX{}
1139 コマンドも無視されます。
1140
1141 LilyPond ブロックの最初の @code{\score} だけが処理されます。
1142
1143
1144 @node ファイル拡張子
1145 @section ファイル拡張子
1146 @translationof Filename extensions
1147
1148 入力ファイルに対して任意のファイル拡張子を使うことができます。@c
1149 しかしながら、ある形式のファイルに対して推奨する拡張子を使わなかった場合、@c
1150 手動で出力形式を指定する必要があるかもしれません
1151 -- 詳細は @ref{Invoking lilypond-book} を参照してください。@c
1152 推奨する拡張子を使えば、@command{lilypond-book} はその拡張子に基づいて@c
1153 自動的に出力形式を選択します。
1154
1155 @quotation
1156 @multitable @columnfractions .2 .5
1157 @item @strong{拡張子} @tab @strong{出力形式}
1158 @item
1159 @item @file{.html} @tab HTML
1160 @item @file{.htmly} @tab HTML
1161 @item @file{.itely} @tab Texinfo
1162 @item @file{.latex} @tab @LaTeX{}
1163 @item @file{.lytex} @tab @LaTeX{}
1164 @item @file{.lyxml} @tab DocBook
1165 @item @file{.tely} @tab Texinfo
1166 @item @file{.tex} @tab @LaTeX{}
1167 @item @file{.texi} @tab Texinfo
1168 @item @file{.texinfo} @tab Texinfo
1169 @item @file{.xml} @tab HTML
1170 @end multitable
1171 @end quotation
1172
1173 入力ファイルの拡張子を @command{lilypond-book} が出力ファイルに付ける@c
1174 拡張子と同じで、入力ファイルが @command{lilypond-book} の作業ディレクトリ@c
1175 に置かれている場合、@option{--output} オプションを使って
1176 @command{lilypond-book} を実行する必要があります。@c
1177 そうしないと、@qq{Output would overwrite input file} のようなエラー
1178 メッセージが表示されて、終了します。
1179
1180
1181 @node lilypond-book テンプレート
1182 @section lilypond-book テンプレート
1183 @translationof lilypond-book templates
1184
1185 以下に示すテンプレートは @code{lilypond-book} で使います。@c
1186 @code{lilypond-book} に馴染みが無いのであれば、@ref{lilypond-book} を@c
1187 読んで下さい。
1188
1189 @subsection LaTeX
1190
1191 LilyPond 断片を LaTex ドキュメントに組み込むことができます。
1192
1193 @example
1194 \documentclass[]@{article@}
1195
1196 \begin@{document@}
1197
1198 通常の LaTeX テキスト。
1199
1200 \begin@{lilypond@}
1201 \relative @{
1202   a'4 b c d
1203 @}
1204 \end@{lilypond@}
1205
1206 次の LaTeX テキスト。オプションは角括弧の中に入れます。
1207
1208 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1209 d4 c b a
1210 \end@{lilypond@}
1211 \end@{document@}
1212 @end example
1213
1214 @subsection Texinfo
1215
1216 LilyPond 断片を Texinfo に組み込むことができます。@c
1217 実際、このマニュアル全体が Texinfo で記述されています。
1218
1219 @example
1220 \input texinfo @c -*-texinfo-*-
1221 @@node Top
1222 @@top
1223
1224 Texinfo テキスト
1225
1226 @@lilypond
1227 \relative @{
1228   a4 b c d
1229 @}
1230 @@end lilypond
1231
1232 次の Texinfo テキスト。オプションは角括弧の中に入れます。
1233
1234 @@lilypond[verbatim,fragment,ragged-right]
1235 d4 c b a
1236 @@end lilypond
1237
1238 @@bye
1239 @end example
1240
1241
1242 @subsection html
1243
1244 @example
1245 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1246 <!-- header_tag -->
1247 <HTML>
1248 <body>
1249
1250 <p>
1251
1252 以下のように、lilypond-book 用のドキュメントには自由に楽譜と
1253 テキストを組み合わせることができます。
1254 <lilypond>
1255 \relative @{
1256   a'4 b c d
1257 @}
1258 </lilypond>
1259 </p>
1260
1261 <p>
1262 次の lilypond コードにはオプションをつけます
1263
1264 <lilypond fragment quote staffsize=26 verbatim>
1265 a4 b c d
1266 </lilypond>
1267 </p>
1268
1269 </body>
1270 </html>
1271
1272
1273 @end example
1274
1275 @subsection xelatex
1276
1277 @verbatim
1278 \documentclass{article}
1279 \usepackage{ifxetex}
1280 \ifxetex
1281 %xetex specific stuff
1282 \usepackage{xunicode,fontspec,xltxtra}
1283 \setmainfont[Numbers=OldStyle]{Times New Roman}
1284 \setsansfont{Arial}
1285 \else
1286 %This can be empty if you are not going to use pdftex
1287 \usepackage[T1]{fontenc}
1288 \usepackage[utf8]{inputenc}
1289 \usepackage{mathptmx}%Times
1290 \usepackage{helvet}%Helvetica
1291 \fi
1292 %Here you can insert all packages that pdftex also understands
1293 \usepackage[ngerman,finnish,english]{babel}
1294 \usepackage{graphicx}
1295
1296 \begin{document}
1297 \title{A short document with LilyPond and xelatex}
1298 \maketitle
1299
1300 Normal \textbf{font} commands inside the \emph{text} work,
1301 because they \textsf{are supported by \LaTeX{} and XeteX.}
1302 If you want to use specific commands like \verb+\XeTeX+, you
1303 should include them again in a \verb+\ifxetex+ environment.
1304 You can use this to print the \ifxetex \XeTeX{} command \else
1305 XeTeX command \fi which is not known to normal \LaTeX .
1306
1307 In normal text you can easily use LilyPond commands, like this:
1308
1309 \begin{lilypond}
1310 {a2 b c'8 c' c' c'}
1311 \end{lilypond}
1312
1313 \noindent
1314 and so on.
1315
1316 The fonts of snippets set with LilyPond will have to be set from
1317 inside
1318 of the snippet.  For this you should read the AU on how to use
1319 lilypond-book.
1320
1321 \selectlanguage{ngerman}
1322 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1323 anderen
1324 seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1325 unterst__tzt werden.
1326 \end{document}
1327 @end verbatim
1328
1329
1330 @node 目次を共有する
1331 @section 目次を共有する
1332 @translationof Sharing the table of contents
1333
1334 この機能はすでに OrchestralLily パッケージで用意されています:
1335
1336 @example
1337 @url{http://repo.or.cz/w/orchestrallily.git}
1338 @end example
1339
1340 より自由度の高いテキスト処理をするために、lilypond から目次をエクスポート@c
1341 して、@LaTeX{} に読み込ませる方法を好むユーザもいるかもしれません。
1342
1343 @subsubheading LilyPond から目次をエクスポートする
1344
1345 以下のコードは、複数の楽章を 1 つのファイルに出力するものと仮定しています。
1346
1347 @smallexample
1348 #(define (oly:create-toc-file layout pages)
1349   (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1350     (if (not (null? label-table))
1351       (let* ((format-line (lambda (toc-item)
1352              (let* ((label (car toc-item))
1353                     (text  (caddr toc-item))
1354                     (label-page (and (list? label-table)
1355                                      (assoc label label-table)))
1356                     (page (and label-page (cdr label-page))))
1357                (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1358              (formatted-toc-items (map format-line (toc-items)))
1359              (whole-string (string-join formatted-toc-items ",\n"))
1360              (output-name (ly:parser-output-name))
1361              (outfilename (format "~a.toc" output-name))
1362              (outfile (open-output-file outfilename)))
1363         (if (output-port? outfile)
1364             (display whole-string outfile)
1365             (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1366         (close-output-port outfile)))))
1367
1368 \paper @{
1369   #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1370 @}
1371 @end smallexample
1372
1373 @subsubheading LaTeX に目次をインポートする
1374
1375 LaTeX ファイルのヘッダ中に以下を記述します:
1376
1377 @c no, this doesn't require the smallexample, but since the other
1378 @c two blocks on this page use it, I figured I might as well
1379 @c user it here as well, for consistency. -gp
1380 @smallexample
1381 \usepackage@{pdfpages@}
1382 \includescore@{nameofthescore@}
1383 @end smallexample
1384
1385 @noindent
1386 ここで、@code{\includescore} は以下のように定義されています:
1387
1388 @smallexample
1389 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1390 % \includescore@{PossibleExtension@}
1391 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1392
1393 % Read in the TOC entries for a PDF file from the corresponding .toc file.
1394 % This requires some heave latex tweaking, since reading in things from a file
1395 % and inserting it into the arguments of a macro is not (easily) possible
1396
1397 % Solution by Patrick Fimml on #latex on April 18, 2009:
1398 % \readfile@{filename@}@{\variable@}
1399 % reads in the contents of the file into \variable (undefined if file
1400 % doesn't exist)
1401 \newread\readfile@@f
1402 \def\readfile@@line#1@{%
1403 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1404 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1405 \ifeof\readfile@@f\else%
1406 \readfile@@line@{#1@}%
1407 \fi%
1408 @}
1409 \def\readfile#1#2@{%
1410 \openin\readfile@@f=#1 %
1411 \ifeof\readfile@@f%
1412 \typeout@{No TOC file #1 available!@}%
1413 \else%
1414 \gdef#2@{@}%
1415 \readfile@@line@{#2@}%
1416 \fi
1417 \closein\readfile@@f%
1418 @}%
1419
1420
1421 \newcommand@{\includescore@}[1]@{
1422 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1423 \let\oly@@addtotoc\undefined
1424 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1425 \ifx\oly@@addtotoc\undefined
1426 \includepdf[pages=-]@{\oly@@fname@}
1427 \else
1428 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1429 @{\oly@@fname@}@}\includeit
1430 \fi
1431 @}
1432 @end smallexample
1433
1434
1435 @node テキストと楽譜を組み合わせる他の方法
1436 @section テキストと楽譜を組み合わせる他の方法
1437 @translationof Alternative methods of mixing text and music
1438
1439 @command{lilypond-book} を使わずにテキストと楽譜を組み合わせる方法を
1440 @ref{LilyPond output in other programs} で説明しています。