[ << Généralités en matière d’entrée et sortie ] | [Top][Contents][Index] | [ Gestion de l’espace >> ] |
[ < Nom des fichiers de sortie ] | [ Up : Agencement du code ] | [ Titres et entêtes > ] |
3.2.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 valide pour tout le fichier. Il comporte en général les valeurs par défaut des champs de titrage, tels le titre ou l’auteur entre autres, communs à tous les blocs\book
inclus dans le fichier – voir Généralités en matière de titrages. - 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. Le gestionnaire par défaut est défini dans le fichier d’initialisation ../scm/lily.scm, et les réglages par défaut dans le fichier ../ly/declarations-init.ly. - 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 documentlilypond-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. Le gestionnaire par défaut est défini dans le fichier d’initialisation ../scm/lily.scm. - 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. Le gestionnaire par défaut est défini dans le fichier d’initialisation ../scm/lily.scm. - 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 pas comporter de chiffre (ASCII), de succession de caractères souligné (_
) ou de tiret ni aucune espace. Tous les autres caractères Unicode sont permis, aussi bien latins, grecs, chinois que cyrilliques. Les souligné ou tiret isolés sont autorisés. Autrement dit, les variablesCorIII
ouαβγXII
sont valides.Toute combinaison de caractères est permise dès lors que le nom de la variable est borné par des guillemets informatiques. En pareil cas, les antislashes et guillemets doivent être « échappés » par un antislash. Sont donc valides :
"toto tutu"
,"a-b-c"
et"Cor 3"
.
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 ouvrante 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
– avant et après les commandes\override
et\set
.
Voir aussi
Manuel d’initiation : Organisation des fichiers LilyPond.
Manuel de notation :
Généralités en matière de titrages,
Le bloc \layout
.
[ << Généralités en matière d’entrée et sortie ] | [Top][Contents][Index] | [ Gestion de l’espace >> ] |
[ < Nom des fichiers de sortie ] | [ Up : Agencement du code ] | [ Titres et entêtes > ] |