Escalado de un «Grob»

En primer lugar debemos aprender cómo se especifica el tamaño de los grobs. Todos los grobs tienen un punto de referencia definido dentro de ellos que se usa para colocarlos respecto a su objeto padre. Entonces, este punto del grob se posiciona a una distancia horizontal, X-offset, y una distancia vertical, Y-offset, a partir de su padre. La dimensión horizontal del objeto viene dada por una pareja de números, X-extent, que dice dónde están los límites izquierdo y derecho respecto del punto de referencia. La amplitud vertical se define de forma similar mediante una pareja de números, Y-extent. Éstas son propiedades de todos los grobs que contemplan el grob-interface.

De forma predeterminada, los objetos fuera-del-pentagrama reciben una anchura cero, de manera que pueden solaparse en la dirección horizontal. Esto se hace mediante el truco de hacer que la dimensión más a la izquierda sea igual a infinito y que la dimensión más a la derecha sea igual a menos infinito, estableciendo el valor de extra-spacing-width a '(+inf.0 . -inf.0). Así, para asegurar que no se superponen en la dirección horizontal tendremos que sobreescribir este valor de extra-spacing-width para darles un poco de espacio adicional. Las unidades son el espacio entre dos líneas del pentagrama, de forma que debería bastar mover el límite izquierdo media unidad a la izquierda y el límite derecho media unidad a la derecha:

\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)

Veamos si funciona en nuestro ejemplo anterior:

\dynamicUp
% Extend width by 1 staff space
\override DynamicText.extra-spacing-width = #'(-0.5 . 0.5)
\relative { a'4\f b\mf a\mp b\p }

[image of music]

Esto tiene un mejor aspecto, pero quizá habríamos preferido que las indicaciones de dinámica estuvieran alineadas sobre la misma línea de base en lugar de ir hacia arriba y hacia abajo con las notas. La propiedad que lo hace es staff-padding (relleno de pentagrama) que se estudia en la sección dedicada a las colisiones (véase Colisiones de objetos).


Manual de aprendizaje de GNU LilyPond v2.25.15 (rama de desarrollo).