5.3.3 La commande de dérogation \override
La commande \override
permet de modifier la mise en forme des
objets graphiques. Les descriptions d’objet graphique, dont les noms
commencent par une majuscule, puis comprennent une ou plusieurs
majuscules (de style TotoTata
), contiennent les réglages « par
défaut » pour les objets graphiques. Ces réglages sont sous forme de
liste Scheme ; on peut les consulter dans le fichier
‘scm/define-grobs.scm’.
\override
est en fait un raccourci :
\override contexte.NomObjet #'propriété = #valeur
plus ou moins équivalent à
\set contexte.NomObjet = #(cons (cons 'propriété valeur) <valeur antérieure de contexte.NomObjet>)
La valeur de contexte.NomObjet (une liste associative, ou
alist) permet d’initialiser les propriétés des objets un par un.
Les objets eux-mêmes ont leurs propriétés, dont les noms, dans la
tradition du langage Scheme, comprennent un trait d’union
(toto-titi
). Ces propriétés internes changent constamment au
cours de la mise en page : en fait, la gravure d’une page n’est autre
que le calcul de toutes ces propriétés au moyen de fonctions de rappel.
Nous pouvons donc par exemple accroître l’épaisseur des hampes en jouant
sur la propriété thickness
de l’objet stem
:
c4 c \override Voice.Stem #'thickness = #3.0 c4 c
Lorsqu’aucun contexte n’est spécifié dans une clause \override
,
celle-ci s’appliquera au contexte le plus bas :
{ \override Staff.Stem #'thickness = #3.0 << { e4 e \override Stem #'thickness = #0.5 e4 e } \\ { c4 c c c } >> }
Les effets d’un \override
prennent fin à l’aide de l’instruction
\revert
:
c4 \override Voice.Stem #'thickness = #3.0 c4 c \revert Voice.Stem #'thickness c4
Les effets d’un \override
ou d’un \revert
s’appliquent dès
l’endroit où ils apparaissent, et à tous les objets dans le contexte
mentionné :
{ << { e4 \override Staff.Stem #'thickness = #3.0 e4 e e } \\ { c4 c c \revert Staff.Stem #'thickness c4 } >> }
L’instruction \override
doit être précédée d’un \once
dès
lors que les effets de l’accommodement ne concernent que l’événement qui
la suit directement :
{ << { \override Stem #'thickness = #3.0 e4 e e e } \\ { c4 \once \override Stem #'thickness = #3.0 c4 c c } >> }
Voir aussi
Référence des propriétés internes : Backend
Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.