4.5.4.3 Espacement entre empilements adjacents
Contrairement à l’espacement au sein d’un empilement, l’espacement entre des empilements adjacents est flexible ; il s’étire ou se comprime selon la densité de la musique présente sur la ligne. Par défaut, il arrive même que, dans certaines situations, des empilements se chevauchent. L’exemple suivant illustre trois cas. La deuxième altération se déporte sous la barre de mesure, et la troisième déborde sous la clef. Par ailleurs, l’indication de tempo Presto s’étend sur plusieurs empilements. Observez comment la première altération qui, en raison de son positionnement vertical, viendrait chevaucher la barre de mesure si elle était placée aussi près que la seconde altération, en est écartée.
Ces règles d’espacement peuvent se modifier. Il faut à la fois modifier
la largeur et la hauteur qu’un objet occupe dans l’espacement
horizontal. Les propriétés utiles en la matière sont
extra-spacing-width
et extra-spacing-height
.
Lorsqu’elles ne sont pas activées, un objet occupera autant de place
dans l’espacement horizontal que ses propriétés X-extent
et
Y-extent
le permettent. Ce sont les valeurs précises de ses
dimensions. Les propriétés extra-spacing-width
et
extra-spacing-height
rendent l’objet plus ou moins imposant
dans le calcul de l’espacement horizontal uniquement entre les
empilements, mais préservent ses dimensions pour les autres types
d’espacement.
{ \textMark "Par défaut" c'2 2 cis'2 2 } { \textMark "X-extent modifié" \override NoteHead.X-extent = #'(-2 . 2) c'2 2 cis'2 2 } { \textMark "extra-spacing-width modifié" \override NoteHead.extra-spacing-width = #'(-2 . 2) c'2 2 cis'2 2 }
Les valeurs de extra-spacing-width
et
extra-spacing-height
sont des paires de nombres qui seront
ajoutés aux dimensions dans chacun des axes. Par exemple, régler
extra-spacing-height
à '(-2 . 3)
agrandira l’objet de
trois unités vers le haut et de deux unités vers le bas (limite abaissée
de 2). L’exemple suivant illustre comment utiliser
extra-spacing-height
pour changer la limite à partir de
laquelle les altérations ne chevaucheront plus les barres de mesure.
music = \relative { \time 1/4 cis8 8 | dis8 8 | eis8 8 | fis8 8 | gis8 8 | ais8 8 | bis8 8 | cis8 8 | } { \music } { \override Accidental.extra-spacing-height = #'(0 . 1.0) \music }
Affecter la valeur '(+inf.0 . -inf.0)
à
extra-spacing-width
ou extra-spacing-height
revient à supprimer la présence de l’objet.
music = \relative { \time 1/4 cis8 8 | dis8 8 | eis8 8 | fis8 8 | gis8 8 | ais8 8 | bis8 8 | cis8 8 | } { \override Accidental.extra-spacing-height = #'(+inf.0 . -inf.0) \music }
Par contre, un extra-spacing-height
de valeur '(-inf.0
. +inf.0)
rend l’objet infiniment haut, ce qui lui évitera dans tous
les cas de chevaucher un autre empilement. L’exemple suivant illustre
cette technique pour Accidental
et MetronomeMark
. En ce
qui concerne MetronomeMark
, il est tout d’abord nécessaire de
régler extra-spacing-width
à '(0 . 0)
dans la mesure
où elle est par défaut à '(+inf.0 . -inf.0)
, et même un objet
infiniment haut ne prend pas de place s’il n’a pas de largeur.
{ \override Score.MetronomeMark.extra-spacing-width = #'(0 . 0) \override Score.MetronomeMark.extra-spacing-height = #'(-inf.0 . +inf.0) \override Accidental.extra-spacing-height = #'(-inf.0 . +inf.0) cis'4 r2. \tempo Presto fis16 8 16 4 \clef alto cis4 fis4 }
Voir aussi
Référence des propriétés internes : item-interface, separation-item-interface.