Attribution de propriétés
Les arguments layout
et props
d’une commande de
markup fournissent un contexte à l’interprétation du
markup : taille de fonte, longueur de ligne, etc.
L’argument layout
permet d’accéder aux propriétés définies dans
les blocs \paper
, grâce à la fonction
ly:output-def-lookup
. Par exemple, la longueur de ligne,
identique à celle de la partition, est lue au travers de
(ly:output-def-lookup layout 'line-width)
L’argument props
rend certaines propriétés accessibles aux
commandes de markup. Il en va ainsi lors de l’interprétation d’un
markup de titre d’ouvrage : toutes les variables définies dans le
bloc \header
sont automatiquement ajoutées aux props
, de
telle sorte que le markup de titrage de l’ouvrage pourra accéder
aux différents champs titre, compositeur, etc. Ceci permet aussi de
configurer le comportement d’une commande de markup : la taille
des fontes, par exemple, est lue à partir de props
plutôt que
grâce à un argument font-size
. La fonction appelant une commande
de markup peut altérer la valeur de la propriété taille des
fontes et donc en modifier le comportement. L’utilisation du mot-clé
#:properties
, attaché à define-markup-command
, permet de
spécifier les propriétés devant être lues parmi les arguments
props
.
L’exemple proposé à la rubrique suivante illustre comment, au sein d’une commande de markup, accéder aux différentes propriétés et les modifier.