4.1.4 Variables d’espacement vertical fluctuant
Il est souvent judicieux d’apporter un peu de flexibilité à l’espacement
entre différents éléments (marges, titres, systèmes ou mouvements), en
dilatation ou compression selon le cas. Un certain nombre de variables
de type \paper
répertoriées ci-dessous vous permettront d’affiner
ces dimensionnements.
Gardez à l’esprit que les variables du bloc \paper
dont nous
parlons ici n’influencent en rien l’espacement des portées d’un même
système. L’espacement au sein des systèmes est géré par des propriétés
attachées à des objets graphiques (grobs) qui, elles, se
définissent au niveau du bloc \score
– voir à ce sujet
Espacement vertical au sein d’un système.
Structure des variables d’espacement vertical fluctuant | ||
Liste des variables d’espacement fluctuant |
Structure des variables d’espacement vertical fluctuant
Chacune de ces variables attachées au bloc \paper
est constituée
d’une liste associative (alist) à quatre clés :
-
basic-distance
(distance de base) – la grandeur d’espace par défaut, exprimée en hauteur de portée, séparant les points de référence de deux éléments, qui évite tout risque de collision en l’absence de dilatation ou compression. Le point de référence d’un titre ou d’un markup est son sommet, celui d’un système est le centre vertical duStaffSymbol
le plus proche – même lorsqu’une ligne de « non-portée » viendrait à s’intercaler. Unebasic-distance
inférieure àpadding
ouminimum-distance
sera sans effet, dans la mesure où l’espacement résultant ne saurait être inférieur àpadding
ouminimum-distance
. -
minimum-distance
(distance minimale) – l’espacement minimal, exprimé en hauteur de portée, entre les points de référence des deux éléments alors qu’il y a déjà un effet de compression. Uneminimum-distance
inférieure à la valeur dupadding
sera sans effet, dans la mesure où l’espacement résultant ne saurait être inférieur aupadding
. -
padding
(décalage) – la grandeur minimale de « blanc » qui sépare deux éléments, exprimée en hauteur de portée. On peut le voir comme la hauteur minimale d’un rectangle vide qui devrait s’étendre sur toute la largeur des deux éléments. -
stretchability
(dilatation) – le coefficient d’étirement de cet espace. Un coefficient nul permet de figer l’espacement, à moins qu’il n’en résulte des collisions. Un coefficient positif déterminera la propension d’un espacement à s’étirer, tout en tenant compte du coefficient affecté aux autres espacements. Par exemple, lorsque le coefficient de dilatation d’une dimension est double de celui d’une autre, elle pourra s’étirer deux fois plus que cette dernière. Il ne saurait être négatif. La valeur+inf.0
provoque uneprogramming_error
(erreur de programmation) et est ignorée ; vous pouvez toutefois utiliser1.0e7
pour obtenir une valeur proche de l’infini. Lorsque cette clé n’est pas définie, sa valeur est par défaut égale àspace
. Notez bien que l’utilisateur ne peut définir une propension à la compression ; elle est en fait égale à (basic-distance
-minimum-distance
).
Lorsque l’impression n’est pas en pleine page – elle est donc
ragged bottom pour les anglophones – l’élément space
n’est pas étiré. Les hauteurs sur une telle page correspondront donc au
maximum de
-
basic-distance
, plus -
minimum-distance
et -
padding
, augmenté de ce qu’il faut pour éviter les chevauchements.
Cependant, lorsque la partition fait plusieurs pages, la dernière page reprendra dans la mesure du possible l’espacement de la page précédente.
Les manières de modifier des listes associatives font l’objet d’un chapitre spécifique. L’exemple suivant indique deux façons de modifier une liste associative. La première déclaration intervient sur une seule clé, alors que la deuxième redéfinit complètement la variable.
\paper { system-system-spacing.basic-distance = #8 score-system-spacing = #'((padding . 1) (basic-distance . 12) (minimum-distance . 6) (stretchability . 12)) }
Liste des variables d’espacement fluctuant
Le nom des dimensionnements à hauteur variable sont de la forme
avant-après-spacing
, où avant
et
après
représentent les éléments qui doivent être espacés.
La distance s’établit entre les points de référence des deux éléments
concernés (voir la rubrique précédente pour plus de précision). Notez
bien que, dans les règles de nommage des variables qui suivent, le terme
markup
fait référence aussi bien à un markup de titrage
(bookTitleMarkup
ou scoreTitleMarkup
) qu’à un
markup de haut niveau (voir Structure de fichier). Toutes les
distances sont exprimées en espace de portée.
Leurs valeurs par défaut sont inscrites dans le fichier ‘ly/paper-defaults-init.ly’.
-
markup-system-spacing
-
détermine l’espacement entre un titre ou un markup de premier niveau, et le système qui le suit.
-
score-markup-spacing
-
détermine l’espacement entre le dernier système et le titre ou markup de haut niveau qui le suit.
-
score-system-spacing
-
détermine l’espacement entre le dernier système d’une partition et le premier système de la partition suivante, en l’absence de titrage ou markup qui les sépare.
-
system-system-spacing
-
détermine l’espacement entre deux systèmes d’un même mouvement.
-
markup-markup-spacing
-
détermine l’espacement entre deux titres ou markups de premier niveau.
-
last-bottom-spacing
-
détermine la distance entre le dernier système ou le dernier markup de haut niveau, et le bas de la surface imprimable – autrement dit le haut de la marge basse.
-
top-system-spacing
-
détermine l’espace entre le haut de la surface imprimable (le bas de la marge haute) et le milieu du premier système. Cette variable n’est effective qu’en l’absence de titre ou markup de premier niveau en haut de page.
-
top-markup-spacing
-
détermine l’espace entre le haut de la surface imprimable (le bas de la marge haute) et le premier titre ou markup de premier niveau. Cette variable n’est effective qu’en l’absence de système en haut de page.
Voir aussi
Manuel de notation : Espacement vertical au sein d’un système.
Morceaux choisis : Espacements.
Morceaux choisis : Espacements.