3.1.5 Structure de fichier
Un fichier .ly
peut contenir un certain nombre d’expressions de
haut niveau. Les expressions de haut niveau sont les suivantes :
-
Une définition de sortie, comme
\paper
,\midi
et\layout
. Ces définitions, lorsqu’elles se trouvent à un niveau supérieur, s’appliqueront à l’intégralité de l’ouvrage. Si l’une de ces expression apparaît à plusieurs reprises à un niveau supérieur, les différents contenus seront combinés, à ceci près qu’en cas de déclarations conflictuelles, la dernière aura préséance. Des informations complémentaires sont disponibles à la rubrique Le bloc\layout
. -
Une expression Scheme pure, telle que
#(set-default-paper-size "a7" 'landscape)
ou#(ly:set-option 'point-and-click #f)
. -
Un bloc
\header
, dont le contenu sera de portée globale – ce qui est le cas en général pour le titre ou l’auteur entre autres. -
Un bloc
\score
pour la partition. Cette partition sera assemblée avec les autres partitions se trouvant au même niveau pour composer le\book
. Vous pouvez modifier ce comportement à l’aide de la variabletoplevel-score-handler
placée en tête. -
Un bloc
\book
permet de regrouper naturellement plusieurs mouvements – autrement dit plusieurs blocs\score
– dans un même document. Lorsqu’il y a plusieurs\score
, LilyPond génère un seul fichier dans lequel les mouvements sont mis les uns à la suite des autres, ce pour chacun des blocs\book
rencontrés. La seule raison qui peut vous demander d’expliciter plusieurs blocs\book
dans un fichier ‘.ly’ est lorsque vous avez besoin de générer différents documents à partir d’une même source. La présence explicite d’un bloc\book
est aussi nécessaire lorsque vous travaillez sur un document lilypond-book qui reprendrait plusieurs\score
ou\markup
dans un même extrait. Vous pouvez modifier ce comportement à l’aide de la variabletoplevel-book-handler
placée en tête. -
Un bloc
\bookpart
. Un ouvrage peut se découper en plusieurs parties à l’aide de blocs\bookpart
, aussi bien pour alléger le travail de l’algorithme de calcul des sauts de page, que si les réglages du bloc\paper
diffèrent d’une partie à l’autre. -
Une expression musicale telle que
{ c'4 d' e'2 }
Ce bout de code sera placé dans un
\score
et intégré à l’ouvrage en même temps que tous les autres\score
ou expressions musicales. En d’autres termes, un fichier qui ne contiendrait que cette simple expression musicale sera traduit en\book { \score { \new Staff { \new Voice { { c'4 d' e'2 } } } \layout { } } \paper { } \header { } }
Vous pouvez modifier ce comportement à l’aide de la variable
toplevel-music-handler
placée en tête. -
Du texte sous forme de markup comme les paroles d’un couplet
\markup { 2. Le première ligne du deuxième couplet. }
De tels markups seront imprimés là où ils apparaissent, avant, après ou entre les expressions musicales.
-
Une variable, ou identificateur, telle que
toto = { c4 d e d }
Vous pourrez la réutiliser plus loin dans votre fichier en saisissant simplement
\toto
. Le nom des identificateurs ne doit être formés que de caractères alphabétiques – sans chiffre ni caractère souligné ou tiret.
Voici trois éléments que vous pouvez placer à un niveau supérieur :
\layout { % pas en pleine largeur ragged-right = ##t } \header { title = "Do-re-mi" } { c'4 d' e2 }
Vous pouvez placer, n’importe où dans votre fichier, les instructions suivantes :
-
\version
-
\include
-
\sourcefilename
-
\sourcefileline
-
Une ligne de commentaire, introduite par le signe
%
. -
Un bloc de commentaire, délimité par
%{ .. %}
.
Vous pouvez insérer des espaces dans votre fichier source afin de lui apporter une meilleure lisibilité. Les espaces superflus sont normalement ignorés. Notez cependant qu’il est des cas où l’espace est requis pour éviter tout risque d’erreur :
- Autour d’une accolade, qu’elle soit ouvrant ou fermante ;
-
Après chaque commande ou variable, autrement dit tout élément qui
commence par un
\
; -
Après tout élément qui sera interprété comme une expression Scheme,
autrement dit tout élément qui commence par un
#
; - Pour séparer les éléments d’une expression Scheme ;
-
En mode parole –
lyricmode
– pour séparer les termes des commandes\override
et\set
. Précisons à ce sujet qu’en plus d’ajouter une espace avant et après l’intégralité de la commande, vous devrez encadrer d’espaces le point et le signe égal qu’elle peut contenir, comme dans\override Score . LyricText #'font-size = #5
.
Voir aussi
Manuel d’initiation : Organisation des fichiers LilyPond.
Manuel de notation :
Le bloc \layout
.
Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.