[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2 楽譜とテキストを統合する

@translationof Integrating music and text

LilyPond をさまざまな出力フォーマットと統合する方法を説明します。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.1 LaTeX

@translationof LaTeX

LaTeX は物理学や化学等の出版のデファクト スタンダードです。LaTeX は TeX 植字エンジン上に構築され、最高品位の活版印刷術を提供します。

LaTeX の使い方についての概要は The Not So Short Introduction to LaTeX を参照してください。

lilypond-book は楽譜を LaTeX ファイルに組み込むために以下のコマンドと環境を提供します:

入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:

 
\begin{lilypond}[options,go,here]
  YOUR LILYPOND CODE
\end{lilypond}

\lilypond[options,go,here]{ YOUR LILYPOND CODE }

\lilypondfile[options,go,here]{filename}

\musicxmlfile[options,go,here]{filename}

さらに、\lilypondversion は lilypond のバージョン番号を表示します。lilypond-book を実行して得られたファイルを更に LaTeX で処理することができます。

例をいくつか挙げます。以下の lilypond 環境

 
\begin{lilypond}[quote,fragment,staffsize=26]
  c' d' e' f' g'2 g'2
\end{lilypond}

これは以下を作り出します

[image of music]

以下の短いバージョン

 
\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}

これは以下を作り出します

[image of music]

今のところ \lilypond{} の中で { や } を記述することはできないため、このコマンドは fragment オプションを指定した場合にのみ機能します。

楽譜のデフォルトの行幅は、ドキュメント前文 – \begin{document} より前の部分 – のコマンドを検証することにより調節されます。lilypond-book コマンドはそれらのコマンドを LaTeX に送ってテキストの幅を調べます。その後、楽譜断片の行幅はそのテキスト幅に調節されます。試行錯誤なアルゴリズムは容易に失敗する可能性があります – そのような場合、line-width 楽譜断片オプションを使用する必要があります。

以下のマクロがユーザによって定義されている場合、各楽譜断片はそれらのマクロを呼び出します:

Selected Snippets

楽譜要素 (タイやスラー等) を断片の後に続くかのように表示することが有用な場合があります。これは譜を改行して、残りの LilyPond 出力を抑制することで実現できます。

LaTeX の中で \betweenLilyPondSystem を定義して、必要な楽譜段数が出力された後の出力を抹消するようにします。\betweenLilyPondSystem が最初に呼び出されるのは 最初の 段が処理された後なので、最初の段だけを残すことは簡単です。

 
\def\betweenLilyPondSystem#1{\endinput}

\begin{lilypond}[fragment]
  c'1\( e'( c'~ \break c' d) e f\)
\end{lilypond}

必要とする段数が多い場合、\endinput の前で TeX 条件分岐を使う必要があります。以下の例で、‘2’ を必要とする段数に置き換えてください。

 
\def\betweenLilyPondSystem#1{
    \ifnum#1<2\else\expandafter\endinput\fi
}

(\endinput は入力ファイルの処理をすぐに停止するため、\endinput の呼び出しを \fi 実行後まで遅らせるために \expandafter を記述する必要があります。これにより \if-\fi 節がバランスします。)

\betweenLilyPondSystem の定義は TeX がカレントのグループ (LaTeX 環境等) を終了するか、他の定義で上書きされる (これは大抵の場合、ドキュメントの残りの部分に対する定義です) まで効果を持つということを覚えておいてください。定義をリセットするには、LaTeX に以下を記述します:

 
\let\betweenLilyPondSystem\undefined

これを簡単にするには、以下の TeX マクロを定義して、

 
\def\onlyFirstNSystems#1{
    \def\betweenLilyPondSystem##1{%
      \ifnum##1<#1\else\expandafter\endinput\fi}
}

各楽譜断片の前に必要な段数を指定します。

 
\onlyFirstNSystems{3}
\begin{lilypond}…\end{lilypond}
\onlyFirstNSystems{1}
\begin{lilypond}…\end{lilypond}

参照

LaTeX ドキュメント専用の lilypond-book コマンド オプションがあり、他にも知っておくべき細かなことがあります。@ref{Invoking lilypond-book} を参照してください。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.2 Texinfo

@translationof Texinfo

Texinfo は GNU プロジェクトのドキュメントのデフォルト フォーマットです。Texinfo ドキュメントの例の 1 つはこのマニュアルです。このマニュアルの HTML, PDF, それに Info 形式は Texinfo ドキュメントから生成されています。

lilypond-book は楽譜を Texinfo ファイルに組み込むために以下のコマンドと環境を提供します:

入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:

 
@lilypond[options,go,here]
  YOUR LILYPOND CODE
@end lilypond

@lilypond[options,go,here]{ YOUR LILYPOND CODE }

@lilypondfile[options,go,here]{filename}

@musicxmlfile[options,go,here]{filename}

