3.3.1 Inclusión de archivos de LilyPond
Un proyecto grande se puede dividir en varios archivos. Para referirse a otro archivo, utilice
\include "otroarchivo.ly"
La línea \include "otroarchivo.ly"
equivale a pegar todo
el contenido de ‘otroarchivo.ly’ en el archivo actual en el
lugar en que aparece el \include
. Por ejemplo, en un
proyecto grande podríamos querer archivos distintos para cada
parte instrumental y crear un archivo de “partitura completa”
que reúne los archivos individuales de los instrumentos.
Normalmente el archivo incluido define un cierto número de
variables que a partir de entonces quedan disponibles para
poderlas utilizar en el archivo de la partitura completa. En los
archivos incluidos se pueden marcar las secciones etiquetadas
para ayudar a hacerlas utilizables en distintos lugares de la
partitura, véase Distintas ediciones a partir de una misma fuente.
Los archivos que están en el directorio de trabajo actual se
pueden referenciar simplemente especificando el nombre después de
la instrucción \include
. Los archivos en otros lugares se
pueden incluir proporcionando una referencia de ruta completa o
una ruta relativa (pero utilice la barra inclinada normal del
UNIX, /, no la barra invertida de DOS/Windows, \, como separador
de directorio). Por ejemplo, si ‘material.ly’ está situado
un directorio por encima del directorio de trabajo actual,
utilice
\include "../material.ly"
o si los archivos de las partes orquestales incluidas están todos situados en un subdirectorio llamado ‘partes’ dentro del directorio actual, use
\include "partes/VI.ly" \include "partes/VII.ly" … etc.
Los archivos de inclusión también pueden contener enunciados
\include
a su vez. Estos enunciados \include
de
segundo nivel se interpretan de manera relativa a la ruta del
archivo que contiene dicha instrucción, lo que es conveniente para
varios archivos ubicados dentro del mismo subdirectorio. Por
ejemplo, una biblioteca general, bibA, puede a su vez usar
sub-archivos que son incluidos por el archivo principal de dicha
biblioteca, así:
bibA/ bibA.ly A1.ly A2.ly …
entonces el archivo de entrada, bibA.ly
, contiene
\include "A1.ly" \include "A2.ly" …
Cualquier archivo ‘.ly’ puede entonces incluir la biblioteca completa, simplemente con
\include "~/bibA/bibA.ly"
Sin embargo, este comportamiento se puede modificar de forma
global pasando la opción ‘-drelative-includes=#f’ en la
línea de órdenes (o añadiendo #(ly:set-option
'relative-includes #f)
al principio del archivo principal de
entrada). En tal caso, cada archivo se incuirá relativamente a la
ubicación del archivo principal, sin importar dónde está situado
su instrucción \include
. Estructuras de archivo complejas
que requieren realizar la inclusión tanto de archivos relativos al
directorio principal como de archivos relativos a algún otro
directorio, pueden incluso configurarse estableciendo
relative-includes
a los valores #f
o #t
en
los lugares adecuados dentro de dichos archivos.
También se pueden incluir archivos de un directorio que está en una ruta de búsqueda especificada como opción al invocar a LilyPond desde la línea de órdenes. Los archivos incluidos se especifican usando solamente su nombre de archivo. Por ejemplo, para compilar mediante este método un archivo ‘principal.ly’ que incluye archivos situados en un subdirectorio llamado ‘partes’, cambie al directorio que contiene ‘principal.ly’ e introduzca
lilypond --include=partes principal.ly
y en ‘principal.ly’ escriba
\include "VI.ly" \include "VII.ly" … etc.
Los archivos que se incluyen en muchas partituras se pueden poner
en el directorio de LilyPond ‘../ly’ (la localización de
este directorio depende de la instalación: véase
fuentes de información
Otras fuentes de información). Estos archivos se pueden incluir
sencillamente por su nombre en un enunciado \include
. De
esta forma se incluyen los archivos dependientes del idioma como
‘espanol.ly’.
LilyPond incluye de forma predeterminada ciertos archivos cuando
se inicia el programa. Estas inclusiones no son visibles para el
usuario, pero los archivos se pueden identificar ejecutando
lilypond --verbose
desde la línea de órdenes. Esto
presentará una lista de rutas y archivos que utiliza LilyPond,
junto a muchas otras indicaciones. De forma alternativa, pueden
verse explicaciones sobre los archivos más importantes de este
conjunto en
Otras fuentes de información. Estos
archivos se pueden editar, pero los cambios realizados sobre
ellos se perderán al instalar una nueva versión de LilyPond.
Pueden verse ejemplos sencillos sobre el uso de \include
en
Partituras y particellas.
Véase también
Manual de aprendizaje: Otras fuentes de información, Partituras y particellas.
Advertencias y problemas conocidos
Si un archivo incluido recibe un nombre igual al de uno de los archivos de instalación de LilyPond, el archivo que tiene prioridad es el de los archivos de instalación de LilyPond.