Suivant : Retouches complexes, Précédent : Utilisation de code Scheme au lieu de \"tweak\", Haut : La commande override
\set
vs. \override
Si les propriétés peuvent être modifiées de deux façons, par les commandes
\set
et \override
, c'est qu'il y a deux types de propriétés.
Les contextes peuvent avoir des propriétés, dont les noms commencent par une
minuscule puis comprennent une ou plusieurs majuscules (de style
totoTutu
). Elles ont surtout trait
à la notation des éléments musicaux : par exemple, localKeySignature
permet
de choisir s'il faut ou non imprimer une altération, ou measurePosition
permet
de choisir quand il faut imprimer une barre de mesure. Ces propriétés de contextes
sont appelées à changer au long de l'interprétation de la partition :
measurePosition
en est un exemple évident. Ces propriétés doivent
être modifiées avec la commande \set
.
Il existe un type particulier de propriétés : les descriptions
d'éléments. Ces propriétés, 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.
Les descriptions d'éléments doivent être modifiées avec la commande \override
.
\override
est en fait un raccourci :
\override contexte.objet #'propriété = #valeur
est plus ou moins l'équivalent de
\set contexte.objet #'propriété = #(cons (cons 'propriété valeur) <valeur précédente de contexte)
La valeur de context
(la liste Scheme, ou ‘alist’) sert à initialiser
les propriétés des objets un par un. Les objets eux-même 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.
La propriété fontSize
est une exception : c'est un raccourci, qui équivaudrait
à saisir \override ... #'font-size
pour tous les objets
textuels. Dans la mesure où il s'agit d'une manipulation très
courante, une propriété spéciale a été créée. Elle doit
être modifiée avec la commande \set
.
Cette page documente LilyPond-2.11.58 (branche de développement).
Rapportez toute anomalie en français à lilypond-user-fr@gnu.org ou en anglais à http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs
Vos suggestions à propos de la documentation sont les bienvenues.