3.2.4 DocBook

Para insertar fragmentos de LilyPond es bueno tratar de mantener la conformidad de los documentos de DocBook, permitiendo así el uso de editores de DocBook, validación, etc. Así pues, no se ofrece ninguna etiqueta personalizada, solo especificamos convenciones basadas en los elementos estándar de DocBook.

Convenciones usuales

Para insertar toda clase de fragmentos utilizamos los elementos mediaobject y inlinemediaobject para formatear fragmentos en línea o no en línea, respectivamente. 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 un archivo .lyxml se crea un documento de DocBook válido (con la extensión .xml) que se puede procesar posteriormente. Si usamos dblatex, este crea un archivo PDF a partir de este documento automáticamente. Para la generación de HTML (HTML Help, JavaHelp, etc.) podemos usar las hojas de estilo oficiales XSL de DocBook, aunque es posible que tengamos que aplicarles algún tipo de personalización.


LilyPond: manual de utilización del programa v2.25.30 (development-branch).