3.4.1 Insertion de fichiers LilyPond
Lorsqu’un projet prend de l’importance en volume, il est judicieux de le scinder en plusieurs fichiers, auxquels vous ferez référence avec un simple
\include "autrefichier.ly"
Une ligne \include "autrefichier.ly"
dans un fichier revient à
recopier intégralement le contenu de ‘autrefichier.ly’ à l’endroit
même ou est placée l’instruction \include
. Vous pouvez par
exemple écrire un fichier individuel par instrument, puis les regrouper
pour former le fichier « conducteur ». Les différentes variables
définies dans les fichiers séparés seront normalement reprises et
utilisables dans le fichier formant le conducteur. Les sections
balisées dans les fichiers individuels peuvent être réutilisées en
différents endroit de la partition, comme expliqué à la rubrique
Différentes éditions à partir d’une même source.
Lorsque le fichier auquel il est fait référence se trouve dans le même
répertoire, donner seulement son nom en argument à la commande
\include
suffit. S’il se trouve ailleurs, vous devrez indiquer
le chemin d’accès, absolu ou relatif, en respectant toutefois la syntaxe
UNIX – autrement dit, le séparateur de répertoire est une oblique
normale /
et non l’oblique inverse \
de DOS ou Windows.
Par exemple, si le fichier ‘truc.ly’ se trouve dans le répertoire
supérieur au répertoire de travail, la ligne devra être
\include "../truc.ly"
ou bien, si les fichiers correspondant aux parties d’orchestre se trouvent dans le sous-répertoire ‘parties’ relativement au répertoire courant, vous devrez mentionner
\include "parties/VI.ly" \include "parties/VII.ly" etc.
Les fichiers à inclure peuvent eux-mêmes contenir des instructions
\include
. Ces instructions \include
de second niveau
seront, par défaut, interprétées par rapport à leur situation dans
l’arborescence. Tel sera, par exemple, le cas d’une biblothèque générale
libA créée pour utiliser des sous-fichiers à l’aide d’inclusions dans un
fichier catalogue, comme ici :
libA/ libA.ly A1.ly A2.ly …
puis le fichier catalogue, libA.ly
, qui contient
\include "A1.ly" \include "A2.ly" …
Tout fichier .ly
peut désormais consulter l’intégralité de cette
bibliothèque grâce à un simple
\include "~/libA/libA.ly"
Vous pouvez toutefois influer sur ce comportement de manière globale à
l’aide de l’option ‘-drelative-includes=#f’ en ligne de
commande ou en ajoutant une clause
#(ly:set-option 'relative-includes #f)
en tête du fichier
principal. En pareil cas, le chemin à suivre pour chacune des commandes
\include
sera pris relativement au fichier principal. Selon
l’endroit où relative-includes
est valorisé à #t
ou
#f
, la commande \include
permettra d’incorporer des
fichiers contenus dans l’arborescence du répertoire principal et des
fichiers situés ailleurs.
Vous pouvez inclure des fichiers dont vous spécifierez le chemin d’accès sur la ligne de commande au moment de lancer la compilation. L’appel à ces fichiers ne mentionnera alors que leur nom. Par exemple, si vous voulez compiler avec cette méthode le fichier ‘principal.ly’ qui inclut des fichiers situés dans le sous-répertoire ‘parties’, placez vous dans le répertoire contenant ‘principal.ly’, puis tapez
lilypond --include=parties principal.ly
tout en ayant bien dans ‘principal.ly’
\include "VI.ly" \include "VII.ly" etc.
Lorsqu’un fichier est voué à être inclus dans nombre de partitions, vous
pouvez le placer dans le répertoire de LilyPond ‘../ly’.
Attention : ce répertoire varie selon votre installation, comme
indiqué au chapitre
Autres sources de documentation. Ce
fichier sera inclus dès lors que vous fournirez uniquement son nom en
argument à la fonction \include
. C’est par exemple le cas du
fichier de définition particulier ‘gregorian.ly’.
Au moment où vous lancez LilyPond, un certain nombre de fichiers se
retrouvent inclus par défaut ; il suffit d’activer le mode verbeux
en faisant lilypond --verbose
pour s’en rendre compte. Vous
verrez ainsi défiler, en plus de nombreuses informations, le nom d’un
certain nombre de fichiers et de chemins d’accès. Les fichiers les plus
important sont mentionnés au chapitre
Autres sources de documentation. Si vous venez à les
modifier, rappelez-vous qu’ils seront écrasés à l’installation d’une
nouvelle version de LilyPond.
Vous trouverez quelques exemples simples d’utilisation de la commande
\include
au chapitre
Conducteurs et parties.
Voir aussi
Manuel d’initiation : Autres sources de documentation, Conducteurs et parties.
Problèmes connus et avertissements
Lorsque vous incluez un fichier qui porte le même nom que l’un des fichiers d’initialisation de LilyPond, le fichier de la distribution de LilyPond aura préséance.