さらに、@lilypondversion は lilypond のバージョン番号を表示します。

lilypond-book を実行して得られる Texinfo ファイル (拡張子は ‘.texi’ です) は HTML, Info, それに表示出力用の @image タグを保持しています。lilypond-book は表示出力に対しては EPS と PDF 形式の楽譜を生成して、HTML と Info 出力に対しては PNG 形式の楽譜を生成します。

2 つの簡単な例を挙げます。以下の lilypond 環境

 
@lilypond[fragment]
c' d' e' f' g'2 g'
@end lilypond

これは以下を作り出します

[image of music]

以下の短いバージョン

 
@lilypond[fragment,staffsize=11]{<c' e' g'>}

これは以下を作り出します

[image of music]

LaTeX とは対照的に、@lilypond{…} はインライン画像を生成しません。生成される画像は常に 1 つの段落を構成します。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.3 HTML

@translationof HTML

lilypond-book は楽譜を HTML ファイルに組み込むために以下のコマンドと環境を提供します:

入力ファイルの中では、楽譜は以下のコマンドのいずれかで特定されます:

 
<lilypond options go here>
  YOUR LILYPOND CODE
</lilypond>

<lilypond options go here: YOUR LILYPOND CODE />

<lilypondfile options go here>filename</lilypondfile>

<musicxmlfile options go here>filename</musicxmlfile>

記述例を挙げます:

 
<lilypond fragment relative=2>
\key c \minor c4 es g2
</lilypond>

上記のコードから lilypond-book は楽譜断片に対する適切な画像タグを持つ HTML ファイルを作り出します:

[image of music]

インライン画像を得るには、<lilypond … /> を使います。以下のように、コロン : でオプションと楽譜コードを区切ります:

 
Some music in <lilypond relative=2: a b c/> a line of text.

HTML ファイルとは別に記述した lilypond ファイルを組み込むには以下のようにします:

 
<lilypondfile option1 option2 …>filename</lilypondfile>

<musicxmlfile> は <lilypondfile> と同じ構文を使い、LilyPond ファイルではなく MusicXML ファイルを参照します。

lilypond タグや lilypondfile タグで使用するオプションのリストは、@ref{Music fragment options} を参照してください。

さらに、<lilypondversion/> は lilypond のバージョン番号を表示します。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

3.2.4 DocBook

@translationof DocBook

LilyPond 断片を組み込む場合、DocBook ドキュメントとの適合を保つべきです。そうすることで、DocBook のエディタや検証機能等を使うことができます。そのため、カスタム タグは使わず、標準 DocBook 要素に基づく約束ごとだけを使います。

Common conventions

楽譜断片をインラインあるいはインラインではなく挿入するために、mediaobject 要素と inlinemediaobject 要素を使います。楽譜断片フォーマット オプションは常に最も内側の要素の role プロパティの中に配置します (次のセクションを参照してください)。タグは DocBook エディタがコンテンツをきれいにフォーマットすることを可能にします。lilypond-book で処理する DocBook ファイルの拡張子は ‘.lyxml’ にするべきです。

LilyPond ファイルを組み込む

これが最も簡単な方法です。組み込むファイルの拡張子は ‘.ly’ にして、それを以下に示す構造で標準の imageobject として挿入する必要があります:

 
<mediaobject>
  <imageobject>
    <imagedata fileref="music1.ly" role="printfilename" />
  </imageobject>
</mediaobject>

必要に応じて、最も外側の要素に mediaobject または inlinemediaobject を使うことができるということに注意してください。

LilyPond コードを組み込む

programlisting を用いることで、LilyPond コードを組み込むことができます。以下の構造を用いて、programlisting の言語には lilypond をセットします:

 
<inlinemediaobject>
  <textobject>
    <programlisting language="lilypond" role="fragment verbatim staffsize=16 ragged-right relative=2">
\context Staff \with {
  \remove "Time_signature_engraver"
  \remove "Clef_engraver"}
  { c4( fis) }
    </programlisting>
  </textobject>
</inlinemediaobject>

最も外側の要素は mediaobject または inlinemediaobject であり、その中に programlisting を保持する textobject がありことが見て取れます。

DocBook ドキュメントを処理する

‘.lyxml’ ファイルに対して lilypond-book を実行すると、拡張子が ‘.xml’ の有効な DocBook ドキュメントが作成され、それを更に処理にかけることがでいます。dblatex を使うと、このドキュメントから自動的に PDF ファイルを作成することがでいます。公式 DocBook スタイルシートを用いることで HTML (HTML ヘルプ、JavaHelp 等) を生成することが可能ですが、カスタマイズが必要かもしれません。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]

This document was generated by gub on 7 月 13, 2020 using texi2html 1.82.

他の言語: English, català, deutsch, español, français, italiano
About automatic language selection.