| [ << Espaciado vertical ] | [Top][Contents][Index] | [ Espaciado horizontal >> ] |
| [ < Espaciado de las líneas que no son pautas ] | [ Up: Espaciado vertical ] | [ Evitar las colisiones verticales > ] |
29.2 Posicionamiento explícito de los pentagramas y los sistemas
Es posible enfrentarse al espaciado vertical de una forma distinta
(comparado con lo que se ha visto en las secciones previas)
utilizando la propiedad line-break-system-details del
objeto gráfico NonMusicalPaperColumn. Mientras que los
mecanismos del espaciado vertical flexible especifican relleno
vertical, line-break-system-details puede especificar
posiciones verticales exactas sobre la página.
Esta propiedad contiene cinco subpropiedades diferentes:
X-offset (desplazamiento en X) Y-offset
(desplazamiento en Y) extra-offset (desplazamiento
adicional) alignment-distances (distancias de alineación) y
bottom-padding (relleno por debajo).
Para entender cómo funciona cada uno de los distintos ajustes, empezamos observando un ejemplo que no incluye absolutamente ninguna sobreescritura. Mantenemos aisladas tanto la información de los saltos de línea como los de página en una voz dedicada a ello, dividiendo la música en líneas de cinco compases cada una. Esta técnica de crear una voz de saltos ayuda a mantener la disposición separada de la escritura de notas conforme el ejemplo se vuelve más complicado. Consulte Saltos.
\book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
A continuación fijamos los puntos de inicio vertical y horizontal
de cada sistema explícitamente usando las subpropiedades
Y-offset y X-offset de
line-break-system-details.
\book { \score { << \new Staff << \new Voice { \once \override Score.NonMusicalPaperColumn .line-break-system-details.Y-offset = 0 s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.Y-offset = 30 \once \override Score.NonMusicalPaperColumn .line-break-system-details.X-offset = 10 s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.Y-offset = 50 s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
En contraste con el posicionado absoluto que está disponible a
través de Y-offset y de X-offset, es posible un
posicionamiento relativo con la subpropiedad extra-offset.
La colocación es relativa a la disposición predeterminada o al
posicionamiento absoluto creado mediante el establecimiento de los
valores de X-offset y de Y-offset. La subpropiedad
extra-offset acepta una pareja de números (un pair)
que consiste en desplazamientos a lo largo de los ejes X e Y.
\book { \score { << \new Staff << \new Voice { s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.extra-offset = #'(5 . 5) s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.extra-offset = #'(0 . 20) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
Ahora que hemos establecido explícitamente el punto de origen
vertical de cada sistema, podemos también establecer manualmente
las distancias verticales entre los pentagramas dentro de cada
sistema. Lo hacemos usando la subpropiedad
alignment-distances. Como puede verse, usamos una lista-A
para fijar dos subpropiedades line-break-system-details
diferentes al mismo tiempo.
\book { \score { << \new Staff << \new Voice { \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 0) (alignment-distances . (10))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 30) (alignment-distances . (15))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 65) (alignment-distances . (20))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
El ejemplo siguiente muestra cómo fijar las posiciones verticales
de varios pentagramas dentro de un sistema. Observe que
alignment-distances se aplica directamente a los
pentagramas, sin preocuparse de las agrupaciones hechas con
StaffGroup o similares. El valor #f indica que se
debe usar el valor predeterminado.
\book { \score { << \new Staff << \new Voice { \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 0) (alignment-distances . (15 8))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 35) (X-offset . 10) (alignment-distances . (#f 8))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 65) (alignment-distances . (8 15))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new StaffGroup << \new Staff { \repeat unfold 15 { d'4 d' d' d' } } \new Staff { \repeat unfold 15 { e'4 e' e' e' } } >> >> } }![]()
La última subpropiedad de line-break-system-details,
bottom-padding, tiene un efecto similar al de
last-bottom-spacing. Sin embargo, observe que no guarda
una dimensión de espaciado que se pueda estirar o comprimir, sino
un valor de relleno rígido y fijo a partir del extremo inferior de
la página hasta el pentagrama inferior. Aquí aparece el fragmento
de prueba con la parte inferior justificada, mostrando la
distancia por omisión.
\book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } \paper { ragged-last-bottom = ##f } }![]()
Al fijar un valor para bottom-padding se obtiene el
resultado siguiente.
\book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((bottom-padding . 20)) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } \paper { ragged-last-bottom = ##f } }![]()
Algunos puntos que tener en cuenta:
- Al usar
alignment-distances, la letra y otras líneas que no son pautas, no cuentan como un pentagrama. - Las unidades de los números que se pasan a las subpropiedades
X-offset,Y-offset,extra-offsetyalignment-distancesse interpretan como múltiplos de la distancia entre líneas de pentagrama adyacentes. Los valores positivos mueven a los pentagramas y a la letra hacia arriba, los valores negativos mueven los pentagramas y la letra hacia abajo. - A causa de que los ajustes a
NonMusicalPaperColumn.line-break-system-detailsdados aquí permiten el posicionamiento de pentagramas y sistemas en cualquier lugar de la página, es posible violar los márgenes o los límites del papel, o incluso imprimir pentagramas o sistemas unos encima de otros. Para evitarlo, pase unos valores razonables a las subpropiedades.
Véase también
Fragmentos de código: Espaciado.
| [ << Espaciado vertical ] | [Top][Contents][Index] | [ Espaciado horizontal >> ] |
| [ < Espaciado de las líneas que no son pautas ] | [ Up: Espaciado vertical ] | [ Evitar las colisiones verticales > ] |
![[image of music]](../7a/lily-0fb5aeff.png)
![[image of music]](../d6/lily-67bde00c.png)
![[image of music]](../7d/lily-33597acb.png)
![[image of music]](../9f/lily-716f8afe.png)
![[image of music]](../e3/lily-072cc1a1.png)
![[image of music]](../80/lily-e79ca181.png)
![[image of music]](../57/lily-a2b79e9a.png)