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. De forma predeterminada, estos
enunciados \include
de segundo nivel no se interpretan
hasta que se incorporan al archivo principal, por lo que los
nombres de archivo que especifican deben ser relativos al
directorio que contiene el archivo principal, no al directorio
que contiene el archivo incluido. Sin embargo, este
comportamiento se puede modificar globalmente pasando la opción
‘-drelative-includes’ en la línea de órdenes (o mediante
la adición de #(ly:set-option 'relative-includes #t)
al
principio del archivo principal de entrada).
Cuando relative-includes
está establecido al valor
#t
, la ruta de cada instrucción \include
se
considera relativa al archivo que contiene dicha instrucción.
Este comportamiento es el recomendado y se convertirá en el
comportamiento predeterminado en una versión futura de lilypond.
Tanto los archivos relativos al directorio principal como los
archivos relativos a algún otro directorio se pueden
\include
ar mediante el establecimiento de
relative-includes
al valor #t
o a #f
en los
lugares apropiados dentro de los archivos. Por ejemplo, si se ha
creado una biblioteca genérica, libA, que a su vez utiliza
sub-archivos que se \include
an por medio del archivo de
entrada de dicha biblioteca, esas instrucciones \include
tendrán que venir precedidas por #(ly:set-option
#relative-includes #t)
de manera que se interpreten
correctamente al construir el archivo de entrada .ly
principal, de esta forma:
libA/ libA.ly A1.ly A2.ly …
entonces el archivo de entrada, libA.ly
, contiene
#(ly:set-option 'relative-includes #t) \include "A1.ly" \include "A2.ly" … % vuelta al ajuste predeterminado #(ly:set-option 'relative-includes #f)
Cualquier archivo ‘.ly’ puede entonces incluir la biblioteca completa, simplemente con
\include "~/libA/libA.ly"
Se pueden usar estructuras de archivo más complejas instando los cambios en los lugares adecuados.
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.
Otros idiomas: English, català, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.