[ << 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{…}
, donde podemos escribir directamente fragmentos cortos de código de LilyPond - el entorno
\begin{lilypond}…\end{lilypond}
, donde podemos 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 demusicxml2ly
ylilypond
.
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
La versión corta
\lilypond[quote,fragment,staffsize=11]{<c' e' g'>}
produce
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:
-
\preLilyPondExample
que se llama antes de la música, -
\postLilyPondExample
que se llama después de la música, -
\betweenLilyPondSystem[1]
se llama entre los sistemas sililypond-book
ha dividido el fragmento en varios archivos PostScript. Se debe definir de forma que tome un parámetro y recibirá el número de archivos ya incluidos dentro del fragmento actual. La acción predeterminada es simplemente insertar un\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 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
.
[ << Ejecución de lilypond-book ] | [Top][Contents][Index] | [ Programas externos >> ] |
[ < Integrar música y texto ] | [ Up : Integrar música y texto ] | [ Texinfo > ] |