Struttura delle liste associative flessibili della spaziatura verticale
Ognuna delle variabili \paper
flessibili della spaziatura verticale
è una lista associativa (alist) composta da quattro elementi:
-
basic-distance
– la distanza verticale, misurata in spazi rigo, tra i punti di riferimento dei due elementi, quando non si verificano collisioni e non sono attivi allungamenti o compressioni. Il punto di riferimento di un markup (un titolo o un markup di un livello superiore) è il suo punto più alto, mentre quello di un sistema è il centro verticale del più vicinoStaffSymbol
, anche se una linea diversa da un rigo (come un contestoLyrics
) si trova nel mezzo. Valori dibasic-distance
inferiori a quelli dipadding
ominimum-distance
non hanno senso, dato che la distanza risultante non sarà mai inferiore a quella definita perpadding
ominimum-distance
. -
minimum-distance
– la minima distanza verticale consentita, misurata in spazi rigo, tra i punti di riferimento dei due elementi, quando la compressione è attiva. Valori diminimum-distance
inferiori a quelli dipadding
non hanno senso, perché la distanza risultante non sarà mai inferiore a quella definita perpadding.
-
padding
– la quantità minima di spazio verticale libero tra i profili (skyline) dei due elementi, misurata in spazi rigo. -
stretchability
– una misura, priva di unità di misura, della relativa propensione della dimensione a allungarsi. Se pari a zero, la distanza non si allungherà (a meno che non ci siano delle collisioni). Se positiva, il significato del valore distretchability
di una certa dimensione sta nella sua relazione con i valori distretchability
delle altre dimensioni. Per esempio, se una dimensione ha un valore distretchability
doppio rispetto a un’altra, si allungherà il doppio. I valori devono essere non negativi e finiti. Il valore+inf.0
causa un errore di programmazione e viene ingorato, ma si può usare1.0e7
per ottenere un’elasticità allungabile quasi all’infinito. Se non impostata, il valore predefinito equivale a quello dibasic-distance
. Nota che la propensione della dimensione a comprimersi non può essere impostata direttamente dall’utente ed è uguale a (basic-distance
−minimum-distance
).
Se in una pagina lo spazio verticale non è giustificato (ovvero con
ragged-bottom
impostato su vero) la distanza risultante è
data dal valore più grande assegnato a una di queste tre proprietà:
-
basic-distance
, -
minimum-distance
e -
padding
con l’aggiunta della più piccola distanza necessaria a eliminare collisioni.
In caso di partiture con molte pagine in cui l’ultima pagina non è
giustificata (ovvero con ragged-last-bottom
impostato su vero),
l’ultima pagina usa la stessa spaziatura della pagina precedente,
purché ci sia abbastanza spazio.
I metodi specifici per modificare le liste associative (alist) sono trattati in Modifica delle liste associative. L’esempio seguente illustra i due modi in cui queste possono essere modificate. La prima dichiarazione aggiorna un elemento-valore individualmente, mentre la seconda ridefinisce completamente la variabile:
\paper { system-system-spacing.basic-distance = #8 score-system-spacing = #'((basic-distance . 12) (minimum-distance . 6) (padding . 1) (stretchability . 12)) }