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.