3.2.4 DocBook

Para insertar fragmentos de LilyPond es bueno tratar de mantener la conformidad del documento de DocBook, permitiendo así el uso de editores de DocBook, validación, etc. Así pues, no usamos etiquetas personalizadas, sólo especificamos una convención basada en los elementos estándar de DocBook.

Convenciones usuales

Para insertar toda clase de fragmentos utilizamos los elementos mediaobject y inlinemediaobject, de forma que nuestros fragmentos puedan ser formateados en línea o no en línea. Las opciones de formateo del fragmento se escriben siempre dentro de la propiedad role del elemento más interno (véanse las secciones siguientes). Las etiquetas se eligen de forma que permitan a los editores de DocBook formatear el contenido satisfactoriamente. Los archivos de DocBook que se van a procesar con lilypond-book deben tener la extensión ‘.lyxml’.

Incluir un archivo de LilyPond

Este es el caso más sencillo. Debemos usar la extensión ‘.ly’ para el archivo incluido, e insertarlo como un imageobject estándar, con la estructura siguiente:

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

Observe que puede usar mediaobject o inlinemediaobject como el elemento más externo, a elección suya.

Incluir código de LilyPond

Se puede incluir código de LilyPond mediante la utilización de un elemento programlisting, en que el lenguaje se establece como lilypond con la estructura siguiente:

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

Como puede ver, el elemento más externo es un mediaobject o un inlinemediaobject, y hay un elemento textobject que lleva el programlisting en su interior.

Procesar el documento de DocBook

Al ejecutar lilypond-book sobre el archivo ‘.lyxml’ se creará un documento de DocBook válido que se puede procesar posteriormente con la extensión ‘.xml’. Si usa dblatex, creará un archivo PDF a partir de este documento automáticamente. Para la generación de HTML (HTML Help, JavaHelp, etc.) puede usar las hojas de estilo oficiales XSL de DocBook, aunque es posible que tenga que aplicarles algún tipo de personalización.


LilyPond — Utilización v2.24.4 (rama estable).