[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

3.2 Integrar música y texto

@translationof Integrating music and text

Aquí vamos a explicar cómo integrar LilyPond con algunos otros formatos de salida.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

3.2.1 LaTeX

@translationof LaTeX

LaTeX es el estándar de facto para la publicación en el mundo de las ciencias exactas. Está construido encima del motor de composición tipográfica TeX, proporcionando la tipografía de mejor calidad que existe.

Consulte The Not So Short Introduction to LaTeX (Introducción no tan breve a LaTeX) para ver una panorámica sobre cómo usar LaTeX.

lilypond-book aporta las instrucciones y entornos siguientes para incluir música dentro de archivos de LaTeX:

En el archivo de entrada, se especifica la música con cualquiera de las instrucciones siguientes:

 
\begin{lilypond}[las,opciones,van,aquí]
  EL CÓDIGO DE LILYPOND
\end{lilypond}

\lilypond[las,opciones,van,aquí]{ EL CÓDIGO DE LILYPOND }

\lilypondfile[las,opciones,van,aquí]{archivo}

\musicxmlfile[las,opciones,van,aquí]{archivo}

De forma adicional, \lilypondversion imprime la versión actual de lilypond.

La ejecución de lilypond-book deja como resultado un archivo que se puede procesar posteriormente con LaTeX.

A continuación mostramos algunos ejemplos. El entorno lilypond

 
\begin{lilypond}[quote,fragment,staffsize=26]
  c' d' e' f' g'2 g'2
\end{lilypond}

produce

[image of music]

La versión corta

 
\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}

produce

[image of music]

Por el momento no es posible incluir llaves { o } dentro de \lilypond{}, así que esta instrucción solamente es útil con la opción fragment.

El ancho predeterminado de las líneas de música se ajusta mediante el examen de las instrucciones del preámbulo del documento, la parte del documento que está antes de \begin{document}. La instrucción lilypond-book los envía a LaTeX para averiguar la anchura del texto. El ancho de la línea para los fragmentos de música se ajusta entonces al ancho del texto. Observe que este algoritmo heurístico puede fácilmente fallar; en estos casos es necesario usar la opción line-width del fragmento de música.

Cada fragmento ejecutará los macros siguientes si han sido definidos por el usuario:

Fragmentos de código seleccionados

A veces es útil mostrar elementos de música (como ligaduras) como si continuasen más allá del final del fragmento. Esto se puede hacer dividiendo el pentagrama y suprimiendo la inclusión del resto de la salida de LilyPond.

En LaTeX, defina \betweenLilyPondSystem de tal forma que la la inclusión de otros sistemas se dé por terminada una vez que se ha alcanzado el número deseado de sistemas requeridos. Puesto que \betweenLilyPondSystem se llama en primer lugar después del primer sistema, incluir solamente el primer sistema es algo trivial.

 
\def\betweenLilyPondSystem#1{\endinput}

\begin[fragment]{lilypond}
  c'1\( e'( c'~ \break c' d) e f\)
\end{lilypond}

Si se necesita un mayor número de sistemas, se tiene que usar un condicional de TeX antes del \endinput. En este ejemplo, sustituya el ‘2’ por el número de sistemas que quiere en la salida:

 
\def\betweenLilyPondSystem#1{
    \ifnum#1<2\else\expandafter\endinput\fi
}

(Dado que \endinput detiene inmediatamente el procesado del archivo de entrada actual, necesitamos \expandafter para posponer la llamada de \endinput después de ejecutar \fi de manera que la cláusula \if-\fi esté equilibrada.)

Recuerde que la definición de \betweenLilyPondSystem es efectiva hasta que TeX abandona el grupo actual (como el entorno LaTeX) o se sobreescribe por otra definición (lo que casi siempre es por el resto del documento). Para reponer la definición, escriba

 
\let\betweenLilyPondSystem\undefined

dentro de la fuente de LaTeX.

Se puede simplificar esto definiendo un macro de TeX:

 
\def\onlyFirstNSystems#1{
    \def\betweenLilyPondSystem##1{\ifnum##1<#1\else\endinput\fi}
}

