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