[ << Ejecución de lilypond-book ] | [Top][Contents][Index] | [ Programas externos >> ] |
| [ < Integrar música y texto ] | [ Up: Integrar música y texto ] | [ Texinfo > ] |
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:
- la instrucción
\lilypond{…}, para escribir directamente fragmentos cortos de código de LilyPond, - el entorno
\begin{lilypond}…\end{lilypond}, para introducir directamente bloques más largos de código de LilyPond, - la instrucción
\lilypondfile{…}para insertar un archivo de LilyPond, - la instrucción
\musicxmlfile{…}para insertar un archivo de MusicXML, que se procesa por parte demusicxml2lyylilypond.
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'4 d' e' f' g'2 g'
\end{lilypond}
produce
La versión corta
\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
produce
El ancho predeterminado de las líneas de música se calcula
mediante el examen de las instrucciones del preámbulo del
documento (esto es: 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 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.
Nota: Asegúrese de que el preámbulo se puede compilar sin
errores, pues en caso contrario no funcionará la detección del
ancho de línea. Puede probarlo procesando directamente el
documento con LaTeX, usando un bloque \begin{document}
... \end{document} vacío.
Si usa un formato apaisado, asegúrse de incluir la palabra clave
landscape en la lista de opciones del macro
\documentclass.5
Cada fragmento ejecuta los macros siguientes si han sido definidos por el usuario:
-
\preLilyPondExampleque se llama antes de la música, -
\postLilyPondExampleque se llama después de la música, -
\betweenLilyPondSystem[1]se llama entre los sistemas sililypond-bookdivide el fragmento en varios trozos. Se debe definir de forma que tome un parámetro, que es el número de archivos ya incluidos dentro del fragmento actual. La acción predeterminada es simplemente insertar\linebreak.
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{lilypond}[fragment]
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 de \endinput. En este ejemplo,
sustituya el valor 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 se termina 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\expandafter\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.
Footnotes
(5)
Esto es necesario porque
lilypond-book añade \usepackage{graphics} al
preámbulo si no se cargan los paquetes graphics ni
graphicx; esto podría cambiar las dimensiones del papel de
forma inesperada para algunas clases de documento.
[ << Ejecución de lilypond-book ] | [Top][Contents][Index] | [ Programas externos >> ] |
| [ < Integrar música y texto ] | [ Up: Integrar música y texto ] | [ Texinfo > ] |
![[image of music]](../23/lily-b4fbd4bd.png)
![[image of music]](../9a/lily-8a3cd14c.png)