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.