GNU LilyPond – Manuel de notation: 4.5.4.3 Espacement entre empilements adjacents

#### 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.

#### LilyPond — Manuel de notation v2.24.4 (branche stable).