3.3.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.


LilyPond — Manuel de notation v2.23.4 (branche de développement).