Estructura de las listas-A de espaciado vertical flexible
Cada una de las variables de espaciado de \paper
flexibles
es una lista-A (lista asociativa) que contiene cuatro
claves:
-
basic-distance
(distancia básica): distancia vertical, medida en espacios de pentagrama, entre los puntos de referencia de los dos elementos, cuando no resulte ninguna colisión, y no se produzca ninguna ampliación o compresión. El punto de referencia de un elemento de marcado (de título o del nivel jerárquico superior) es su punto más alto, y el punto de referencia de un sistema es el centro vertical delStaffSymbol
más cercano (incluso si se trata de una línea que no es un pentagrama, como un contextoLyrics
). Los valores dedistancia básica
menores depadding
o deminimum-distance
no son significativos, porque la distancia resultante nunca será menor depadding
o deminimum-distance
. -
minimum-distance
(distancia mínima): la distancia vertical mínima permitida, medida en espacios de pentagrama, entre los puntos de referencia de los dos elementos, cuando se produce una compresión. Los valores deminimum-distance
menores depadding
no son significativos, porque la distancia resultante nunca será menor depadding
. -
padding
(relleno): mínimo espacio vertical vacío necesario entre los rectángulos circundantes (o las líneas de horizonte) de los dos elementos, medido en espacios de pentagrama. -
stretchability
(ampliabilidad): medida sin unidades de la propensión relativa de esta dimensión a ampliarse. Si es cero, la distancia no se ampliará (a no ser que resultasen colisiones). Si es positiva, la significación del valor de ampliabilidad de una dimensión concreta depende solamente de su relación con los valores destretchability
de las otras dimensiones. Por ejemplo, si una dimensión tiene el doble destretchability
que otra, se ampliará con el doble de facilidad. Los valores deben ser no negativos y finitos. El valor+inf.0
desencadena un error de programación y se ignora, pero se puede usar1.0e7
para un muelle casi infinitamente ampliable. Si no se fija un valor, el valor predeterminado se establece abasic-distance
. Observe que la propensión de la dimensión a comprimirse no se puede establecer directamente por el usuario y es igual a (basic-distance
−minimum-distance
).
Si una página tiene un margen inferior no justificado, la distancia resultante es la mayor de:
-
basic-distance
, -
minimum-distance
, y -
padding
más la menor distancia necesaria para eliminar las colisiones.
Para partituras de varias páginas con la parte inferior no justificada en la última página, ésta usará el mismo espaciado que la página anterior siempre y cuando haya espacio suficiente para ello.
Los métodos específicos para la modificación de las listas-A se estudian en Modificación de las listas-A. El siguiente ejemplo muestra las dos formas en que pueden modificarse estas listas-A. La primera declaración actualiza un par clave-valor individualmente, y la segunda redefine la variable completamente:
\paper { system-system-spacing.basic-distance = #8 score-system-spacing = #'((basic-distance . 12) (minimum-distance . 6) (padding . 1) (stretchability . 12)) }