3.2.4 DocBook

Bei der Einbindung von Musik im LilyPond-Format in DocBook soll die Konformität unseres DocBook Dokuments erhalten bleiben und damit die Bearbeiten mit DocBook-Editoren sowie die Validierung weiter möglich bleiben. Aus diesem Grund werden in DocBook keine eigenen Tags wie in HTML benutzt, sondern die von den vorhandenen DocBook-Elementen vorgegebenen Konventionen entsprechend benützt.

Definitionen

Für die Einbindung von LilyPond Code werden in allen Fällen die mediaobject und inlinemediaobject Elemente benutzt, die unsere Beispiele in einem eigenen Absatz oder im Fließtext einfügen. Die Optionen zur Formatierung mit LilyPond werden dabei in der role Eigenschaft des innersten Elements angegeben, wie im nächsten Abschnitt gezeigt wird. Die DocBook Datei, die dann von lilypond-book verarbeitet wird, sollte der Klarheit halber die Dateierweiterung ‘.lyxml’ (jedenfalls nicht ‘.xml’) besitzen.

Eine LilyPond-Datei einfügen

Dies ist der einfachste Fall: Die LilyPond-Datei besitzt die Erweiterung ‘.ly’ und wird einfach als imageobject eingebettet:

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

Für das äußerste Element kann je nach Bedarf mediaobject oder inlinemediaobject benutzt werden.

LilyPond-Code einfügen

Die Einbindung von LilyPond-Code direkt in der DocBook-Datei ist durch die Benutzung von programlisting möglich, wobei die Sprache auf lilypond gesetzt wird:

<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>

Das äußerste Element ist also mediaobject oder inlinemediaobject, welches ein textobject mit dem programlisting enthält.

Ein DocBook-Dokument übersetzen

Der Aufruf von lilypond-book mit der ‘.lyxml’-Datei erzeugt ein gültiges DocBook-Dokument mit der Erweiterung ‘.xml’, welches normal weiterverarbeitet werden kann. Bei Benutzung von dblatex wird daraus automatisch eine PDF-Datei erzeugt. Für die Erzeugung von HTML (HTML Hilfe, JavaHelp, etc.) können die offiziellen DocBook XSL-Stylesheets benutzt werden. Eventuell müssen dafür allerdings kleinere Anpassungen vorgenommen werden.


LilyPond – Usage v2.24.4 (stabiler Zweig).