1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
4 Translation of GIT committish: c1b0482f63f881bd3f67845e5f76a3e04675ef2a
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..
13 @c Translators: Yoshiki Sawada
15 @c Note: keep this node named so that `info lilypond-book' brings you here.
17 @chapter @command{lilypond-book} を実行する
18 @translationof lilypond-book
20 ドキュメントに楽譜の画像を追加したければ、他のタイプの画像を追加する@c
22 ドキュメントとは別に画像を作成して、PostScript 出力や PNG 画像@c
23 として保存して、@LaTeX{} や HTML ドキュメントに組み込みます。
25 @command{lilypond-book} はこの処理を自動で行うための手段です:
26 このプログラムはドキュメントから楽譜のコード断片を抽出して、@c
27 それらに対して @command{lilypond} を実行して、楽譜のコード断片を@c
28 画像で置き換えたドキュメントを出力します。@c
29 楽譜の線の太さやフォント サイズはドキュメントのレイアウトに調和@c
32 @command{lilypond-book} は @command{lilypond} とは別のプログラムであり、@c
34 更なる情報は @ref{Command-line usage} を参照してください。@c
35 Windows や Mac OS X のコマンド ラインを用いて @code{lilypond-book} を@c
36 実行しようとした際に問題があるようなら、@rweb{Windows} や @rweb{MacOS X}
39 この処理は @LaTeX{}, HTML, Texinfo, または DocBook のドキュメントに@c
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 に楽譜を追加する)
58 * lilypond-book を呼び出す::
60 * lilypond-book テンプレート::
62 * テキストと楽譜を組み合わせる他の方法::
68 @translationof An example of a musicological document
70 @cindex musicology (音楽学)
71 テキストのなかには楽譜の例を保持しているものがあります。@c
72 そのようなテキストには、音楽学の専門書、歌集、このドキュメントのような@c
74 そのようなテキストを手作業で作成することができます
75 -- PostScript 画像をワープロにインポートするといったようにです。@c
76 しかしながら、HTML, @LaTeX{}, Texinfo, それに DocBook ドキュメント@c
77 の場合は、作業量を減らすための自動処理を利用することができます。
79 @code{lilypond-book} と呼ばれるスクリプトは楽譜の断片を抽出して、@c
80 それらをフォーマットして、得られた楽譜をドキュメントに戻します。@c
81 @LaTeX{} に対するちょっとした使用例を示します。@c
82 この例には説明文も含まれていますので、それ以上コメントすることはしません。
88 \documentclass[a4paper]{article}
92 \verb+lilypond-book+ のドキュメントでは自由に楽譜とテキストを
98 c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
104 \begin{lilypond}[fragment,quote,staffsize=26,verbatim]
108 大きな楽譜例は別のファイルに配置して、\verb+\lilypondfile+ で
111 \lilypondfile[quote,noindent]{screech-and-boink.ly}
113 (必要があれば、@file{screech-and-boink.ly} をこのファイルと同じディレクトリ
114 にある任意の @file{.ly} に置き換えてください。)
122 上記のコードを @file{lilybook.lytex} というファイル名で保存して、@c
125 @c keep space after @version{} so TeX doesn't choke
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...}
134 @emph{..lots of stuff deleted..}
136 @emph{(@command{xpdf} をお好みの PDF ビューアに置き換えてください)}
139 @command{lilypond-book} と @command{latex} を実行すると多くの一時@c
140 ファイルが作成されて、作業ディレクトリを散らかします。@c
141 散らかされることを防ぐには @option{--output=@var{dir}} オプションを@c
143 このオプションを指定すると、一時ファイルはサブディレクトリ @file{dir}
146 以下に上記の @LaTeX{} 例の結果を示します。@footnote{このチュートリアルは
147 Texinfo で処理されるため、上記の例とはレイアウトが少し異なります。}@c
148 これでこのチュートリアル セクションを終わります。
154 @command{lilypond-book} のドキュメントでは自由に楽譜とテキストを
160 c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
166 @lilypond[fragment,quote,staffsize=26,verbatim]
170 大きな楽譜例は別のファイルに配置して、@code{\lilypondfile} で
173 @lilypondfile[quote,noindent]{screech-and-boink.ly}
175 デフォルトあるいはカスタムの @code{tagline} が必要であれば、
176 楽譜コード断片全体を @code{\book @{ @}} 構造で囲んでください。
178 @lilypond[papersize=a8,verbatim]
181 title = "A scale in LilyPond"
194 @section 楽譜とテキストを統合する
195 @translationof Integrating music and text
197 LilyPond をさまざまな出力フォーマットと統合する方法を説明します。
210 @LaTeX{} は物理学や化学等の出版のデファクト スタンダードです。@c
211 @LaTeX{} は @TeX{} 植字エンジン上に構築され、最高品位の活版印刷術を@c
214 @LaTeX{} の使い方についての概要は
215 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
216 @emph{The Not So Short Introduction to @LaTeX{}}} を参照してください。
218 @code{lilypond-book} は楽譜を @LaTeX{} ファイルに組み込むために以下の@c
224 @code{\lilypond@{...@}} コマンド: ここに直接短い lilypond コードを入力する@c
228 @code{\begin@{lilypond@}...\end@{lilypond@}} 環境: ここに長い lilypond
232 @code{\lilypondfile@{...@}} コマンド: このコマンドで lilypond ファイルを@c
236 @code{\musicxmlfile@{...@}} コマンド: このコマンドで MusicXML ファイルを@c
238 挿入されたファイルは @code{musicxml2ly} と @code{lilypond} で処理されます
242 入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:
245 \begin@{lilypond@}[options,go,here]
249 \lilypond[options,go,here]@{ YOUR LILYPOND CODE @}
251 \lilypondfile[options,go,here]@{@var{filename}@}
253 \musicxmlfile[options,go,here]@{@var{filename}@}
259 さらに、@code{\lilypondversion} は lilypond のバージョン番号を表示します。@c
260 @command{lilypond-book} を実行して得られたファイルを更に @LaTeX{} で@c
263 例をいくつか挙げます。以下の @code{lilypond} 環境
266 \begin@{lilypond@}[quote,fragment,staffsize=26]
274 @lilypond[quote,fragment,staffsize=26]
281 \lilypond[quote,fragment,staffsize=11]@{<c' e' g'>@}
287 @lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
290 今のところ @code{\lilypond@{@}} の中で @code{@{} や @code{@}} を@c
291 記述することはできないため、このコマンドは @code{fragment} オプション@c
294 楽譜のデフォルトの行幅は、ドキュメント前文
295 -- @code{\begin@{document@}} より前の部分 --
296 のコマンドを検証することにより調節されます。@c
297 @command{lilypond-book} コマンドはそれらのコマンドを @LaTeX{} に送って@c
299 その後、楽譜断片の行幅はそのテキスト幅に調節されます。@c
300 試行錯誤なアルゴリズムは容易に失敗する可能性があります
301 -- そのような場合、@code{line-width} 楽譜断片オプションを使用する必要が@c
304 @cindex titling and lilypond-book (タイトルと lilypond-book)
305 @cindex \header in @LaTeX{} documents (@LaTeX{} ドキュメントの中にある \header)
307 以下のマクロがユーザによって定義されている場合、各楽譜断片はそれらの@c
311 @item @code{\preLilyPondExample} は楽譜断片の処理が始まる前に@c
314 @item @code{\postLilyPondExample} は楽譜断片の処理が終わった後に@c
317 @item @code{\betweenLilyPondSystem[1]} は、@code{lilypond-book} が@c
318 楽譜断片をいくつかの PostScript ファイルに分けて出力する場合に、@c
320 このマクロはパラメータを 1 つ取るように定義する必要があり、@c
321 何段数目の処理が終わったらマクロが動作を始めるかを指定する@c
323 デフォルトでは @code{\linebreak} を挿入するだけです。
329 @cindex Latex, feta symbols
332 To include feta symbols (such as flat, segno, etc) in a LaTeX
333 document, use @code{\input@{titledefs@}}
336 \documentclass[a4paper]@{article@}
347 The font symbol names are defined in the file feta20.tex; to find
348 the location of this file, use the command
359 @c 楽譜要素 (タイやスラー等) を~~かのように
360 @c 表示することが有用な場合があります。@c
361 Sometimes it is useful to display music elements (such as ties and slurs)
362 as if they continued after the end of the fragment.
363 これは譜を改行して、残りの LilyPond 出力を抑制することで実現できます。
365 @LaTeX{} の中で @code{\betweenLilyPondSystem} を定義して、必要な楽譜段数@c
366 が出力された後の出力を抹消するようにします。@c
367 @code{\betweenLilyPondSystem} が最初に呼び出されるのは @emph{最初の} 段@c
368 が処理された後なので、最初の段だけを残すことは簡単です。
371 \def\betweenLilyPondSystem#1@{\endinput@}
373 \begin@{lilypond@}[fragment]
374 c'1\( e'( c'~ \break c' d) e f\)
378 必要とする段数が多い場合、@code{\endinput} の前で @TeX{} 条件分岐を使う@c
380 以下の例で、@q{2} を必要とする段数に置き換えてください。
383 \def\betweenLilyPondSystem#1@{
384 \ifnum#1<2\else\expandafter\endinput\fi
389 (@code{\endinput} は入力ファイルの処理をすぐに停止するため、@c
390 @code{\endinput} の呼び出しを @code{\fi} 実行後まで遅らせるために
391 @code{\expandafter} を記述する必要があります。@c
392 これにより @code{\if}-@code{\fi} 節がバランスします。)
394 @code{\betweenLilyPondSystem} の定義は @TeX{} がカレントのグループ
395 (@LaTeX{} 環境等) を終了するか、他の定義で上書きされる
396 (これは大抵の場合、ドキュメントの残りの部分に対する定義です)
397 まで効果を持つということを覚えておいてください。@c
398 定義をリセットするには、@LaTeX{} に以下を記述します:
401 \let\betweenLilyPondSystem\undefined
404 これを簡単にするには、以下の @TeX{} マクロを定義して、
407 \def\onlyFirstNSystems#1@{
408 \def\betweenLilyPondSystem##1@{%
409 \ifnum##1<#1\else\expandafter\endinput\fi@}
417 \onlyFirstNSystems@{3@}
418 \begin@{lilypond@}...\end@{lilypond@}
419 \onlyFirstNSystems@{1@}
420 \begin@{lilypond@}...\end@{lilypond@}
425 @LaTeX{} ドキュメント専用の @command{lilypond-book} コマンド
426 オプションがあり、他にも知っておくべき細かなことがあります。@c
427 @ref{Invoking lilypond-book} を参照してください。
432 @translationof Texinfo
434 Texinfo は GNU プロジェクトのドキュメントのデフォルト フォーマットです。@c
435 Texinfo ドキュメントの例の 1 つはこのマニュアルです。@c
436 このマニュアルの HTML, PDF, それに Info 形式は Texinfo ドキュメントから@c
439 @code{lilypond-book} は楽譜を Texinfo ファイルに組み込むために以下の@c
445 @code{@@lilypond@{...@}} コマンド: ここに直接短い lilypond コードを@c
449 @code{@@lilypond...@@end lilypond} 環境: ここに長い lilypond
453 @code{@@lilypondfile@{...@}} コマンド: このコマンドで lilypond
457 @code{@@musicxmlfile@{...@}} コマンド: このコマンドで MusicXML ファイルを@c
459 挿入されたファイルは @code{musicxml2ly} と @code{lilypond} で処理されます
463 入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:
466 @@lilypond[options,go,here]
470 @@lilypond[options,go,here]@{ YOUR LILYPOND CODE @}
472 @@lilypondfile[options,go,here]@{@var{filename}@}
474 @@musicxmlfile[options,go,here]@{@var{filename}@}
477 さらに、@code{@@lilypondversion} は lilypond のバージョン番号を表示します。
479 @command{lilypond-book} を実行して得られる Texinfo ファイル
480 (拡張子は @file{.texi} です) は HTML, Info, それに表示出力用の
481 @code{@@image} タグを保持しています。@c
482 @command{lilypond-book} は表示出力に対しては EPS と PDF 形式の楽譜を@c
483 生成して、HTML と Info 出力に対しては PNG 形式の楽譜を生成します。
485 2 つの簡単な例を挙げます。以下の @code{lilypond} 環境
503 @@lilypond[fragment,staffsize=11]@{<c' e' g'>@}
509 @lilypond[fragment,staffsize=11]{<c' e' g'>}
511 @LaTeX{} とは対照的に、@code{@@lilypond@{...@}} はインライン画像を@c
513 生成される画像は常に 1 つの段落を構成します。
520 @code{lilypond-book} は楽譜を HTML ファイルに組み込むために以下の@c
526 @code{<lilypond ... />} コマンド: ここに直接短い lilypond コードを入力する@c
530 @code{<lilyond>...</lilypond>} 環境: ここに長い lilypond
534 @code{<lilypondfile>...</lilypondfile>} コマンド: このコマンドで
535 lilypond ファイルを挿入することができます
538 @code{<musicxmlfile>...</musicxmlfile>} コマンド: このコマンドで
539 MusicXML ファイルを挿入することができます。@c
540 挿入されたファイルは @code{musicxml2ly} と @code{lilypond} で処理されます
544 入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:
547 <lilypond options go here>
551 <lilypond options go here: YOUR LILYPOND CODE />
553 <lilypondfile options go here>@var{filename}</lilypondfile>
555 <musicxmlfile options go here>@var{filename}</musicxmlfile>
560 <lilypond fragment relative=2>
561 \key c \minor c4 es g2
566 上記のコードから @command{lilypond-book} は楽譜断片に対する適切な@c
567 画像タグを持つ HTML ファイルを作り出します:
569 @lilypond[fragment,relative=2]
570 \key c \minor c4 es g2
573 インライン画像を得るには、@code{<lilypond ... />} を使います。@c
574 以下のように、コロン @code{:} でオプションと楽譜コードを区切ります:
577 Some music in <lilypond relative=2: a b c/> a line of text.
580 HTML ファイルとは別に記述した lilypond ファイルを組み込むには@c
584 <lilypondfile @var{option1} @var{option2} ...>@var{filename}</lilypondfile>
587 @code{<musicxmlfile>} は @code{<lilypondfile>} と同じ構文を使い、@c
588 LilyPond ファイルではなく MusicXML ファイルを参照します。
590 @code{lilypond} タグや @code{lilypondfile} タグで使用するオプションの@c
591 リストは、@ref{Music fragment options} を参照してください。
593 さらに、@code{<lilypondversion/>} は lilypond のバージョン番号を表示します。
596 @cindex titling in HTML (HTML のタイトル)
597 @cindex preview image (プレビュー画像)
598 @cindex thumbnail (サムネイル)
602 @translationof DocBook
604 LilyPond 断片を組み込む場合、DocBook ドキュメントとの適合を保つべきです。@c
605 そうすることで、DocBook のエディタや検証機能等を使うことができます。@c
606 そのため、カスタム タグは使わず、標準 DocBook 要素に基づく約束ごとだけを@c
609 @subheading Common conventions
611 楽譜断片をインラインあるいはインラインではなく挿入するために、@c
612 @code{mediaobject} 要素と @code{inlinemediaobject} 要素を使います。@c
613 楽譜断片フォーマット オプションは常に最も内側の要素の @code{role}
614 プロパティの中に配置します (次のセクションを参照してください)。@c
615 タグは DocBook エディタがコンテンツをきれいにフォーマットすることを@c
617 @command{lilypond-book} で処理する DocBook ファイルの拡張子は
618 @file{.lyxml} にするべきです。
620 @subheading LilyPond ファイルを組み込む
623 組み込むファイルの拡張子は @file{.ly} にして、それを以下に示す構造で@c
624 標準の @code{imageobject} として挿入する必要があります:
629 <imagedata fileref="music1.ly" role="printfilename" />
634 必要に応じて、最も外側の要素に @code{mediaobject} または
635 @code{inlinemediaobject} を使うことができるということに注意してください。
637 @subheading LilyPond コードを組み込む
639 @code{programlisting} を用いることで、LilyPond コードを@c
641 以下の構造を用いて、@code{programlisting} の言語には @code{lilypond} を@c
646 <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
647 \context Staff \with @{
648 \remove "Time_signature_engraver"
649 \remove "Clef_engraver"@}
656 最も外側の要素は @code{mediaobject} または @code{inlinemediaobject} であり、@c
657 その中に @code{programlisting} を保持する @code{textobject} がありことが@c
660 @subheading DocBook ドキュメントを処理する
662 @file{.lyxml} ファイルに対して @command{lilypond-book} を実行すると、@c
663 拡張子が @file{.xml} の有効な DocBook ドキュメントが作成され、@c
664 それを更に処理にかけることがでいます。@c
665 @uref{http://@/dblatex@/.sourceforge@/.net@/,dblatex} を使うと、@c
666 このドキュメントから自動的に PDF ファイルを作成することがでいます。@c
667 公式 DocBook スタイルシートを用いることで HTML (HTML ヘルプ、JavaHelp 等)
668 を生成することが可能ですが、カスタマイズが必要かもしれません。
673 @translationof Music fragment options
675 以下では、@q{LilyPond コマンド} は、これまでのセクションで説明した@c
676 楽譜断片を作り出すために @command{lilypond-book} によって処理される@c
678 シンプルにするために、@LaTeX{} 構文の LilyPond コマンドだけを示します。
680 オプション文字列は左から右の順で解析されるということに注意してください。@c
681 あるオプションを複数指定した場合、最後のオプションが有効となります。
683 LilyPond コマンドで以下のオプションを使うことができます:
686 @item staffsize=@var{ht}
687 譜サイズを @var{ht} にセットします。単位はポイントです。
690 デフォルトの間隔を用いるため、行の右端が揃いません。@c
691 つまり、LilyPond コード断片に @code{ragged-right = ##t} を追加します。@c
692 明示的に @code{noragged-right} を指定しない限り、@c
693 1 行の楽譜断片はデフォルトでは常に ragged-right で譜刻されます。
696 楽譜断片が 1 行の場合に、譜の長さを行幅まで広げます。@c
697 つまり、LilyPond コード断片に @code{ragged-right = ##f} を追加します。
700 @itemx line-width=@var{size}\@var{unit}
701 行幅を @var{size} にセットします。@var{unit} は単位です。@c
702 @var{unit} は以下の文字列のどれかです: @code{cm}, @code{mm}, @code{in},
704 このオプションは LilyPond 出力 (つまり、楽譜断片の譜の幅に) に影響を@c
705 与えますが、テキスト レイアウトには影響を与えません。
707 引数無しで使用した場合、行幅はデフォルト値にセットされます
708 (試行錯誤的なアルゴリズムで算出される値です)。
710 @code{line-width} オプションが指定されなかった場合、@c
711 @command{lilypond-book} は @code{ragged-right} オプションを使用しない
712 @code{lilypond} 環境のデフォルトを推測しようと試みます。
714 @item papersize=@var{string}
715 @var{string} は @file{scm/paper.scm} で定義されている紙面サイズ
716 -- つまり、@code{a5}, @code{quarto}, @code{11x17} 等 -- です。
718 @file{scm/paper.scm} で定義されていない値は無視され、警告が発せられ、@c
719 楽譜断片はデフォルトの @code{a4} サイズで譜刻されます。
725 @command{lilypond-book} が常用コードを追加するので、@code{\layout},
726 @code{\score} 等を入力する必要がなく、単に以下のように入力できます:
733 楽譜断片の LilyPond コードに補完コードを追加しません。@c
734 これがデフォルトなので、通常、@code{nofragment} は不要です。
736 @item indent=@var{size}\@var{unit}
737 楽譜の最初の段のインデントを @var{size} にセットします。@c
739 @var{unit} は以下の文字列のどれかです: @code{cm}, @code{mm}, @code{in},
741 このオプションは LilyPond に影響を与えますが、テキスト レイアウトには@c
745 楽譜の最初の段のインデントを 0 にセットします。@c
746 このオプションは LilyPond に影響を与えますが、テキスト レイアウトには@c
748 これがデフォルトなので、通常、@code{noindent} は不要です。
751 楽譜の両端に @math{0.4}@dmn{in} のインデントを挿入して、引用ブロックで@c
753 値 @q{0.4@dmn{in}} は @code{exampleindent} オプションで制御することが@c
757 @code{quote} オプションが楽譜断片に挿入するインデントの量をセットします。
760 @itemx relative=@var{n}
762 デフォルトでは、音符はミドル@tie{}C との相対関係で指定します。@c
763 オプションで指定する整数の引数は開始音符のオクターブを指定します
764 -- デフォルトの @code{1} はミドル@tie{}C です。@c
765 @code{relative} オプションは @code{fragment} オプションがセットされている@c
766 場合にのみ機能するため、@code{relative} オプションがセットされるとソース@c
767 の中の @code{(no)fragment} オプション有無にかかわらず @code{fragment} が@c
771 LilyPond もそれ自体のドキュメントを作り出すのに @command{lilypond-book}
773 LilyPond のドキュメントを作るために、さらに細かな楽譜断片オプションが@c
778 LilyPond コマンドの引数をそのまま出力ファイルにコピーして、ブロックで@c
779 囲み、その後に @code{intertext} オプションで与えられた任意のテキストが@c
780 続きます (@code{intertext} オプションはまだ実装されていません)。@c
782 段落の一部となっている @code{\lilypond@{@}} でこのオプションを指定@c
785 @code{lilypondfile} コマンドで @code{verbatim} を使用した場合、ソース
786 ファイルの一部だけをそのままコピーして囲むことができます。@c
787 ソース ファイルが @samp{begin verbatim} (引用符を除く) という文字列を@c
788 含むコメントを保持している場合、最後の @samp{begin verbatim} より後の@c
790 同様に、@samp{end verbatim} を含むコメントがあれば、ソースの引用は@c
791 最初の @samp{end verbatim} の前で終了します。@c
792 以下のソース ファイル例で、楽譜コードは相対モードで解釈されますが、@c
793 ソースの引用に @code{relative} ブロックは表示されません。@c
797 \relative @{ % begin verbatim
812 ソースの引用の中にあるコメントと変数名を翻訳したけれども、ソース自体の@c
813 中にあるコメントと変数名は翻訳したくない場合、環境変数
814 @code{LYDOC_LOCALEDIR} をディレクトリ パスにセットします
815 -- セットしたディレクトリはドメインに @code{lilypond-doc} を指定した@c
816 @file{.mo} メッセージ カタログのツリーを保持する必要があります。
819 (Texinfo 出力専用です) @code{verbatim} 出力の先頭に @code{\version
820 @@w@{"@@version@{@}"@}} という行を追加します。
823 (Texinfo 出力専用です) 入力ファイル @file{foo.ly} に対して
824 @option{--header=@/texidoc} オプションを指定して @command{lilypond}
825 を呼び出した場合、入力ファイルの @code{\header} に @code{texidoc}
826 フィールドがあればファイル @file{foo.texidoc} が作成されます。@c
827 @code{texidoc} オプションは @command{lilypond-book} にそのようなファイル@c
828 をインクルードさせ、その内容を楽譜断片の直前
829 (ただし、@code{quote} オプションによって生成される @code{example} 環境の@c
830 外側) にドキュメントとして追加させます。
832 ファイル @file{foo.ly} は以下を保持していて、
836 texidoc = "This file demonstrates a single note."
842 Texinfo ドキュメント @file{test.texinfo} に以下の記述があると仮定すると、
845 @@lilypondfile[texidoc]@{foo.ly@}
849 以下のコマンドで期待した結果を得られます。
852 lilypond-book --pdf --process="lilypond \
853 -dbackend=eps --header=texidoc" test.texinfo
856 たいていの LilyPond テスト ドキュメント (配布ソースの @file{input}
857 ディレクトリにあります) はこのような形の小さな @file{.ly} ファイルです。
859 ローカライズするために Texinfo ドキュメントが
860 @code{@@documentlanguage @var{LANG}} 保持していて、@file{foo.ly} のヘッダ@c
861 が @code{texidoc@var{LANG}} フィールドを保持している場合、@c
862 @option{--header=@/texidoc@var{LANG}} を付けて @command{lilypond} を@c
863 呼び出すと、@file{foo.texidoc} の代わりに @file{foo.texidoc@var{LANG}}
867 (Texinfo 出力専用です) このオプションは @code{texidoc} オプションと同じ@c
868 ような働きをします: @code{\header} に @code{doctitle} フィールドを持つ@c
869 入力ファイル @file{foo.ly} に対して @option{--header=@/doctitle}
870 オプションを指定して @command{lilypond} を呼び出した場合、@c
871 @file{foo.doctitle} が生成されます。@c
872 @code{doctitle} オプションを使用した場合、@file{foo.doctitle} の内容
873 -- 1 行のテキスト @var{text} である必要があります -- は Texinfo
874 ドキュメントに @code{@@lydoctitle @var{text}} として挿入されます。@c
875 @code{@@lydoctitle} は Texinfo ドキュメントの中で定義されたマクロである@c
877 あとはローカライズされた言語に対する @code{texidoc} 処理と同じ説明@c
881 (Texinfo 出力専用です) 楽譜ソース引用の中にあるコメントと変数名を翻訳@c
885 @code{\lilypondfile} で LilyPond 入力ファイルをインクルードした場合、@c
886 楽譜断片の直前にインクルードしたファイルの名前を表示します。@c
887 HTML 出力では、これはリンクになります。@c
888 ファイルのベース名だけが表示されます -- つまり、ファイル パスの@c
894 @node lilypond-book を呼び出す
895 @section @command{lilypond-book} を呼び出す
896 @translationof Invoking lilypond-book
898 @command{lilypond-book} は出力形式に応じて以下の拡張子の 1 つを持つ@c
899 ファイルを生成します: @file{.tex}, @file{.texi}, @file{.html}, あるいは
901 @file{.tex}, @file{.texi}, それに @file{.xml} のファイルは更なる処理を@c
904 @subheading 各出力形式に特有の説明
906 @subsubheading @LaTeX{}
908 印刷や公開のために @LaTeX{} ドキュメントを処理する方法は 2 つあります:
909 PDF@LaTeX{} を用いて直接 PDF ファイルを得ることができ、@command{dvips}
910 のような PostScript への変換プログラムを用いて DVI 経由で PostScript
912 1 つ目の方法は簡単で、お勧めです@footnote{PDF@LaTeX{} と @LaTeX{} の@c
913 どちらもすべての @LaTeX{} ドキュメントをコンパイルできるとは限らない@c
914 ことに注意してください。これが 2 つ目の方法を説明する理由です。}。@c
915 どのような方法を採るにせよ、Ghostscript パッケージに含まれる
916 @command{ps2pdf} と @command{pdf2ps} のようなツールを用いて PostScript
917 と PDF 間の変換は容易に行うことができます。
919 PDF@LaTeX{} を用いて PDF ファイルを作り出すには、以下のようにします:
922 lilypond-book --pdf yourfile.lytex
923 pdflatex yourfile.tex
926 @cindex outline fonts (アウトライン フォント)
927 @cindex type1 fonts (type1 フォント)
929 @cindex invoking dvips (dvips を呼び出す)
930 @LaTeX{}/@command{dvips}/@command{ps2pdf} 経由で PDF ファイルを作り出す@c
934 lilypond-book yourfile.lytex
936 dvips -Ppdf yourfile.dvi
941 このプロセスで作成される @file{.dvi} ファイルは符頭を保持していません。@c
942 それで通常です -- 以下の手順に従うと、@file{.ps} ファイルや @file{.pdf}
945 @command{dvips} を実行するとフォントに関する警告が発せられます:
947 @command{latex} を 2 列モードで実行するのであれば、忘れずに
948 @command{dvips} のオプションに @option{-t landscape} を付け加えてください。
951 @code{\pageBreak} コマンドは @code{\begin@{lilypond@} @dots{}
952 \end@{lilypond@}} 環境の中では機能しません。
954 多くの @code{\paper} ブロック変数も @code{\begin@{lilypond@} @dots{}
955 \end@{lilypond@}} 環境の中では機能しません。@c
956 ドキュメント前文の中で @code{\betweenLilyPondSystem} を持つ
957 @code{\newcommand} を使ってください。
960 \newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
964 @subsubheading Texinfo
966 (任意の出力形式の) Texinfo ドキュメントを作り出すには、Texinfo の通常の@c
968 つまり、作り出そうとしている出力形式に応じて @command{texi2pdf} か
969 @command{texi2dvi} のどちらかを呼び出します。
971 @xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, and @ref{Creating
972 an Info File, , , texinfo, GNU Texinfo}.
975 詳細は Texinfo のドキュメントを参照してください。
979 @subheading コマンド ライン オプション
981 @command{lilypond-book} は以下のコマンド ライン オプションを受け付けます:
984 @item -f @var{format}
985 @itemx --format=@var{format}
986 処理するドキュメントのタイプを指定します: @code{html}, @code{latex},
987 @code{texi} (デフォルト), あるいは @code{docbook} です。@c
988 このオプションが無い場合、@command{lilypond-book} は形式を自動的に@c
989 検出しようとします -- @ref{Filename extensions} を参照してください。@c
990 今のところ、@code{texi} は @code{texi-html} と同じです。
992 @c This complicated detail is not implemented, comment it out -jm
994 @code{texi} ドキュメント タイプを指定すると、楽譜断片を持つ Texinfo
996 HTML バージョンで使う画像を得るには、@code{texi-html} を指定する必要が@c
1000 @item -F @var{filter}
1001 @itemx --filter=@var{filter}
1002 楽譜ソース断片を @var{filter} に通します。@c
1003 @code{lilypond-book} は @option{--filter} と @option{--process}
1008 lilypond-book --filter='convert-ly --from=2.0.0 -' my-book.tely
1016 @itemx --include=@var{dir}
1017 インクルード パスに @var{dir} を追加します。@c
1018 @command{lilypond-book} はインクルード パスの中でコンパイル済みの楽譜断片@c
1019 を見つけると、それらを出力ディレクトリに書き出しません。@c
1020 そのため、@command{lilypond-book} を呼び出してから更に @command{makeinfo}
1021 や @command{latex} 等のコマンドを同じ @option{-I @var{dir}} オプションを@c
1022 付けて呼び出す必要がある場合があります。
1024 @item -l @var{loglevel}
1025 @itemx --loglevel=@var{loglevel}
1026 出力の饒舌さを @var{loglevel} にセットします。@c
1027 取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING}, @code{PROGRESS}
1028 (デフォルト), それに @code{DEBUG} です。@c
1029 このオプションを使わなかった場合、環境変数 @code{LILYPOND_BOOK_LOGLEVEL}
1030 がセットされ、その値が loglevel として使われます。
1033 @itemx --output=@var{dir}
1034 生成されるファイルをディレクトリ @var{dir} に保存します。@c
1035 @command{lilypond-book} を実行すると LilyPond が処理するための多くの小さな@c
1037 そのようなゴミがソース ディレクトリに混入することを防ぐには、@c
1038 @option{--output} コマンド ライン オプションを使用して出力ディレクトリを@c
1039 変更して、@command{latex} や @command{makeinfo} を実行する前にその@c
1043 lilypond-book --output=out yourfile.lytex
1048 @itemx --skip-lily-check
1049 lilypond 出力が見つからなくても処理を終了しません。@c
1050 画像を持たない LilyPond Info ドキュメントを作成するために使います。
1052 @itemx --skip-png-check
1053 EPS ファイルを作成するための PNG 画像が見つからなくても処理を終了しません。@c
1054 画像を持たない LilyPond Info ドキュメントを作成するために使います。
1056 @itemx --lily-output-dir=@var{dir}
1057 lily-XXX ファイルをディレクトリ @var{dir} に書き出し、@option{--output}
1059 このオプションは別々のディレクトリの中にあり、多くの楽譜断片を共有する@c
1060 ドキュメントをビルドする時間を節約するために使います。
1062 @itemx --lily-loglevel=@var{loglevel}
1063 呼び出された @command{lilypond} の出力の饒舌さを @var{loglevel} にセット@c
1065 取り得る値は @code{NONE}, @code{ERROR}, @code{WARNING},
1066 @code{BASIC_PROGRESS}, @code{PROGRESS}, @code{INFO} (デフォルト),
1067 それに @code{DEBUG} です。@c
1068 このオプションを使わなかった場合、環境変数 @code{LILYPOND_LOGLEVEL}
1069 がセットされ、その値が loglevel として使われます。
1071 @itemx --info-images-dir=@var{dir}
1072 Texinfo 出力をフォーマットして、Info が @var{dir} の中にある楽譜画像を@c
1075 @itemx --latex-program=@var{prog}
1076 @command{latex} の代わりに実行可能な @command{prog} を実行します。@c
1077 これは、例えばドキュメントを @command{xelatex} で処理する場合に有用です。
1079 @itemx --left-padding=@var{amount}
1080 EPS ボックスのパディングを指定します。@c
1081 @var{amount} の単位はミリメートルで、デフォルト値は 3.0 です。@c
1082 このオプションは楽譜が右マージンに食い込む場合に使います。
1084 The width of a tightly clipped system can vary, due to notation
1085 elements that stick into the left margin, such as bar numbers and
1086 instrument names. This option will shorten each line and move each
1087 line to the right by the same amount.
1089 @item -P @var{command}
1090 @itemx --process=@var{command}
1091 LilyPond コード断片を @var{command} を用いて処理します。@c
1092 デフォルトのコマンドは @code{lilypond} です。@c
1093 @code{lilypond-book} は @option{--filter} と @option{--process}
1097 PDF@LaTeX{} で PDF ファイルを作成します。
1099 @item --redirect-lilypond-output
1100 デフォルトでは、出力はターミナルに表示されます。@c
1101 このオプションは全ての出力をソース ファイルと同じディレクトリにあるログ
1104 @itemx --use-source-file-names
1105 楽譜断片出力ファイルにソース ファイルと同じベース名を付けます。@c
1106 このオプションは @code{lilypondfile} でインクルードされた楽譜断片に@c
1107 対してのみ、更に @option{--output-dir} オプションと
1108 @option{--lily-output-dir} オプションで指定されたディレクトリが異なる@c
1114 これは @code{--loglevel=DEBUG} と等価です。
1125 Texinfo コマンド @code{@@pagesizes} は解釈されません。@c
1126 同様に、ドキュメント前文以降にあるマージンと行幅を変更する @LaTeX{}
1129 LilyPond ブロックの最初の @code{\score} だけが処理されます。
1134 @translationof Filename extensions
1136 入力ファイルに対して任意のファイル拡張子を使うことができます。@c
1137 しかしながら、ある形式のファイルに対して推奨する拡張子を使わなかった場合、@c
1138 手動で出力形式を指定する必要があるかもしれません
1139 -- 詳細は @ref{Invoking lilypond-book} を参照してください。@c
1140 推奨する拡張子を使えば、@command{lilypond-book} はその拡張子に基づいて@c
1144 @multitable @columnfractions .2 .5
1145 @item @strong{拡張子} @tab @strong{出力形式}
1147 @item @file{.html} @tab HTML
1148 @item @file{.htmly} @tab HTML
1149 @item @file{.itely} @tab Texinfo
1150 @item @file{.latex} @tab @LaTeX{}
1151 @item @file{.lytex} @tab @LaTeX{}
1152 @item @file{.lyxml} @tab DocBook
1153 @item @file{.tely} @tab Texinfo
1154 @item @file{.tex} @tab @LaTeX{}
1155 @item @file{.texi} @tab Texinfo
1156 @item @file{.texinfo} @tab Texinfo
1157 @item @file{.xml} @tab HTML
1161 入力ファイルの拡張子を @command{lilypond-book} が出力ファイルに付ける@c
1162 拡張子と同じで、入力ファイルが @command{lilypond-book} の作業ディレクトリ@c
1163 に置かれている場合、@option{--output} オプションを使って
1164 @command{lilypond-book} を実行する必要があります。@c
1165 そうしないと、@qq{Output would overwrite input file} のようなエラー
1169 @node lilypond-book テンプレート
1170 @section lilypond-book テンプレート
1171 @translationof lilypond-book templates
1173 以下に示すテンプレートは @code{lilypond-book} で使います。@c
1174 @code{lilypond-book} に馴染みが無いのであれば、@ref{lilypond-book} を@c
1179 LilyPond 断片を LaTex ドキュメントに組み込むことができます。
1182 \documentclass[]@{article@}
1194 次の LaTeX テキスト。オプションは角括弧の中に入れます。
1196 \begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
1204 LilyPond 断片を Texinfo に組み込むことができます。@c
1205 実際、このマニュアル全体が Texinfo で記述されています。
1208 \input texinfo @c -*-texinfo-*-
1220 次の Texinfo テキスト。オプションは角括弧の中に入れます。
1222 @@lilypond[verbatim,fragment,ragged-right]
1233 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1240 以下のように、lilypond-book 用のドキュメントには自由に楽譜と
1250 次の lilypond コードにはオプションをつけます
1252 <lilypond fragment quote staffsize=26 verbatim>
1266 \documentclass{article}
1267 \usepackage{ifxetex}
1269 %xetex specific stuff
1270 \usepackage{xunicode,fontspec,xltxtra}
1271 \setmainfont[Numbers=OldStyle]{Times New Roman}
1274 %This can be empty if you are not going to use pdftex
1275 \usepackage[T1]{fontenc}
1276 \usepackage[utf8]{inputenc}
1277 \usepackage{mathptmx}%Times
1278 \usepackage{helvet}%Helvetica
1280 %Here you can insert all packages that pdftex also understands
1281 \usepackage[ngerman,finnish,english]{babel}
1282 \usepackage{graphicx}
1285 \title{A short document with LilyPond and xelatex}
1288 Normal \textbf{font} commands inside the \emph{text} work,
1289 because they \textsf{are supported by \LaTeX{} and XeteX.}
1290 If you want to use specific commands like \verb+\XeTeX+, you
1291 should include them again in a \verb+\ifxetex+ environment.
1292 You can use this to print the \ifxetex \XeTeX{} command \else
1293 XeTeX command \fi which is not known to normal \LaTeX .
1295 In normal text you can easily use LilyPond commands, like this:
1304 The fonts of snippets set with LilyPond will have to be set from
1306 of the snippet. For this you should read the AU on how to use
1309 \selectlanguage{ngerman}
1310 Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
1312 seltsamen Zeichen: __ ______, wenn sie von der Schriftart
1313 unterst__tzt werden.
1320 @translationof Sharing the table of contents
1322 この機能はすでに OrchestralLily パッケージで用意されています:
1325 @url{http://repo.or.cz/w/orchestrallily.git}
1328 より自由度の高いテキスト処理をするために、lilypond から目次をエクスポート@c
1329 して、@LaTeX{} に読み込ませる方法を好むユーザもいるかもしれません。
1331 @subsubheading LilyPond から目次をエクスポートする
1333 以下のコードは、複数の楽章を 1 つのファイルに出力するものと仮定しています。
1336 #(define (oly:create-toc-file layout pages)
1337 (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
1338 (if (not (null? label-table))
1339 (let* ((format-line (lambda (toc-item)
1340 (let* ((label (car toc-item))
1341 (text (caddr toc-item))
1342 (label-page (and (list? label-table)
1343 (assoc label label-table)))
1344 (page (and label-page (cdr label-page))))
1345 (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
1346 (formatted-toc-items (map format-line (toc-items)))
1347 (whole-string (string-join formatted-toc-items ",\n"))
1348 (output-name (ly:parser-output-name))
1349 (outfilename (format "~a.toc" output-name))
1350 (outfile (open-output-file outfilename)))
1351 (if (output-port? outfile)
1352 (display whole-string outfile)
1353 (ly:warning (_ "Unable to open output file ~a for the TOC information") outfilename))
1354 (close-output-port outfile)))))
1357 #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
1361 @subsubheading LaTeX に目次をインポートする
1363 LaTeX ファイルのヘッダ中に以下を記述します:
1365 @c no, this doesn't require the smallexample, but since the other
1366 @c two blocks on this page use it, I figured I might as well
1367 @c user it here as well, for consistency. -gp
1369 \usepackage@{pdfpages@}
1370 \includescore@{nameofthescore@}
1374 ここで、@code{\includescore} は以下のように定義されています:
1377 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1378 % \includescore@{PossibleExtension@}
1379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1381 % Read in the TOC entries for a PDF file from the corresponding .toc file.
1382 % This requires some heave latex tweaking, since reading in things from a file
1383 % and inserting it into the arguments of a macro is not (easily) possible
1385 % Solution by Patrick Fimml on #latex on April 18, 2009:
1386 % \readfile@{filename@}@{\variable@}
1387 % reads in the contents of the file into \variable (undefined if file
1389 \newread\readfile@@f
1390 \def\readfile@@line#1@{%
1391 @{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
1392 \edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
1393 \ifeof\readfile@@f\else%
1394 \readfile@@line@{#1@}%
1397 \def\readfile#1#2@{%
1398 \openin\readfile@@f=#1 %
1400 \typeout@{No TOC file #1 available!@}%
1403 \readfile@@line@{#2@}%
1405 \closein\readfile@@f%
1409 \newcommand@{\includescore@}[1]@{
1410 \def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
1411 \let\oly@@addtotoc\undefined
1412 \readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
1413 \ifx\oly@@addtotoc\undefined
1414 \includepdf[pages=-]@{\oly@@fname@}
1416 \edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
1417 @{\oly@@fname@}@}\includeit
1423 @node テキストと楽譜を組み合わせる他の方法
1424 @section テキストと楽譜を組み合わせる他の方法
1425 @translationof Alternative methods of mixing text and music
1427 @command{lilypond-book} を使わずにテキストと楽譜を組み合わせる方法を
1428 @ref{LilyPond output in other programs} で説明しています。