y luego diciendo solamente cuántos sistemas quiere antes de cada fragmento:

 
\onlyFirstNSystems{3}
\begin{lilypond}…\end{lilypond}
\onlyFirstNSystems{1}
\begin{lilypond}…\end{lilypond}

Véase también

Hay opciones de línea de órdenes específicas de lilypond-book y otros detalles que conocer para procesar documentos deLaTeX véase Invocar lilypond-book.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

3.2.2 Texinfo

@translationof Texinfo

Texinfo es el formato estándar para la documentación del proyecto GNU. Este mismo manual es un ejemplo de documento Texinfo. Las versiones HTML, PDF e Info del manual se hacen a partir del documento Texinfo.

lilypond-book aporta las siguientes instrucciones y entornos para incluir música dentro de archivos de Texinfo:

En el archivo de entrada, la música se especifica con cualquiera de las instrucciones siguientes:

 
@lilypond[las,opciones,van,aquí]
  EL CÓDIGO DE LILYPOND
@end lilypond

@lilypond[las,opciones,van,aquí]{ EL CÓDIGO DE LILYPOND }

@lilypondfile[las,opciones,van,aquí]{archivo}

@musicxmlfile[las,opciones,van,aquí]{archivo}

De forma adicional, @lilypondversion imprime la versión actual de lilypond.

Cuando se ejecuta lilypond-book sobre el archivo, se obtiene como resultado un archivo Texinfo (con la extensión ‘.texi’) que contiene etiquetas @image para el HTML, Info y la salida impresa. lilypond-book genera imágenes de la música en formatos EPS y PDF para usarlos en la salida impresa, y en formato PNG para usarlos en las salidas HTML e Info.

Aquí podemos ver dos ejemplos sencillos. Un entorno lilypond

 
@lilypond[fragment]
c' d' e' f' g'2 g'
@end lilypond

produce

[image of music]

La versión corta

 
@lilypond[fragment,staffsize=11]{<c' e' g'>}

produce

[image of music]

A diferencia de LaTeX, @lilypond{…} no genera una imagen en línea. Siempre consiste en un párrafo para ella sola.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

3.2.3 HTML

@translationof HTML

lilypond-book aporta las siguientes instrucciones y entornos para incluir música dentro de archivos HTML:

En el archivo de entrada, la música se especifica con cualquiera de las instrucciones siguientes:

 
<lilypond las opciones van aquí>
  EL CÓDIGO DE LILYPOND
</lilypond>

<lilypond las opciones van aquí: EL CÓDIGO DE LILYPOND />

<lilypondfile las opciones van aquí>archivo</lilypondfile>

<musicxmlfile las opciones van aquí>archivo</musicxmlfile>

Por ejemplo, podemos escribr

 
<lilypond fragment relative=2>
\key c \minor c4 es g2
</lilypond>

lilypond-book entonces produce un archivo HTML con las etiquetas de imagen adecuadas para los fragmentos de música:

[image of music]

Para imágenes en línea, utilice <lilypond … />, donde las opciones están separadas de la música por el símbolo de dos puntos, por ejemplo

 
Algo de música dentro de <lilypond relative=2: a b c/> una línea
de texto.

Para incluir archivos externos, escriba

 
<lilypondfile opción1 opción2 …>archivo</lilypondfile>

<musicxmlfile> usa la misma sintaxis que <lilypondfile>, pero sencillamente referencia un archivo de MusicXML en lugar de un archivo de LilyPond.

Para ver una lista de las opciones que utilizar con las etiquetas lilypond o lilypondfile, véase Opciones de fragmentos de música.

De forma adicional, <lilypondversion/> imprime la versión actual de lilypond.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]         [Arriba] [Índice general] [Índice] [ ? ]

3.2.4 DocBook

@translationof 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.


[ < ] [ > ]   [ << ] [ Subir ] [ >> ]

Este documento ha sido generado por gub el el 13 julio 2020 utilizando texi2html 1.82.

Otros idiomas: English, català, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.