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 \includear 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 \includean 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 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, deutsch, français, italiano, 日本語.
Acerca de la selección automática del idioma.

LilyPond — Referencia de la notación v2.18.2 (rama estable).