1@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
2
3@ignore
4    Translation of GIT committish: f11513f36c131dab18338d6a3a729e24a927150d
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
35Windows や 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
127lilypond-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...}
132cd out
133pdflatex lilybook
134@emph{@dots{}lots of stuff deleted@dots{}}
135xpdf 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{このチュートリアルは
147Texinfo で処理されるため、上記の例とはレイアウトが少し異なります。}@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]
167c'4 f16
168@end lilypond
169
170大きな楽譜例は別のファイルに配置して、@code{\lilypondfile} で
171インポートすることができます。
172
173@lilypondfile[quote,noindent]{snippets/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
197LilyPond をさまざまな出力フォーマットと統合する方法を説明します。
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]
275c' 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
327Broken stuff.  :(
328
329@cindex Latex, feta symbols
330@cindex fetachar
331
332To include feta symbols (such as flat, segno, etc) in a LaTeX
333document, 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
347The font symbol names are defined in the file feta20.tex; to find
348the location of this file, use the command
349
350@example
351kpsewhich 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@morerefs
422@LaTeX{} ドキュメント専用の @command{lilypond-book} コマンド
423オプションがあり、他にも知っておくべき細かなことがあります。@c
424@ref{Invoking lilypond-book} を参照してください。
425
426
427@node Texinfo
428@subsection Texinfo
429@translationof Texinfo
430
431Texinfo は GNU プロジェクトのドキュメントのデフォルト フォーマットです。@c
432Texinfo ドキュメントの例の 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
4822 つの簡単な例を挙げます。以下の @code{lilypond} 環境
483
484@example
485@@lilypond[fragment]
486c' d' e' f' g'2 g'
487@@end lilypond
488@end example
489
490@noindent
491これは以下を作り出します
492
493@lilypond[fragment]
494c' 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>} コマンド: このコマンドで
532lilypond ファイルを挿入することができます
533
534@item
535@code{<musicxmlfile>@dots{}</musicxmlfile>} コマンド: このコマンドで
536MusicXML ファイルを挿入することができます。@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
574Some music in <lilypond relative=2: a b c/> a line of text.
575@end example
576
577HTML ファイルとは別に記述した 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
585LilyPond ファイルではなく 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
601LilyPond 断片を組み込む場合、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
680LilyPond コマンドで以下のオプションを使うことができます:
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
6901 行の楽譜断片はデフォルトでは常に 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
726c'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
768LilyPond もそれ自体のドキュメントを作り出すのに @command{lilypond-book}
769を使います。@c
770LilyPond のドキュメントを作るために、さらに細かな楽譜断片オプションが@c
771用意されています。
772
773@table @code
774@item verbatim
775LilyPond コマンドの引数をそのまま出力ファイルにコピーして、ブロックで@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 texidoc
816(Texinfo 出力専用です) 入力ファイル @file{foo.ly} に対して
817@option{--header=@/texidoc} オプションを指定して @command{lilypond}
818を呼び出した場合、入力ファイルの @code{\header} に @code{texidoc}
819フィールドがあればファイル @file{foo.texidoc} が作成されます。@c
820@code{texidoc} オプションは @command{lilypond-book} にそのようなファイル@c
821をインクルードさせ、その内容を楽譜断片の直前
822(ただし、@code{quote} オプションによって生成される @code{example} 環境の@c
823外側) にドキュメントとして追加させます。
824
825ファイル @file{foo.ly} は以下を保持していて、
826
827@example
828\header @{
829  texidoc = "This file demonstrates a single note."
830@}
831@{ c'4 @}
832@end example
833
834@noindent
835Texinfo ドキュメント @file{test.texinfo} に以下の記述があると仮定すると、
836
837@example
838@@lilypondfile[texidoc]@{foo.ly@}
839@end example
840
841@noindent
842以下のコマンドで期待した結果を得られます。
843
844@example
845lilypond-book --pdf --process="lilypond \
846  -dbackend=eps --header=texidoc" test.texinfo
847@end example
848
849たいていの LilyPond テスト ドキュメント (配布ソースの @file{input}
850ディレクトリにあります) はこのような形の小さな @file{.ly} ファイルです。
851
852ローカライズするために Texinfo ドキュメントが
853@code{@@documentlanguage @var{LANG}} 保持していて、@file{foo.ly} のヘッダ@c
854が @code{texidoc@var{LANG}} フィールドを保持している場合、@c
855@option{--header=@/texidoc@var{LANG}} を付けて @command{lilypond} を@c
856呼び出すと、@file{foo.texidoc} の代わりに @file{foo.texidoc@var{LANG}}
857がインクルードされます。
858
859@item doctitle
860(Texinfo 出力専用です) このオプションは @code{texidoc} オプションと同じ@c
861ような働きをします: @code{\header} に @code{doctitle} フィールドを持つ@c
862入力ファイル @file{foo.ly} に対して @option{--header=@/doctitle}
863オプションを指定して @command{lilypond} を呼び出した場合、@c
864@file{foo.doctitle} が生成されます。@c
865@code{doctitle} オプションを使用した場合、@file{foo.doctitle} の内容
866-- 1 行のテキスト @var{text} である必要があります -- は Texinfo
867ドキュメントに @code{@@lydoctitle @var{text}} として挿入されます。@c
868@code{@@lydoctitle} は Texinfo ドキュメントの中で定義されたマクロである@c
869必要があります。@c
870あとはローカライズされた言語に対する @code{texidoc} 処理と同じ説明@c
871になります。
872
873@item nogettext
874(Texinfo 出力専用です) 楽譜ソース引用の中にあるコメントと変数名を翻訳@c
875しません。
876
877@item printfilename
878@code{\lilypondfile} で LilyPond 入力ファイルをインクルードした場合、@c
879楽譜断片の直前にインクルードしたファイルの名前を表示します。@c
880HTML 出力では、これはリンクになります。@c
881ファイルのベース名だけが表示されます -- つまり、ファイル パスの@c
882ディレクトリ部分は取り除かれます。
883
884@end table
885
886
887@node lilypond-book を呼び出す
888@section @command{lilypond-book} を呼び出す
889@translationof Invoking lilypond-book
890
891@command{lilypond-book} は出力形式に応じて以下の拡張子の 1 つを持つ@c
892ファイルを生成します: @file{.tex}, @file{.texi}, @file{.html}, あるいは
893@file{.xml}。@c
894@file{.tex}, @file{.texi}, それに @file{.xml} のファイルは更なる処理を@c
895必要とします。
896
897@subheading 各出力形式に特有の説明
898
899@subsubheading @LaTeX{}
900
901印刷や公開のために @LaTeX{} ドキュメントを処理する方法は 2 つあります:
902PDF@LaTeX{} を用いて直接 PDF ファイルを得ることができ、@command{dvips}
903のような PostScript への変換プログラムを用いて DVI 経由で PostScript
904ファイルを得ることができます。@c
9051 つ目の方法は簡単で、お勧めです@footnote{PDF@LaTeX{} と @LaTeX{} の@c
906どちらもすべての @LaTeX{} ドキュメントをコンパイルできるとは限らない@c
907ことに注意してください。これが 2 つ目の方法を説明する理由です。}。@c
908どのような方法を採るにせよ、Ghostscript パッケージに含まれる
909@command{ps2pdf} と @command{pdf2ps} のようなツールを用いて PostScript
910と PDF 間の変換は容易に行うことができます。
911
912PDF@LaTeX{} を用いて PDF ファイルを作り出すには、以下のようにします:
913
914@example
915lilypond-book --pdf yourfile.lytex
916pdflatex yourfile.tex
917@end example
918
919@cindex outline fonts (アウトライン フォント)
920@cindex type1 fonts (type1 フォント)
921@cindex dvips
922@cindex invoking dvips (dvips を呼び出す)
923@LaTeX{}/@command{dvips}/@command{ps2pdf} 経由で PDF ファイルを作り出す@c
924には、以下のようにします:
925
926@example
927lilypond-book yourfile.lytex
928latex yourfile.tex
929dvips -Ppdf yourfile.dvi
930ps2pdf yourfile.ps
931@end example
932
933@noindent
934このプロセスで作成される @file{.dvi} ファイルは符頭を保持していません。@c
935それで通常です -- 以下の手順に従うと、@file{.ps} ファイルや @file{.pdf}
936ファイルには符頭が含まれます。
937
938@command{dvips} を実行するとフォントに関する警告が発せられます:
939それらは無害で無視できます。@c
940@command{latex} を 2 列モードで実行するのであれば、忘れずに
941@command{dvips} のオプションに @option{-t landscape} を付け加えてください。
942
943以下のような環境:
944
945@example
946\begin@{lilypond@} @dots{} \end@{lilypond@}
947@end example
948
949@noindent
950は @LaTeX{} では解釈されません。代わりに、@code{lilypond-book} がこれらの@c
951@q{環境}を専用ファイルに抽出し、LilyPond を呼び出します。そして出力結果の@c
952画像を用いて @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} マクロが@c
953@q{画像のインクルード}コマンドに置き換えられた @file{.tex} ファイルを@c
954生成します。@LaTeX{} はこの時に実行します (@code{\linewidth} などの計算を@c
955行うために @LaTeX{} はその前に@q{空の}ドキュメントで実行されているのですが)。
956
957@knownissues
958@code{\pageBreak} コマンドは @code{\begin@{lilypond@} @dots{}
959\end@{lilypond@}} 環境の中では機能しません。
960
961多くの @code{\paper} ブロック変数も @code{\begin@{lilypond@} @dots{}
962\end@{lilypond@}} 環境の中では機能しません。@c
963ドキュメント前文の中で @code{\betweenLilyPondSystem} を持つ
964@code{\newcommand} を使ってください。
965
966@example
967\newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
968@end example
969
970
971@subsubheading Texinfo
972
973(任意の出力形式の) Texinfo ドキュメントを作り出すには、Texinfo の通常の@c
974手順を踏みます。@c
975つまり、作り出そうとしている出力形式に応じて @command{texi2pdf} か
976@command{texi2dvi} のどちらかを呼び出します。
977@ifinfo
978@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, and @ref{Creating
979an Info File, , , texinfo, GNU Texinfo}.
980@end ifinfo
981@ifnotinfo
982詳細は Texinfo のドキュメントを参照してください。
983@end ifnotinfo
984
985
986@subheading コマンド ライン オプション
987
988@command{lilypond-book} は以下のコマンド ライン オプションを受け付けます:
989
990@table @code
991@item -f @var{format}
992@itemx --format=@var{format}
993処理するドキュメントのタイプを指定します:  @code{html}, @code{latex},
994@code{texi} (デフォルト), あるいは @code{docbook} です。@c
995このオプションが無い場合、@command{lilypond-book} は形式を自動的に@c
996検出しようとします -- @ref{Filename extensions} を参照してください。@c
997今のところ、@code{texi} は @code{texi-html} と同じです。
998
999@c This complicated detail is not implemented, comment it out -jm
1000@ignore
1001@code{texi} ドキュメント タイプを指定すると、楽譜断片を持つ Texinfo
1002ファイルだけが作り出されます。@c
1003HTML バージョンで使う画像を得るには、@code{texi-html} を指定する必要が@c
1004あります。
1005@end ignore
1006
1007@item -F @var{filter}
1008@itemx --filter=@var{filter}
1009楽譜ソース断片を @var{filter} に通します。@c
1010@code{lilypond-book} は @option{--filter} と @option{--process}
1011を一度に実行することはしません。@c
1012例を挙げます:
1013
1014@example
1015lilypond-book --filter='convert-ly --from=2.0.0 -' my-book.tely
1016@end example
1017
1018@item -h
1019@itemx --help
1020短いヘルプ メッセージを表示します。
1021
1022@item -I @var{dir}
1023@itemx --include=@var{dir}
1024インクルード パスに @var{dir} を追加します。@c
1025@command{lilypond-book} はインクルード パスの中でコンパイル済みの楽譜断片@c
1026を見つけると、それらを出力ディレクトリに書き出しません。@c
1027そのため、@command{lilypond-book} を呼び出してから更に @command{makeinfo}
1028や @command{latex} 等のコマンドを同じ @option{-I @var{dir}} オプションを@c
1029付けて呼び出す必要がある場合があります。
1030
1031@item -l @var{loglevel}
1032@itemx --loglevel=@var{loglevel}
1033出力の饒舌さを @var{loglevel} にセットします。@c
1034取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING}, @code{PROGRESS}
1035(デフォルト), それに @code{DEBUG} です。@c
1036このオプションを使わなかった場合、環境変数 @code{LILYPOND_BOOK_LOGLEVEL}
1037がセットされ、その値が loglevel として使われます。
1038
1039@item -o @var{dir}
1040@itemx --output=@var{dir}
1041生成されるファイルをディレクトリ @var{dir} に保存します。@c
1042@command{lilypond-book} を実行すると LilyPond が処理するための多くの小さな@c
1043ファイルが生成されます。@c
1044そのようなゴミがソース ディレクトリに混入することを防ぐには、@c
1045@option{--output} コマンド ライン オプションを使用して出力ディレクトリを@c
1046変更して、@command{latex} や @command{makeinfo} を実行する前にその@c
1047ディレクトリに移動します。
1048
1049@example
1050lilypond-book --output=out yourfile.lytex
1051cd out
1052@dots{}
1053@end example
1054
1055@item --skip-lily-check
1056lilypond 出力が見つからなくても処理を終了しません。@c
1057画像を持たない LilyPond Info ドキュメントを作成するために使います。
1058
1059@item --skip-png-check
1060EPS ファイルを作成するための PNG 画像が見つからなくても処理を終了しません。@c
1061画像を持たない LilyPond Info ドキュメントを作成するために使います。
1062
1063@item --lily-output-dir=@var{dir}
1064lily-XXX ファイルをディレクトリ @var{dir} に書き出し、@option{--output}
1065ディレクトリにリンクさせます。@c
1066このオプションは別々のディレクトリの中にあり、多くの楽譜断片を共有する@c
1067ドキュメントをビルドする時間を節約するために使います。
1068
1069@item --lily-loglevel=@var{loglevel}
1070呼び出された @command{lilypond} の出力の饒舌さを @var{loglevel} にセット@c
1071します。@c
1072取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING},
1073@code{BASIC_PROGRESS}, @code{PROGRESS}, @code{INFO} (デフォルト),
1074それに @code{DEBUG} です。@c
1075このオプションを使わなかった場合、環境変数 @code{LILYPOND_LOGLEVEL}
1076がセットされ、その値が loglevel として使われます。
1077
1078
1079@item --info-images-dir=@var{dir}
1080Texinfo 出力をフォーマットして、Info が @var{dir} の中にある楽譜画像を@c
1081探すようにします。
1082
1083@item --latex-program=@var{prog}
1084@command{latex} の代わりに実行可能な @command{prog} を実行します。@c
1085これは、例えばドキュメントを @command{xelatex} で処理する場合に有用です。
1086
1087@item --left-padding=@var{amount}
1088EPS ボックスのパディングを指定します。@c
1089@var{amount} の単位はミリメートルで、デフォルト値は 3.0 です。@c
1090このオプションは楽譜が右マージンに食い込む場合に使います。
1091
1092The width of a tightly clipped system can vary, due to notation
1093elements that stick into the left margin, such as bar numbers and
1094instrument names.  This option will shorten each line and move each
1095line to the right by the same amount.
1096
1097@item -P @var{command}
1098@itemx --process=@var{command}
1099LilyPond コード断片を @var{command} を用いて処理します。@c
1100デフォルトのコマンドは @code{lilypond} です。@c
1101@code{lilypond-book} は @option{--filter} と @option{--process}
1102を一度に実行することはしません。
1103
1104@item --pdf
1105PDF@LaTeX{} で PDF ファイルを作成します。
1106
1107@item --redirect-lilypond-output
1108デフォルトでは、出力はターミナルに表示されます。@c
1109このオプションは全ての出力をソース ファイルと同じディレクトリにあるログ
1110ファイルにリダイレクトします。
1111
1112@itemx --use-source-file-names
1113楽譜断片出力ファイルにソース ファイルと同じベース名を付けます。@c
1114このオプションは @code{lilypondfile} でインクルードされた楽譜断片に@c
1115対してのみ、更に @option{--output-dir} オプションと
1116@option{--lily-output-dir} オプションで指定されたディレクトリが異なる@c
1117場合にのみ機能します。
1118
1119@item -V
1120@itemx --verbose
1121出力を饒舌にします。@c
1122これは @code{--loglevel=DEBUG} と等価です。
1123
1124@item -v
1125@itemx --version
1126バージョン情報を表示します。
1127@end table
1128
1129
1130
1131@knownissues
1132
1133Texinfo コマンド @code{@@pagesizes} は解釈されません。@c
1134同様に、ドキュメント前文以降にあるマージンと行幅を変更する @LaTeX{}
1135コマンドも無視されます。
1136
1137LilyPond ブロックの最初の @code{\score} だけが処理されます。
1138
1139
1140@node ファイル拡張子
1141@section ファイル拡張子
1142@translationof Filename extensions
1143
1144入力ファイルに対して任意のファイル拡張子を使うことができます。@c
1145しかしながら、ある形式のファイルに対して推奨する拡張子を使わなかった場合、@c
1146手動で出力形式を指定する必要があるかもしれません
1147-- 詳細は @ref{Invoking lilypond-book} を参照してください。@c
1148推奨する拡張子を使えば、@command{lilypond-book} はその拡張子に基づいて@c
1149自動的に出力形式を選択します。
1150
1151@quotation
1152@multitable @columnfractions .2 .5
1153@item @strong{拡張子} @tab @strong{出力形式}
1154@item
1155@item @file{.html} @tab HTML
1156@item @file{.htmly} @tab HTML
1157@item @file{.itely} @tab Texinfo
1158@item @file{.latex} @tab @LaTeX{}
1159@item @file{.lytex} @tab @LaTeX{}
1160@item @file{.lyxml} @tab DocBook
1161@item @file{.tely} @tab Texinfo
1162@item @file{.tex} @tab @LaTeX{}
1163@item @file{.texi} @tab Texinfo
1164@item @file{.texinfo} @tab Texinfo
1165@item @file{.xml} @tab HTML
1166@end multitable
1167@end quotation
1168
1169入力ファイルの拡張子を @command{lilypond-book} が出力ファイルに付ける@c
1170拡張子と同じで、入力ファイルが @command{lilypond-book} の作業ディレクトリ@c
1171に置かれている場合、@option{--output} オプションを使って
1172@command{lilypond-book} を実行する必要があります。@c
1173そうしないと、@qq{Output would overwrite input file} のようなエラー
1174メッセージが表示されて、終了します。
1175
1176
1177@node lilypond-book テンプレート
1178@section lilypond-book テンプレート
1179@translationof lilypond-book templates
1180
1181以下に示すテンプレートは @code{lilypond-book} で使います。@c
1182@code{lilypond-book} に馴染みが無いのであれば、@ref{lilypond-book} を@c
1183読んで下さい。
1184
1185@subsection LaTeX
1186
1187LilyPond 断片を LaTex ドキュメントに組み込むことができます。
1188
1189@example
1190\documentclass[]@{article@}
1191
1192\begin@{document@}
1193
1194通常の LaTeX テキスト。
1195
1196\begin@{lilypond@}
1197\relative @{
1198  a'4 b c d
1199@}
1200\end@{lilypond@}
1201
1202次の LaTeX テキスト。オプションは角括弧の中に入れます。
1203
1204\begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1205d4 c b a
1206\end@{lilypond@}
1207\end@{document@}
1208@end example
1209
1210@subsection Texinfo
1211
1212LilyPond 断片を Texinfo に組み込むことができます。@c
1213実際、このマニュアル全体が Texinfo で記述されています。
1214
1215@example
1216\input texinfo @c -*-texinfo-*-
1217@@node Top
1218@@top
1219
1220Texinfo テキスト
1221
1222@@lilypond
1223\relative @{
1224  a4 b c d
1225@}
1226@@end lilypond
1227
1228次の Texinfo テキスト。オプションは角括弧の中に入れます。
1229
1230@@lilypond[verbatim,fragment,ragged-right]
1231d4 c b a
1232@@end lilypond
1233
1234@@bye
1235@end example
1236
1237
1238@subsection html
1239
1240@example
1241<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1242<!-- header_tag -->
1243<HTML>
1244<body>
1245
1246<p>
1247
1248以下のように、lilypond-book 用のドキュメントには自由に楽譜と
1249テキストを組み合わせることができます。
1250<lilypond>
1251\relative @{
1252  a'4 b c d
1253@}
1254</lilypond>
1255</p>
1256
1257<p>
1258次の lilypond コードにはオプションをつけます
1259
1260<lilypond fragment quote staffsize=26 verbatim>
1261a4 b c d
1262</lilypond>
1263</p>
1264
1265</body>
1266</html>
1267
1268
1269@end example
1270
1271@subsection xelatex
1272
1273@verbatim
1274\documentclass{article}
1275\usepackage{ifxetex}
1276\ifxetex
1277%xetex specific stuff
1278\usepackage{xunicode,fontspec,xltxtra}
1279\setmainfont[Numbers=OldStyle]{Times New Roman}
1280\setsansfont{Arial}
1281\else
1282%This can be empty if you are not going to use pdftex
1283\usepackage[T1]{fontenc}
1284\usepackage[utf8]{inputenc}
1285\usepackage{mathptmx}%Times
1286\usepackage{helvet}%Helvetica
1287\fi
1288%Here you can insert all packages that pdftex also understands
1289\usepackage[ngerman,finnish,english]{babel}
1290\usepackage{graphicx}
1291
1292\begin{document}
1293\title{A short document with LilyPond and xelatex}
1294\maketitle
1295
1296Normal \textbf{font} commands inside the \emph{text} work,
1297because they \textsf{are supported by \LaTeX{} and XeteX.}
1298If you want to use specific commands like \verb+\XeTeX+, you
1299should include them again in a \verb+\ifxetex+ environment.
1300You can use this to print the \ifxetex \XeTeX{} command \else
1301XeTeX command \fi which is not known to normal \LaTeX .
1302
1303In normal text you can easily use LilyPond commands, like this:
1304
1305\begin{lilypond}
1306{a2 b c'8 c' c' c'}
1307\end{lilypond}
1308
1309\noindent
1310and so on.
1311
1312The fonts of snippets set with LilyPond will have to be set from
1313inside
1314of the snippet.  For this you should read the AU on how to use
1315lilypond-book.
1316
1317\selectlanguage{ngerman}
1318Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1319anderen
1320seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1321unterst__tzt werden.
1322\end{document}
1323@end verbatim
1324
1325
1326@node 目次を共有する
1327@section 目次を共有する
1328@translationof Sharing the table of contents
1329
1330この機能はすでに OrchestralLily パッケージで用意されています:
1331
1332@example
1333@url{http://repo.or.cz/w/orchestrallily.git}
1334@end example
1335
1336より自由度の高いテキスト処理をするために、lilypond から目次をエクスポート@c
1337して、@LaTeX{} に読み込ませる方法を好むユーザもいるかもしれません。
1338
1339@subsubheading LilyPond から目次をエクスポートする
1340
1341以下のコードは、複数の楽章を 1 つのファイルに出力するものと仮定しています。
1342
1343@smallexample
1344#(define (oly:create-toc-file layout pages)
1345  (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1346    (if (not (null? label-table))
1347      (let* ((format-line (lambda (toc-item)
1348             (let* ((label (car toc-item))
1349                    (text  (caddr toc-item))
1350                    (label-page (and (list? label-table)
1351                                     (assoc label label-table)))
1352                    (page (and label-page (cdr label-page))))
1353               (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1354             (formatted-toc-items (map format-line (toc-items)))
1355             (whole-string (string-join formatted-toc-items ",\n"))
1356             (output-name (ly:parser-output-name))
1357             (outfilename (format #f "~a.toc" output-name))
1358             (outfile (open-output-file outfilename)))
1359        (if (output-port? outfile)
1360            (display whole-string outfile)
1361            (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1362        (close-output-port outfile)))))
1363
1364\paper @{
1365  #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1366@}
1367@end smallexample
1368
1369@subsubheading LaTeX に目次をインポートする
1370
1371LaTeX ファイルのヘッダ中に以下を記述します:
1372
1373@c no, this doesn't require the smallexample, but since the other
1374@c two blocks on this page use it, I figured I might as well
1375@c user it here as well, for consistency. -gp
1376@smallexample
1377\usepackage@{pdfpages@}
1378\includescore@{nameofthescore@}
1379@end smallexample
1380
1381@noindent
1382ここで、@code{\includescore} は以下のように定義されています:
1383
1384@smallexample
1385%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1386% \includescore@{PossibleExtension@}
1387%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1388
1389% Read in the TOC entries for a PDF file from the corresponding .toc file.
1390% This requires some heave latex tweaking, since reading in things from a file
1391% and inserting it into the arguments of a macro is not (easily) possible
1392
1393% Solution by Patrick Fimml on #latex on April 18, 2009:
1394% \readfile@{filename@}@{\variable@}
1395% reads in the contents of the file into \variable (undefined if file
1396% doesn't exist)
1397\newread\readfile@@f
1398\def\readfile@@line#1@{%
1399@{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1400\edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1401\ifeof\readfile@@f\else%
1402\readfile@@line@{#1@}%
1403\fi%
1404@}
1405\def\readfile#1#2@{%
1406\openin\readfile@@f=#1 %
1407\ifeof\readfile@@f%
1408\typeout@{No TOC file #1 available!@}%
1409\else%
1410\gdef#2@{@}%
1411\readfile@@line@{#2@}%
1412\fi
1413\closein\readfile@@f%
1414@}%
1415
1416
1417\newcommand@{\includescore@}[1]@{
1418\def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1419\let\oly@@addtotoc\undefined
1420\readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1421\ifx\oly@@addtotoc\undefined
1422\includepdf[pages=-]@{\oly@@fname@}
1423\else
1424\edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1425@{\oly@@fname@}@}\includeit
1426\fi
1427@}
1428@end smallexample
1429
1430
1431@node テキストと楽譜を組み合わせる他の方法
1432@section テキストと楽譜を組み合わせる他の方法
1433@translationof Alternative methods of mixing text and music
1434
1435@command{lilypond-book} を使わずにテキストと楽譜を組み合わせる方法を
1436@ref{LilyPond output in other programs} で説明しています。
1437