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.

[image of music]

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.

{
  \mark "Par défaut"
  c'2 2 cis'2 2
}

{
  \mark "X-extent modifié"
  \override NoteHead.X-extent = #'(-2 . 2)
  c'2 2 cis'2 2
}

{
  \mark "extra-spacing-width modifié"
  \override NoteHead.extra-spacing-width = #'(-2 . 2)
  c'2 2 cis'2 2
}

[image of music]

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
}

[image of 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
}

[image of 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
}

[image of music]

Voir aussi

Référence des propriétés internes : item-interface, separation-item-interface.


LilyPond — Manuel de notation v2.23.11 (branche de développement).