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

[image of music]

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
    }
  >>
}

[image of music]

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

[image of music]

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
    }
  >>
}

[image of music]

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
    }
  >>
}

[image of music]

Voir aussi

Référence des propriétés internes : Backend


Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.

LilyPond — Manuel de notation