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