GNU LilyPond: manual de utilización del programa: 4.2.4 DocBook

### 4.2.4 DocBook

Para insertad 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.

### Common conventions

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`’.

### Including a LilyPond file

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.

### Including LilyPond code

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.

### Processing the DocBook document

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.

Other languages: English, deutsch.

#### Manual de utilización del programa