@c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-

@ignore
    Translation of GIT committish: 31a7a1eb0078a93718248b442568d045113837ab

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore

@c \version "2.19.22"

@c Note: keep this node named so that `info lilypond-book' brings you here.
@node lilypond-book
@chapter Ejecución de @command{lilypond-book}
@translationof lilypond-book

Si quiere añadir imágenes de música a un documento, puede hacerlo
simplemente de la forma en que lo haría con otros tipos de
imágenes.  Las imágenes se crean por separado, dando como
resultado una salida PostScript o imágenes PNG, y luego se
incluyen en un documento de @LaTeX{} o de HTML.

@command{lilypond-book} ofrece una manera de automatizar este
proceso: este programa extrae los fragmentos de música del
documento, ejecuta @command{lilypond} sobre cada uno de ellos, y
devuelve como salida el documento con la música sustituida por las
imágenes.  Las definiciones de ancho de línea y tamaño de letra de
la música se ajustan de forma que coincidan con los ajustes de su
documento.

Es un programa distinto a @command{lilypond} propiamente dicho, y
se ejecuta sobre la línea de órdenes; para ver más información,
consulte @ref{Utilización desde la línea de órdenes}.  Si
experimenta algún problema al ejecutar @code{lilypond-book} sobre
Windows o Mac OS X utilizando la línea de órdenes, consulte
@rweb{Windows} o @rweb{MacOS X}.

Este procedimiento se puede aplicar a documentos de @LaTeX{},
HTML, Texinfo o DocBook.

@cindex texinfo
@cindex LaTeX
@cindex texinfo
@cindex texi
@cindex HTML
@cindex docbook
@cindex documentos, insertar música en
@cindex HTML, insertar música en
@cindex Texinfo, insertar música en
@cindex DocBook, insertar música en
@cindex LaTeX, insertar música en

@menu
* Un ejemplo de documento musicológico::
* Integrar música y texto::
* Opciones de fragmentos de música::
* Invocar lilypond-book::
* Extensiones de nombres de archivo::
* Plantillas de lilypond-book::
* Compartir el índice general::
* Métodos alternativos para mezclar texto y música::
@end menu


@node Un ejemplo de documento musicológico
@section Un ejemplo de documento musicológico
@translationof An example of a musicological document

@cindex musicología
Ciertos textos contienen ejemplos musicales.  Son tratados
musicales, cancioneros o manuales como este mismo.  Estos textos
se pueden hacer a mano, importando simplemente una imagen en
formato PostScript en el editor de textos.  Sin embargo, hay un
procedimiento automático para reducir la carga de trabajo que esto
implica los documentos de HTML, @LaTeX{}, Texinfo y DocBook.

Un guión ejecutable llamado @code{lilypond-book} extrae los
fragmentos de música, les da formato y vuelve a poner en su lugar
la partitura resultante.  A continuación presentamos un pequeño
ejemplo de su utilización con @LaTeX{}.  El ejemplo contiene
también texto explicativo, por lo que no vamos a comentarlo
posteriormente.

@subheading Entrada

@quotation
@verbatim
\documentclass[a4paper]{article}

\begin{document}

Los documentos para \verb+lilypond-book+ pueden mezclar libremente
música y texto. Por ejemplo:

\begin{lilypond}
\relative {
  c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
}
\end{lilypond}

Las opciones se escriben entre corchetes.

\begin{lilypond}[fragment,quote,staffsize=26,verbatim]
  c'4 f16
\end{lilypond}

Los ejemplos grandes se pueden grabar en archivos separados e
introducirse con \verb+\lilypondfile+.

\lilypondfile[quote,noindent]{screech-and-boink.ly}

(Si es necesario, sustituya @file{screech-and-boink.ly}
por cualquier archivo @file{.ly}
situado en el mismo directorio que este archivo.)

\end{document}
@end verbatim
@end quotation

@subheading Procesado

Guarde el código anterior como un archivo llamado
@file{lilybook.lytex}, y luego ejecute en un terminal:

@c keep space after @version{} so TeX doesn't choke
@example
lilypond-book --output=out --pdf lilybook.lytex
@emph{lilypond-book (GNU LilyPond) @version{} }
@emph{Leyendo lilybook.lytex...}
@emph{@dots{}montañas de mensajes suprimidos@dots{}}
@emph{Compilando lilybook.tex@dots{}}
cd out
pdflatex lilybook
@emph{@dots{}montañas de mensajes suprimidos@dots{}}
xpdf lilybook
@emph{(sustituya @command{xpdf} por su visor de PDF favorito)}
@end example

La ejecución de @command{lilypond-book} y @command{latex} crea un
gran número de archivos temporales, que podrían abarrotar el
directorio de trabajo.  Para poner remedio a esto utilice la
opción @option{--output=@var{directorio}}.  Creará los archivos en
un subdirectorio aparte @file{directorio}.

Finalmente el resultado del ejemplo de @LaTeX{} que acabamos de
mostrar@footnote{Este tutorial se procesa con Texinfo, por lo que
el ejemplo presenta un resultado en la disposición ligeramente
distinto.}.  Así acaba la sección del tutorial.

@page

@subheading Salida

Los documentos para @command{lilypond-book} pueden mezclar
libremente música y texto.  Por ejemplo:

@lilypond
\relative {
  c'2 e2 \tuplet 3/2 { f8 a b } a2 e4
}
@end lilypond

Las opciones se escriben entre corchetes.

@lilypond[fragment,quote,staffsize=26,verbatim]
c'4 f16
@end lilypond

Los ejemplos grandes se pueden grabar en archivos separados e
introducirse con @code{\lilypondfile}.

@lilypondfile[quote,noindent]{snippets/screech-and-boink.ly}

Si se requiere un campo @code{tagline}, ya sea predeterminado o
personalizado, entonces el fragmento completo se debe incluir
dentro de una construcción @code{\book @{ @}}.

@c KEEP LY
@lilypond[papersize=a7,verbatim]
\book{
  \header{
    title = "Una escala en LilyPond"
  }

  \relative {
    c' d e f g a b c
  }
}
@end lilypond

@page

@node Integrar música y texto
@section Integrar música y texto
@translationof Integrating music and text

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

@menu
* LaTeX::
* Texinfo::
* HTML::
* DocBook::
@end menu

@node LaTeX
@subsection @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
@uref{https://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
@emph{The Not So Short Introduction to @LaTeX{}}} (Introducción no tan
breve a @LaTeX{}) para ver una panorámica sobre cómo usar @LaTeX{}.

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

@itemize

@item
la instrucción @code{\lilypond@{@dots{}@}}, donde podemos escribir
directamente fragmentos cortos de código de LilyPond

@item
el entorno @code{\begin@{lilypond@}@dots{}\end@{lilypond@}}, donde
podemos introducir directamente bloques más largos de código de
LilyPond

@item
la instrucción @code{\lilypondfile@{@dots{}@}} para insertar un
archivo de LilyPond

@item
la instrucción @code{\musicxmlfile@{@dots{}@}} para insertar un
archivo de MusicXML, que se procesa por parte de
@code{musicxml2ly} y @code{lilypond}.

@end itemize

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

@example
\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í]@{@var{archivo}@}

\musicxmlfile[las,opciones,van,aquí]@{@var{archivo}@}
@end example


@noindent

De forma adicional, @code{\lilypondversion} imprime la versión
actual de lilypond.

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

A continuación mostramos algunos ejemplos.  El entorno
@code{lilypond}

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

@noindent
produce

@lilypond[quote,fragment,staffsize=26]
c' d' e' f' g'2 g'2
@end lilypond

La versión corta

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

@noindent
produce

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

@noindent
Por el momento no es posible incluir llaves @code{@{} o @code{@}}
dentro de @code{\lilypond@{@}}, así que esta instrucción solamente
es útil con la opción @code{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 @code{\begin@{document@}}.
La instrucción @command{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 @code{line-width} del
fragmento de música.

@cindex títulos y lilypond-book
@cindex \header dentro de documentos @LaTeX{}

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

@itemize @bullet
@item @code{\preLilyPondExample} que se llama antes de la música,

@item @code{\postLilyPondExample} que se llama después de la música,

@item @code{\betweenLilyPondSystem[1]} se llama entre los sistemas si
@code{lilypond-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
@code{\linebreak}.
@end itemize

@ignore
Broken stuff.  :(

@cindex Latex, feta symbols
@cindex fetachar

To include feta symbols (such as flat, segno, etc) in a LaTeX
document, use @code{\input@{titledefs@}}

@example
\documentclass[a4paper]@{article@}

\input@{titledefs@}

\begin@{document@}

\fetachar\fetasharp

\end@{document@}
@end example

The font symbol names are defined in the file feta20.tex; to find
the location of this file, use the command

@example
kpsewhich feta20.tex
@end example

@end ignore

@snippets

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 @code{\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 @code{\betweenLilyPondSystem} se llama en primer lugar
@emph{después} del primer sistema, incluir solamente el primer
sistema es algo trivial.

@example
\def\betweenLilyPondSystem#1@{\endinput@}

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

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

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

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

Recuerde que la definición de @code{\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

@example
\let\betweenLilyPondSystem\undefined
@end example

@noindent
dentro de la fuente de @LaTeX{}.

Se puede simplificar esto definiendo un macro de @TeX{}:

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

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

@example
\onlyFirstNSystems@{3@}
\begin@{lilypond@}@dots{}\end@{lilypond@}
\onlyFirstNSystems@{1@}
\begin@{lilypond@}@dots{}\end@{lilypond@}
@end example


@morerefs
Hay opciones de línea de órdenes específicas de
@command{lilypond-book} y otros detalles que conocer para procesar
documentos de@LaTeX{} véase @ref{Invocar lilypond-book}.


@node Texinfo
@subsection 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.

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

@itemize

@item
la instrucción @code{@@lilypond@{@dots{}@}}, donde podemos
introducir directamente fragmentos cortos de código de LilyPond

@item
el entorno @code{@@lilypond@dots{}@@end lilypond}, donde podemos
escribir directamente bloques más extensos de código de LilyPond

@item
la instrucción @code{@@lilypondfile@{@dots{}@}} para insertar un
archivo de LilyPond

@item
la instrucción @code{@@musicxmlfile@{@dots{}@}} para insertar un
archivo de MusicXML, que se procesa después por parte de
@code{musicxml2ly} y de @code{lilypond}.

@end itemize

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

@example
@@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í]@{@var{archivo}@}

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

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

Cuando se ejecuta @command{lilypond-book} sobre el archivo, se
obtiene como resultado un archivo Texinfo (con la extensión
@file{.texi}) que contiene etiquetas @code{@@image} para el HTML,
Info y la salida impresa.  @command{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
@code{lilypond}

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

@noindent
produce

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

La versión corta

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

@noindent
produce

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

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


@node HTML
@subsection HTML
@translationof HTML

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

@itemize

@item
la instrucción @code{<lilypond @dots{} />}, donde podemos
introducir directamente fragmentos cortos de código de LilyPond

@item
el entorno @code{<lilyond>@dots{}</lilypond>}, donde podemos
escribir directamente bloques más extensos de código de LilyPond

@item
la instrucción @code{<lilypondfile>@dots{}</lilypondfile>} para
insertar un archivo de LilyPond

@item
la instrucción @code{<musicxmlfile>@dots{}</musicxmlfile>} para
insertar un archivo de MusicXML, que se procesa después por parte
de @code{musicxml2ly} y de @code{lilypond}.

@end itemize

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

@example
<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í>@var{archivo}</lilypondfile>

<musicxmlfile las opciones van aquí>@var{archivo}</musicxmlfile>
@end example

Por ejemplo, podemos escribr
@example
<lilypond fragment relative=2>
\key c \minor c4 es g2
</lilypond>
@end example

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

@lilypond[fragment,relative=2]
\key c \minor c4 es g2
@end lilypond

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

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

Para incluir archivos externos, escriba

@example
<lilypondfile @var{opción1} @var{opción2} @dots{}>@var{archivo}</lilypondfile>
@end example

@code{<musicxmlfile>} usa la misma sintaxis que
@code{<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
@code{lilypond} o @code{lilypondfile}, véase @ref{Opciones de
fragmentos de música}.

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

@cindex títulos en  HTML
@cindex vista previa, imagen
@cindex miniatura

@node DocBook
@subsection 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.

@subheading Convenciones usuales

Para insertar toda clase de fragmentos utilizamos los elementos
@code{mediaobject} y @code{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 @code{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 @command{lilypond-book} deben tener la extensión
@file{.lyxml}.

@subheading Incluir un archivo de LilyPond

Este es el caso más sencillo.  Debemos usar la extensión
@file{.ly} para el archivo incluido, e insertarlo como un
@code{imageobject} estándar, con la estructura siguiente:

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

Observe que puede usar mediaobject o inlinemediaobject como el
elemento más externo, a elección suya.

@subheading Incluir código de LilyPond

Se puede incluir código de LilyPond mediante la utilización de un
elemento @code{programlisting}, en que el lenguaje se establece
como @code{lilypond} con la estructura siguiente:

@example
<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>
@end example

Como puede ver, el elemento más externo es un @code{mediaobject} o
un @code{inlinemediaobject}, y hay un elemento @code{textobject}
que lleva el @code{programlisting} en su interior.

@subheading Procesar el documento de DocBook

Al ejecutar @command{lilypond-book} sobre el archivo @file{.lyxml}
se creará un documento de DocBook válido que se puede procesar
posteriormente con la extensión @file{.xml}.  Si usa
@uref{http://@/dblatex@/.sourceforge@/.net@/,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.


@node Opciones de fragmentos de música
@section Opciones de fragmentos de música
@translationof Music fragment options

Durante los próximos párrafos, una @q{instrucción de LilyPond} se
refiere a cualquier instrucción descrita en las secciones
anteriores que se maneja por parte de @command{lilypond-book} para
que produzca un fragmento de música.  Por simplicidad, las
instrucciones de LilyPond solamente se muestran en la sintaxis de
@LaTeX{}.

Observe que la cadena de opciones se analiza de izquierda a
derecha; si una opción aparece varias veces, se toma la última
solamente.

Están disponibles las siguientes opciones para las instrucciones
de LilyPond:

@table @code
@item staffsize=@var{altura}
Establecer la altura del pentagrama como @var{altura}, medida en
puntos.

@item ragged-right
Producir líneas no justificadas por la derecha y con espaciado
natural, es decir, se añade @code{ragged-right = ##t} al fragmento
de LilyPond.  Los fragmentos de una sola línea siempre se
tipografían de forma predeterminada sin justificación por la
derecha, a no ser que se use explícitamente la opción
@code{noragged-right}.

@item noragged-right
Para fragmentos de una sola línea, permitir que la longitud del
pentagrama se amplíe hasta igualar la anchura de la línea, es
decir, se añade @code{ragged-right = ##f} al fragmento de
LilyPond.

@item line-width
@itemx line-width=@var{tamaño}\@var{unidades}
Establecer el ancho de línea como @var{tamaño}, utilizando
@var{unidades} como unidad.  @var{unidades} es una de las
siguientes cadenas: @code{cm}, @code{mm}, @code{in} o @code{pt}.
Esta opción afecta a la salida de LilyPond (esto es, a la longitud
del pentagrama del fragmento musical), no al formato del texto.

Si se usa sin ningún argumento, se establece el ancho de la línea
a un valor predeterminado (calculado con un algoritmo heurístico).

Si no se da ninguna opción @code{line-width},
@command{lilypond-book} trata de adivinar un valor predeterminado
para los entornos @code{lilypond} que no usan la opción
@code{ragged-right}.

@item papersize=@var{cadena}
Donde @var{cadena} es un tamaño del papel definido en el archivo
@file{scm/paper.scm}, es decir, @code{a5}, @code{quarto},
@code{11x17}, etc.

Los valores no definidos en el archivo @file{scm/paper.scm} se
ignoran, se emite una advertencia y el fragmento se imprime
utilizando el tamaño predeterminado @code{a4}.

@item notime
No imprimir la indicación de compás, y desactivar las indicaciones
temporales de la música (indicación del compás y líneas
divisorias).

@item fragment
Hacer que @command{lilypond-book} añada algunos códigos necesarios
para que podamos escribir simplemente, por ejemplo,

@example
c'4
@end example

@noindent
sin @code{\layout}, @code{\score}, etc.

@item nofragment
No incluir el código adicional que completa la sintaxis de
LilyPond en los fragmentos de música.  Al ser la opción
predeterminada, @code{nofragment} normalmente es redundante.

@item indent=@var{tamaño}\@var{unidades}
Establecer el sangrado del primer sistema de pentagramas como
@var{tamaño}, utilizando @var{unidades} como
unidad. @var{unidades} es una de las siguientes cadenas:
@code{cm}, @code{mm}, @code{in} o @code{pt}.  Esta opción afecta a
LilyPond, no al formato del texto.

@item noindent
Establecer el sangrado del primer sistema de la música como cero.
Esta opción afecta a LilyPond, no al formato del texto.  Puesto
que el valor predeterminado es que no haya ningún sangrado,
@code{noindent} normalmente es redundante.

@item quote
Reducir la longitud de la línea de un fragmento musical en
@math{2*0.4}@dmn{in} (pulgadas) y colocar la salida dentro de un
bloque de cita (quotation).  El valor de @q{0.4@dmn{in}} se puede
controlar con la opción @code{exampleindent}.

@item exampleindent
Establecer la longitud del sangrado que la opción @code{quote}
aplica al fragmento musical.

@item relative
@itemx relative=@var{n}
Usar el modo de octava relativa.  De forma predeterminada, las
notas se especifican con relación al Do@tie{}central.  El
argumento entero opcional especifica la octava de la nota inicial,
donde el valor predeterminado @code{1} es el Do central.  La
opción @code{relative} sólo funciona cuando está establecida la
opción @code{fragment}, de manera que @code{fragment} viene
implicada automáticamente por @code{relative}, independientemente
de la presencia de @code{fragment} o de @code{nofragment} en la
fuente.

@end table

LilyPond utiliza también @command{lilypond-book} para producir su
propia documentación.  Para hacerlo, están a nuestra disposición
ciertas opciones algo esotéricas para los fragmentos musicales.

@table @code
@item verbatim
El argumento de una instrucción de LilyPond se copia al archivo de
salida y se incluye dentro de un bloque «verbatim» o
preformateado, seguido del texto que se escriba con la opción
@code{intertext} (que no funciona aún); después se imprime la
música en sí.  Esta opción no funciona bien con
@code{\lilypond@{@}} si forma parte de un párrafo.

Si se usa la opción @code{verbatim} dentro de una instrucción
@code{lilypondfile}, es posible incluir con estilo preformateado
sólo una parte del archivo fuente.  Si el archivo de código fuente
contiene un comentario que contiene @samp{begin verbatim} (sin las
comillas), la cita del bloque de estilo preformateado empezará
después de la última vez que aparezca este comentario; de forma
similar, la cita del bloque preformateado se detendrá justo antes
de la primera vez que aparezca un comentario que contenga
@samp{end verbatim}, si lo hay.  En el siguiente ejemplo de código
fuente, la música se interpreta en el modo relativo, pero la cita
preformateada no presentará el bloque @code{relative}, es decir

@example
\relative @{ % begin verbatim
  c'4 e2 g4
  f2 e % end verbatim
@}
@end example

@noindent
se imprime como un bloque preformateado como

@example
  c4 e2 g4
  f2 e
@end example

@noindent
Si queremos traducir los comentarios y los nombres de variable en
la salida literal pero no en el código fuente, podemos establecer
el valor de la variable de entorno @code{LYDOC_LOCALEDIR} a la
ruta de un directorio; este directorio debe contener un árbol de
catálogos de mensajes @file{.mo} con @code{lilypond-doc} como
dominio.

@item texidoc
(Sólo para la salida de Texinfo.)  Si se llama a
@command{lilypond} con la opción @option{--header=@/texidoc}, y el
archivo que se procesa se llama @file{fulanito.ly}, crea un
archivo @file{fulanito.texidoc} si existe un campo @code{texidoc}
dentro del bloque @code{\header} de cabecera.  La opción
@code{texidoc} hace que @command{lilypond-book} incluya estos
archivos, añadiendo su contenido como un bloque de documentación
inmediatamente antes del fragmento musical (pero fuera del entorno
@code{example} generado por la opción @code{quote}).

Suponiendo que el archivo @file{fulanito.ly} contiene

@example
\header @{
  texidoc = "Este archivo es un ejemplo de una sola nota."
@}
@{ c'4 @}
@end example

@noindent
y que tenemos lo siguiente en nuestro documento de Texinfo
@file{prueba.texinfo}

@example
@@lilypondfile[texidoc]@{fulanito.ly@}
@end example

@noindent
la siguiente orden da como salida el resultado esperado:

@example
lilypond-book --pdf --process="lilypond \
  --header=texidoc" test.texinfo
@end example

La mayoría de los documentos de prueba de LilyPond (en el
directorio @file{input} de la distribución) son pequeños archivos
@file{.ly} que tienen exactamente este aspecto.

Por motivos de localización de idioma, si el documento de Texinfo
contiene @code{@@documentlanguage @var{LANG}} y la cabecera de
@file{loquesea.ly} contiene un campo @code{texidoc@var{LANG}}, y
@command{lilypond} se ejecuta con
@option{--header=@/texidoc@var{LANG}}, entonces se incluirá
@file{loquesea.texidoc@var{LANG}} en lugar de
@file{loquesea.texidoc}.

@item doctitle
(Sólo para la salida de Texinfo.) Esta opción funciona de forma
parecida a la opción @code{texidoc}: si @command{lilypond} se
llama con la opción @option{--header=@/doctitle}, y el archivo que
procesar se llama @file{loquesea.ly} y contiene un campo
@code{doctitle} en el bloque @code{\header}, crea un archivo
@file{loquesea.doctitle}.  Cuando se usa la opción
@code{doctitle}, el contenido de @file{loquesea.doctitle}, que
debería ser una línea única de @var{texto}, se inserta en el
documento de Texinfo como @code{@@lydoctitle @var{texto}}.
@code{@@lydoctitle} debe ser un macro definido en el documento de
Texinfo.  La misma indicación referida al procesado de
@code{texidoc} con idiomas localizados se aplica a
@code{doctitle}.

@item nogettext
(Sólo para la salida de Texinfo.) No traducir los comentarios y
nombres de variable en el fragmento de código literal citado.

@item printfilename
Si un archivo de entrada de LilyPond se incluye con
@code{\lilypondfile}, imprimir el nombre del archivo
inmediatamente antes del fragmento musical.  Para la salida HTML,
esto es un enlace.  Sólo se imprime el nombre base del archivo, es
decir, se elimina la parte del directorio de la ruta del archivo.

@end table


@node Invocar lilypond-book
@section Invocar @command{lilypond-book}
@translationof Invoking lilypond-book

@command{lilypond-book} produce un archivo con una de las
siguientes extensiones: @file{.tex}, @file{.texi}, @file{.html} o
@file{.xml}, dependiendo del formato de salida.  Todos los
archivos @file{.tex}, @file{.texi} y @file{.xml} necesitan un
procesado posterior.

@subheading Instrucciones específicas de formato

@subsubheading @LaTeX{}

Hay dos formas de procesar el documento en @LaTeX{} para su
impresión o publicación: hacer un archivo PDF directamente con
PDF@LaTeX{}, o generar un archivo PostScript con @LaTeX{} a través
de un traductor de DVI a PostScript como @command{dvips}.  la
primera forma es más sencilla y es la que se
recomienda@footnote{Observe que PDF@LaTeX{} y @LaTeX{} podrían no
ser utilizables para compilar cualquier documento @LaTeX{}, y es
por lo que explicamos las dos formas.}, y cualquiera que sea el
método que utilice, podrá convertir fácilmente entre PostScript y
PDF con herramientas como @command{ps2pdf} y @command{pdf2ps} que
vienen incluidas con Ghostscript.

Para producir un archivo PDF por medio de PDF@LaTeX{}, utilice:

@example
lilypond-book --pdf miarchivo.pdftex
pdflatex miarchivo.tex
@end example

@cindex tipografías de outline
@cindex type1, tipografías
@cindex dvips
@cindex invocación de dvips

Para producir una salida PDF por medio de
@LaTeX{}/@command{dvips}/@command{ps2pdf}:

@example
lilypond-book miarchivo.lytex
latex miarchivo.tex
dvips -Ppdf miarchivo.dvi
ps2pdf miarchivo.ps
@end example

@noindent
El archivo @file{.dvi} creado por este proceso no contiene las
cabezas de las notas.  Esto es normal; si sigue las instrucciones,
las cabezas aparecerán en los archivos @file{.ps} y @file{.pdf}.

La ejecución de @command{dvips} puede dar como resultado algunas
advertencias sobre las fuentes tipográficas; son inocuas y se
pueden ignorar.  Si está ejecutando @command{latex} en modo de dos
columnas, recuerde añadir @option{-t landscape} a las opciones de
@command{dvips}.

Entornos tales como:

@example
\begin@{lilypond@} @dots{} \end@{lilypond@}
@end example

@noindent
no se interpretan por parte de @LaTeX{}.  En su lugar, el programa
@code{lilypond-book} extrae estos @q{entornos} como archivos
independientes y ejecuta LilyPond sobre ellos.  Después, toma las
imágenes resultantes y crea un archivo @file{.tex} en el que los
macros @code{\begin@{lilypond@}}@dots{}@code{\end@{lilypond@}} se
sustituyen por instrucciones de @q{inserción de gráficos}.  A
continuación, se ejecuta @LaTeX{} (aunque @LaTeX{} se ha ejecutado
anteriormente, lo habrá sido sobre un archivo @q{vacío} para
calcular cosas como el @code{\linewidth}).

@knownissues

La instrucción @code{\pageBreak} no funciona dentro de un entorno
@code{\begin@{lilypond@} @dots{} \end@{lilypond@}}.

Muchas variables del bloque @code{\paper} tampoco funcionan dentro
de un entorno @code{\begin@{lilypond@} @dots{} \end@{lilypond@}}.
Use @code{\newcommand} con @code{\betweenLilyPondSystem} en el
preámbulo:

@example
\newcommand@{\betweenLilyPondSystem@}[1]@{\vspace@{36mm@}\linebreak@}
@end example


@subsubheading Texinfo

Para producir un documento de Texinfo (en cualquier formato de
salida), siga el procedimiento normal para Texinfo, esto es: o
bien llame a @command{texi2pdf} o a @command{texi2dvi} o a
@command{makeinfo}, según el formato de la salida que quiera
crear.
@ifinfo
@xref{Format with texi2dvi, , , texinfo, GNU Texinfo}, y
@ref{Creating an Info File, , , texinfo, GNU Texinfo}.
@end ifinfo
@ifnotinfo
Consulte la documentación de Texinfo para ver más detalles.
@end ifnotinfo


@subheading Opciones de la línea de órdenes

@command{lilypond-book} acepta las siguientes opciones de la línea
de órdenes:

@table @code
@item -f @var{formato}
@itemx --format=@var{formato}
Especificar el tipo del documento que se va a procesar:
@code{html}, @code{latex}, @code{texi} (predeterminado) o
@code{docbook}.  Si falta esta opción, @command{lilypond-book}
tratará de detectar el formato automáticamente, véase
@ref{Extensiones de nombres de archivo}. Por el momento,
@code{texi} es lo mismo que @code{texi-html}.

@c This complicated detail is not implemented, comment it out -jm
@ignore
The @code{texi} document type produces a Texinfo file with music
fragments in the printed output only.  For getting images in the HTML
version, the format @code{texi-html} must be used instead.
@end ignore

@item -F @var{filtro}
@itemx --filter=@var{filtro}
Conducir los fragmentos a través de @var{filter} por medio de una
tubería.  @code{lilypond-book} no obedecerá --filter y --process
al mismo tiempo.  Por ejemplo,

@example
lilypond-book --filter='convert-ly --from=2.0.0 -' mi-libro.tely
@end example

@item -h
@itemx --help
Imprimir un breve mensaje de ayuda.

@item -I @var{directorio}
@itemx --include=@var{directorio}
Añadir @var{directorio} a la ruta de inclusión.
@command{lilypond-book} busca también los fragmentos ya compilados
en la ruta de inclusión, y no los vuelve a escribir en el
directorio de salida, así que en ciertos casos es necesario
invocar instrucciones de procesado posteriores como
@command{makeinfo} o @command{latex} con las mismas opciones
@option{-I @var{directorio}}.

@item -l @var{nivel_de_registro}
@itemx --loglevel=@var{nivel_de_registro}
Fijar el nivel en que la salida es prolija, al valor
@var{nivel_de_registro}. Los valores posibles son @code{NONE}
(nada), @code{ERROR} (errores), @code{WARNING} (advertencias),
@code{PROGRESS} (avance; predeterminado) y @code{DEBUG}
(depuración). Si esta opción no se utiliza, y la variable de
entorno @code{LILYPOND_BOOK_LOGLEVEL} está establecida, se usa su
valor como el nivel de registro.

@item -o @var{directorio}
@itemx --output=@var{directorio}
Colocar los archivos generados en el @var{directorio}.  La
ejecución de @command{lilypond-book} genera montañas de pequeños
archivos que luego procesará LilyPond.  Para evitar toda esta
parafernalia en el mismo directorio que la fuente, utilice la
opción @option{--output}, y cambie a este directorio antes de
ejecutar @command{latex} o @command{makeinfo}.

@example
lilypond-book --output=out miarchivo.lytex
cd out
@dots{}
@end example

@item --skip-lily-check
Evitar el fracaso si no se encuentra ninguna salida de lilypond.
Se usa para la documentación de LilyPond en formato Info sin
imágenes.

@item --skip-png-check
Evitar el fracaso si no se encuentran las imágenes PNG de los
archivos EPS.  Se usa para la documentación de LilyPond en formato
Info sin imágenes.

@item --lily-output-dir=@var{directorio}
Escribir archivos lily-XXX en el directorio @var{directorio},
enlazar en el directorio de @option{--output}.  Use esta opción
para ahorrar tiempo de construcción para documentos de distintos
directorios que comparten muchos fragmentos idénticos de código.

@item --lily-loglevel=@var{nivel_de_registro}
Fijar el nivel en que la salida es prolija para las llamadas de la
instrucción invocada @command{lilypond}, al valor
@var{nivel_de_registro}.  Los valores posibles son @code{NONE}
(nada), @code{ERROR} (errores), @code{WARNING} (advertencias),
@code{BASIC_PROGRESS} (avance básico), @code{PROGRESS} (avance),
@code{INFO} (información; predeterminado) y @code{DEBUG}
(depuración). Si no se utiliza esta opción y la variable de
entorno @code{LILYPOND_LOGLEVEL} está establecida, su valor se usa
como nivel de registro.


@item --info-images-dir=@var{directorio}
Dar formato a la salida de Texinfo de manera que Info busque las
imágenes de música en @var{directorio}.

@item --latex-program=@var{prog}
Ejecutar el programa @command{prog} en vez de @command{latex}.
Esto es útil si nuestro documento se procesa con
@command{xelatex}, por ejemplo.

@item --left-padding=@var{cantidad}
Rellenar las cajas EPS en esta medida, alrededor. @var{cantidad}
se mide en milímetros, y es 3.0 como valor predeterminado.  Esta
opción se debe usar si las líneas de música están muy pegadas al
margen derecho.

El ancho de un sistema que está muy ajustado dentro de su
rectángulo puede variar, debido a los elementos de notación que
están pegados al margen izquierdo, como los números de compás y el
nombre del instrumento.  Esta opción acorta todas las líneas y las
mueve a la derecha en la misma medida.

@item -P @var{instrucción}
@itemx --process=@var{instrucción}
Procesar los fragmentos de LilyPond utilizando @var{instrucción}.
La instrucción predeterminada es @code{lilypond}.
@code{lilypond-book} no obedecerá a @option{--filter} y a
@option{--process} al mismo tiempo.

@item --pdf
Crear archivos PDF para su uso con PDF@LaTeX{}.

@item --redirect-lilypond-output
De forma predeterminada, la salida se imprime por la consola.
Esta opción redirecciona toda la salida hacia archivos de registro
situados en el mismo directorio que los archivos fuente.

@item --use-source-file-names
Escribir los archivos de salida de los fragmentos de música con el
mismo nombre de base que su archivo fuente.  Esta opción sólo
funciona para fragmentos incluidos con @code{lilypondfile} y sólo
si los directorios determinados por las opciones
@option{--output-dir} y @option{--lily-output-dir} son distintos.

@item -V
@itemx --verbose
Ser prolijo.  Equivale a @code{--loglevel=DEBUG}.

@item -v
@itemx --version
Imprimir la información de la versión.
@end table

@knownissues

La instrucción de Texinfo @code{@@pagesizes} no se interpreta.  De
forma similar, las instrucciones de @LaTeX{} que cambian los
márgenes y anchos de línea después del preámbulo se ignoran.

Sólo se procesa el primer @code{\score} de un bloque LilyPond.


@node Extensiones de nombres de archivo
@section Extensiones de nombres de archivo
@translationof Filename extensions

Puede usar cualquier extensión para el nombre del archivo de
entrada, pero si no usa la extensión recomendada para un formato
en particular tendrá que especificar manualmente el formato de
salida; para ver más detalles, consulte @ref{Invocar
lilypond-book}.  En caso contrario, @command{lilypond-book}
selecciona automáticamente el formato de salida basándose en la
extensión del nombre del archivo de entrada.

@quotation
@multitable @columnfractions .2 .5
@item @strong{extensión} @tab @strong{formato de salida}
@item
@item @file{.html} @tab HTML
@item @file{.htmly} @tab HTML
@item @file{.itely} @tab Texinfo
@item @file{.latex} @tab @LaTeX{}
@item @file{.lytex} @tab @LaTeX{}
@item @file{.lyxml} @tab DocBook
@item @file{.tely} @tab Texinfo
@item @file{.tex} @tab @LaTeX{}
@item @file{.texi} @tab Texinfo
@item @file{.texinfo} @tab Texinfo
@item @file{.xml} @tab HTML
@end multitable
@end quotation

Si usa la misma extensión para el archivo de entrada que la que
usa @command{lilypond-book} para el archivo de salida, y si el
archivo de entrada está en el mismo directorio que el directorio
de trabajo de @command{lilypond-book}, debe usar la opción
@option{--output} para que funcione @command{lilypond-book}, pues
en caso contrario saldrá con un mensaje de error como @qq{La
salida sobreescribirá al archivo de entrada}.


@node Plantillas de lilypond-book
@section Plantillas de lilypond-book
@translationof lilypond-book templates

Estas plantillas se usan para @code{lilypond-book}.  Si no está
familiarizado con este programa, consulte
@rprogram{lilypond-book}.

@subsection LaTeX

Podemos insertar fragmentos de LilyPond dentro de un documento de
LaTeX.

@example
\documentclass[]@{article@}

\begin@{document@}

Texto normal en LaTeX.

\begin@{lilypond@}
\relative @{
  a'4 b c d
@}
\end@{lilypond@}

Más texto en LaTeX, y las opciones dentro de los corchetes.

\begin@{lilypond@}[fragment,relative=2,quote,staffsize=26,verbatim]
d4 c b a
\end@{lilypond@}
\end@{document@}
@end example

@subsection Texinfo

Podemos insertar fragmentos de LilyPond dentro de Texinfo; de
hecho, todo el presente manual está escrito en Texinfo.

@example
\input texinfo @c -*-texinfo-*-
@@node Top
@@top

Texto en Texinfo

@@lilypond
\relative @{
  a4 b c d
@}
@@end lilypond

Más texto en Texinfo, y las opciones dentro de los corchetes.

@@lilypond[verbatim,fragment,ragged-right]
d4 c b a
@@end lilypond

@@bye
@end example


@subsection html

@example
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<body>

<p>
Los documentos para lilypond-book pueden mezclar música y texto libremente.  Por
ejemplo,
<lilypond>
\relative @{
  a'4 b c d
@}
</lilypond>
</p>

<p>
Otro poco de lilypond, esta vez con opciones:

<lilypond fragment quote staffsize=26 verbatim>
a4 b c d
</lilypond>
</p>

</body>
</html>


@end example

@subsection xelatex

@verbatim
\documentclass{article}
\usepackage{ifxetex}
\ifxetex
%xetex specific stuff
\usepackage{xunicode,fontspec,xltxtra}
\setmainfont[Numbers=OldStyle]{Times New Roman}
\setsansfont{Arial}
\else
%Esto se puede dejar vacío si no vamos a utilizar pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}%Times
\usepackage{helvet}%Helvetica
\fi
%Aquí insertamos todos los paquetes que pdftex también entiende
\usepackage[ngerman,finnish,english]{babel}
\usepackage{graphicx}

\begin{document}
\title{Un documento breve con LilyPond y xelatex}
\maketitle

Las instrucciones \textbf{font} normales dentro del \emph{texto}
funcionan, porque \textsf{están contempladas por \LaTeX{} y
XeteX.}  Si queremos usar instrucciones específicas como
\verb+\XeTeX+, debemos incluirlas de nuevo dentro de un entorno
\verb+\ifxetex+.  Podemos utilizar esto para imprimir la
instrucción \ifxetex \XeTeX{} \else XeTeX \fi que no es conocida
para el \LaTeX\ normal.

Dentro del texto normal podemos utilizar instrucciones de LilyPond
fácilmente, de esta forma:

\begin{lilypond}
{a2 b c'8 c' c' c'}
\end{lilypond}

\noindent
y así sucesivamente.

La fuente tipográfica de los fragmentos, establecida con LilyPond,
tendrá que establecerse desde dentro del fragmento. Para esto
puede leer la parte de lilypond-book en el manual de utilización.

\selectlanguage{ngerman}
Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
anderen
seltsamen Zeichen: __ ______, wenn sie von der Schriftart
unterst__tzt werden.
\end{document}
@end verbatim


@node Compartir el índice general
@section Compartir el índice general
@translationof Sharing the table of contents

Estas funciones ya existen en el paquete OrchestralLily:

@example
@url{https://repo.or.cz/w/orchestrallily.git}
@end example

Para conseguir más flexibilidad en el manejo del texto, algunos
usuarios prefieren exportar la el índice general o tabla de
contenidos desde lilypond y leerla dentro de @LaTeX{}.

@subsubheading Exportación del índice general desde LilyPond

Esto supone que nuestra partitura tiene varios movimientos dentro
del mismo archivo de salida de lilypond.

@smallexample
#(define (oly:create-toc-file layout pages)
  (let* ((label-table (ly:output-def-lookup layout 'label-page-table)))
    (if (not (null? label-table))
      (let* ((format-line (lambda (toc-item)
             (let* ((label (car toc-item))
                    (text  (caddr toc-item))
                    (label-page (and (list? label-table)
                                     (assoc label label-table)))
                    (page (and label-page (cdr label-page))))
               (format #f "~a, section, 1, @{~a@}, ~a" page text label))))
             (formatted-toc-items (map format-line (toc-items)))
             (whole-string (string-join formatted-toc-items ",\n"))
             (output-name (ly:parser-output-name))
             (outfilename (format #f "~a.toc" output-name))
             (outfile (open-output-file outfilename)))
        (if (output-port? outfile)
            (display whole-string outfile)
            (ly:warning (G_ "Unable to open output file ~a for the TOC information") outfilename))
        (close-output-port outfile)))))

\paper @{
  #(define (page-post-process layout pages) (oly:create-toc-file layout pages))
@}
@end smallexample

@subsubheading Importación del índice general dentro de LaTeX

En LaTeX, la cabecera debe incluir lo siguiente:

@c no, this doesn't require the smallexample, but since the other
@c two blocks on this page use it, I figured I might as well
@c user it here as well, for consistency. -gp
@smallexample
\usepackage@{pdfpages@}
\includescore@{nombredelapartitura@}
@end smallexample

@noindent
donde @code{\includescore} está definido como:

@smallexample
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \includescore@{PossibleExtension@}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Leer las entradas del índice general para un archivo PDF
% a partir del archivo .toc correspondeiente.
% Esto requiere bastantes trucos de latex, porque leer cosas de un archivo
% e insertarlo dentro de los argumentos de un macro no es posible
% fácilmente.

% Solución de Patrick Fimml en el canal #latex el 18 de abril de 2009:
% \readfile@{filename@}@{\variable@}
% lee el contenido del archivo en \variable (no definida si el
% archivo no existe)
\newread\readfile@@f
\def\readfile@@line#1@{%
@{\catcode`\^^M=10\global\read\readfile@@f to \readfile@@tmp@}%
\edef\do@{\noexpand\g@@addto@@macro@{\noexpand#1@}@{\readfile@@tmp@}@}\do%
\ifeof\readfile@@f\else%
\readfile@@line@{#1@}%
\fi%
@}
\def\readfile#1#2@{%
\openin\readfile@@f=#1 %
\ifeof\readfile@@f%
\typeout@{No TOC file #1 available!@}%
\else%
\gdef#2@{@}%
\readfile@@line@{#2@}%
\fi
\closein\readfile@@f%
@}%


\newcommand@{\includescore@}[1]@{
\def\oly@@fname@{\oly@@basename\@@ifmtarg@{#1@}@{@}@{_#1@}@}
\let\oly@@addtotoc\undefined
\readfile@{\oly@@xxxxxxxxx@}@{\oly@@addtotoc@}
\ifx\oly@@addtotoc\undefined
\includepdf[pages=-]@{\oly@@fname@}
\else
\edef\includeit@{\noexpand\includepdf[pages=-,addtotoc=@{\oly@@addtotoc@}]
@{\oly@@fname@}@}\includeit
\fi
@}
@end smallexample


@node Métodos alternativos para mezclar texto y música
@section Métodos alternativos para mezclar texto y música
@translationof Alternate methods of mixing text and music

Otras formas de mezclar texto y música (sin
@command{lilypond-book}) se estudian en @ref{Otros programas}.
