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
Nous pouvons donc par exemple accroître l’épaisseur des hampes en jouant
sur la propriété thickness
de l’objet stem
:
c''4 c'' \override Voice.Stem.thickness = #3.0 c''4 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 << \relative { e''4 e \override Stem.thickness = #0.5 e4 e } \\ \relative { c''4 c c c } >>
Certaines « sous-propriétés » sont parfois contenues dans une propriété. La commande devient alors :
\override Stem.details.beamed-lengths = #'(4 4 3)
ou, pour modifier les extrémités d’un objet à extension :
\override TextSpanner.bound-details.left.text = "texte de gauche" \override TextSpanner.bound-details.right.text = "texte de droite"
Les effets d’un \override
prennent fin à l’aide de l’instruction
\revert
.
La syntaxe de la commande \revert
command est :
\revert [contexte.]NomObjet.propriété
Par exemple :
\relative { c''4 \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é :
<< \relative { e''4 \override Staff.Stem.thickness = #3.0 e4 e e } \\ \relative { c''4 c c \revert Staff.Stem.thickness c4 } >>
Les instructions \override
et \revert
doivent être
précédées d’un \once
dès lors que les effets de
l’accommodement ne concernent que l’événement qui les suit directement :
<< \relative c { \override Stem.thickness = #3.0 e''4 e e e } \\ \relative { c''4 \once \override Stem.thickness = #3.0 c4 c c } >>
Voir aussi
Référence des propriétés internes : Backend.