| [ << 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
Una forma de entender los mecanismos del espaciado vertical flexible que se han explicado más arriba es como una colección de ajustes que controlan la cantidad de relleno vertical entre los pentagramas y los sistemas.
Es posible enfrentarse al espaciado vertical de una forma distinta
utilizando la propiedad
NonMusicalPaperColumn.line-break-system-details. Mientras
que los mecanismos del espaciado vertical flexible especifican
relleno vertical,
NonMusicalPaperColumn.line-break-system-details puede
especificar posiciones verticales exactas sobre la página.
NonMusicalPaperColumn.line-break-system-details acepta una
lista asociativa de cuatro ajustes diferentes:
-
X-offset(desplazamiento en X) -
Y-offset(desplazamiento en Y) -
extra-offset(desplazamiento adicional) -
alignment-distances(distancias de alineación)
\once \override NonMusicalPaperColumn.line-break-system-details =
#'((X-offset . 20))
\once \override NonMusicalPaperColumn.line-break-system-details =
#'((Y-offset . 40))
\once \override NonMusicalPaperColumn.line-break-system-details =
#'((X-offset . 20)
(Y-offset . 40))
\once \override NonMusicalPaperColumn.line-break-system-details =
#'((alignment-distances . (15)))
\once \override NonMusicalPaperColumn.line-break-system-details =
#'((X-offset . 20)
(Y-offset . 40)
(alignment-distances . (15)))
Para entender cómo funciona cada uno de los distintos ajustes, empezamos observando un ejemplo que no incluye absolutamente ninguna sobreescritura.
\header { tagline = ##f } \paper { left-margin = 0\mm } \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' } } >> } }![]()
Esta partitura mantiene aislada tanto la información de los saltos de línea como los de página en una voz dedicada a ello. Esta técnica de crear una voz de saltos ayuda a mantener separada de la escritura de notas conforme el ejemplo se vuelve más complicado. Consulte Saltos.
Utilizando instrucciones \break explícitas, la música se
divide en líneas de cinco compases cada una. El espaciado
vertical proviene de los ajustes predeterminados de LilyPond pero
el punto de origen vertical de cada sistema se fija explícitamente
usando el par Y-offset en el atributo
line-break-system-details del grob
NonMusicalPaperColumn:
\header { tagline = ##f } \paper { left-margin = 0\mm } \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 . 40)) s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 60)) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
Observe que line-break-system-details toma una lista
asociativa de una cantidad de valores potencialmente elevada, pero
aquí solo fijamos un valor. Observe también que aquí la propiedad
Y-offset determina la posición vertical exacta sobre la
página en la que se trazará cada uno de los nuevos sistemas.
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 propiedad extra-offset de
line-break-system-details. 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 propiedad extra-offset acepta una
pareja de números (un pair) que consiste en desplazamientos
a lo largo de los ejes X e Y.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { s1*5 \break \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((extra-offset . (0 . 10))) s1*5 \break \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((extra-offset . (0 . 10))) 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 de line-break-system-details.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 20) (alignment-distances . (10))) s1*5 \break \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 60) (alignment-distances . (15))) s1*5 \break \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 85) (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' } } >> } }![]()
Observe que aquí asignamos dos valores distintos al atributo
line-break-system-details del grob
NonMusicalPaperColumn. Aunque el atributo alist de
line-break-system-details acepta muchos parámetros de
espaciado adicionales (entre ellos, por ejemplo, un par
X-offset correspondiente), solo tenemos que establecer el
desplazamiento Y-offset y los pares
alignment-distances para controlar el punto de origen
vertical de cada sistema y pentagrama. Finalmente, observe que
alignment-distances especifica el posicionamiento vertical
de los pentagramas pero no de los grupos de pentagramas.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 0) (alignment-distances . (30 10))) s1*5 \break \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 60) (alignment-distances . (10 10))) s1*5 \break \once \override Score .NonMusicalPaperColumn .line-break-system-details = #'((Y-offset . 100) (alignment-distances . (10 30))) 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' } } >> >> } }![]()
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
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. Esto se evitaría pasando a los diferentes ajustes unos valores razonables.
Véase también
Fragmentos de código: Spacing.
| [ << 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]](../54/lily-8c91fed9.png)
![[image of music]](../5f/lily-4bb276af.png)
![[image of music]](../54/lily-d46152fb.png)
![[image of music]](../ff/lily-ac097a8d.png)
![[image of music]](../eb/lily-93a71f6b.png)