3.2.4 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 等) を生成することが可能ですが、カスタマイズが必要かもしれません。

GNU LilyPond – アプリケーション使用方法 v2.25.22 (development-branch).