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


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

LilyPond — Utilización v2.21.0 (rama de desarrollo).