3.2.4 DocBook

Per inserire frammenti di codice LilyPond è una buona idea mantenere la conformità del documento DocBook, in modo da poter usare gli editor DocBook, la validazione, etc. Quindi non si usano elementi personalizzati, ma si specifica una convenzione basata sugli elementi DocBook standard.

Convenzioni comuni

Per inserire un frammento di qualsiasi tipo si usano gli elementi mediaobject e inlinemediaobject, in modo che il frammento possa essere formattato in linea o meno. Le opzioni di formattazione del frammento vengono sempre indicate nella proprietà role dell’elemento più interno (si vedano le prossime sezioni). Gli elementi sono scelti in modo da permettere agli editor DocBook di ottenere una formattazione ottimale. I file DocBook da elaborare con lilypond-book devono avere estensione ‘.lyxml’.

Includere un file LilyPond

Si tratta del caso più semplice. Bisogna usare l’estensione ‘.ly’ per il file da includere e inserirlo come uno standard imageobject, con la seguente struttura:

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

Nota che sei libero di usare mediaobject o inlinemediaobject come elemento più esterno.

Includere codice LilyPond

È possibile includere codice LilyPond all’interno di un elemento programlisting in cui il linguaggio sia impostato su lilypond e con la seguente struttura:

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

Come si vede, l’elemento più esterno è mediaobject o inlinemediaobject e c’è un textobject che contiene al suo interno il programlisting.

Elaborare il documento DocBook

L’esecuzione di lilypond-book su un file ‘.lyxml’ creerà un documento DocBook valido con estensione ‘.xml’ che potrà essere ulteriormente elaborato. Usando dblatex, creerà automaticamente un file PDF da questo documento. Per generare l’HTML (HTML Help, JavaHelp etc.) si possono usare i fogli di stile DocBook XSL ufficiali; tuttavia è possibile che sia necessario modificarli un po’.


Altre lingue: English, deutsch, español, français, 日本語.
About automatic language selection.

LilyPond — Utilizzo v2.19.14 (ramo di sviluppo).