3.3.1 Inclusió de fitxers del LilyPond
Un projecte gran es pot dividir en diversos fitxers. Per referir-se a un altre fitxer, utilitzeu
\include "unaltrefitxer.ly"
La línia \include "unaltrefitxer.ly"
equival a enganxar el
contingut de unaltrefitxer.ly al fitxer actual al lloc en el
qual apareix l’\include
. Por exemple, a un projecte gran
podríem voler fitxer diferents per a cada part instrumental i
crear un fitxer de “partitura completa” que reuneix els fitxers
individuals dels instruments. Normalment el fitxer inclòs
defineix un cert nombre de variables que a partir d’aleshores
queden disponibles per poder-les utilitzar al fitxer de la
partitura completa. Als fitxers inclosos es poden marcar les
seccions etiquetades per ajudar a fer-les utilitzables a diferents
llocs de la partitura. Vegeu
Diferents edicions a partir d’una mateixa font.
Els fitxers que estan al directori de treball actual es poden
referenciar simplement especificant el nom després de l’ordre
\include
. Els fitxers a d’altres llocs es poden incloure
proporcionant una referència de ruta completa o una ruta relativa
(però utilitzeu la barra inclinada normal de l’UNIX, /, no la
barra invertida de DOS/Windows, \, com a separador de directori).
Per exemple, si material.ly està ubicat un directori per
sobre del directori de treball actual, utilitzeu
\include "../material.ly"
o si els fitxers de les parts orquestrals incloses estan tots situats en un subdirectori anomenat parts dins del directori actual, useu
\include "partes/VI.ly" \include "partes/VII.ly" … etc.
Els fitxers d’inclusió també poden contenir enunciats
\include
al seu cop. De forma predeterminada, aquests
enunciats \include
de segon nivell no s’interpreten fins
que s’incorporen al fitxer principal, per la qual cosa els noms de
fitxer que especifiquen han de ser relatius al directori que conté
el fitxer principal, no al directori que conté el fitxer inclòs.
Malgrat això, aquest comportament es pot modificar globalment
passant l’opció -drelative-includes a la línia d’ordres
(o mitjançant l’addició de
#(ly:set-option 'relative-includes #t)
al principi del
fitxer principal d’entrada).
Quan relative-includes
està establert al valor
#t
, la ruta de cada ordre \include
es considera
relativa al fitxer que conté aquesta ordre. Aquest comportament
és el recomanat i es convertirà en el comportament predeterminat a
una versió futura del LilyPond.
Tant els fitxers relatius al directori principal com els fitxers
relatius a algun altre directori es poden incloure
(\include
) mitjançant l’establiment de
relative-includes
al valor #t
o a #f
als
llocs apropiats dins dels fitxers. Per exemple, si s’ha creat una
biblioteca genèrica, libA, que al seu cop utilitza sub-fitxers que
s’inclouen (\include
) per mitjà del fitxer d’entrada
d’aquesta biblioteca, aquestes instruccions \include
hauran
d’anar precedides per #(ly:set-option
#relative-includes #t)
de manera que s’interpretin correctament
en construir el fitxer d’entrada .ly
principal, d’aquesta
forma:
libA/ libA.ly A1.ly A2.ly …
aleshores el fitxer d’entrada, libA.ly
, conté
#(ly:set-option 'relative-includes #t) \include "A1.ly" \include "A2.ly" … % retorn a l'ajustament predeterminat #(ly:set-option 'relative-includes #f)
Qualsevol fitxer .ly pot aleshores incloure la biblioteca completa, simplement amb
\include "~/libA/libA.ly"
Es poden utilitzar estructures de fitxer més complexes instant els canvis als llocs adequats.
També es poden incloure fitxers d’un directori que està a una ruta de cerca especificada com opció en invocar al LilyPond des de la línia d’ordres. Els fitxers inclosos s’especifiquen usant sols el seu nom de fitxer. Per exemple, per compilar mitjançant aquest mètode un fitxer principal.ly que inclou fitxers situats a un subdirectori anomenat parts, canvieu el directori que conté principal.ly e introduïu
lilypond --include=parts principal.ly
i a principal.ly escriviu
\include "VI.ly" \include "VII.ly" … etc.
Els fitxers que s’inclouen a moltes partitures es poden posar al
directori del LilyPond ../ly (la localització d’aquest
directori depèn de la instal·lació: vegeu
Altres fonts d’informació). Aquests fitxers es poden
incloure senzillament pel seu nom a una ordre \include
.
D’aquesta forma s’inclouen els fitxers dependents de la llengua
com catala.ly.
El LilyPond inclou de forma predeterminada certes fitxers quan
s’inicia el programa. Aquestes inclusions no són visibles per a
l’usuari, però els fitxers es poden identificar executant
lilypond --verbose
des de la línia d’ordres. Això
presentarà una llista de rutes i fitxers que fa servir el
LilyPond, junt amb moltes altres indicacions. De forma
alternativa, poden veure’s explicacions sobre els fitxers més
importants d’aquest conjunt a
Altres fonts d’informació. Aquests fitxers es poden
editar, però els canvis realitzats sobre ells es perdran en
instal·la una nova versió del LilyPond.
Es poden veure exemples senzills sobre l’ús de \include
a
en Partitures i particel·les.
Vegeu també
Manual d’aprenentatge Altres fonts d’informació, Partitures i particel·les.
Advertiments i problemes coneguts
Si un fitxer inclòs rep un nom igual al d’un dels fitxers d’instal·lació del LilyPond, el fitxer que té prioritat és el dels fitxers d’instal·lació del LilyPond.