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-distanceinferiori a quelli dipaddingominimum-distancenon hanno senso, dato che la distanza risultante non sarà mai inferiore a quella definita perpaddingominimum-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-distanceinferiori a quelli dipaddingnon 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 distretchabilitydi una certa dimensione sta nella sua relazione con i valori distretchabilitydelle altre dimensioni. Per esempio, se una dimensione ha un valore distretchabilitydoppio rispetto a un’altra, si allungherà il doppio. I valori devono essere non negativi e finiti. Il valore+inf.0causa un errore di programmazione e viene ingorato, ma si può usare1.0e7per 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-distancee -
paddingcon 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))
}