4.4.1 Espaciado vertical dentro de un sistema

La altura de cada sistema se determina automáticamente. Para evitar que los pentagramas se superpongan unos encima de otros, se establecen algunas distancias mínimas. Al modificarlas, podemos poner los pentagramas más cerca unos de otros. Esto reduce el espacio que requiere cada sistema y puede resultar en la obtención de más sistemas por página.

Normalmente los pentagramas se apilan verticalmente. Para hacer que los pentagramas guarden una distancia, se rellena su tamaño vertical. Esto se hace con la propiedad minimum-Y-extent. Si se aplica a VerticalAxisGroup, controla el tamaño de una línea horizontal, como un pentagrama o una línea de letra. minimum-Y-extent acepta una pareja de números, de forma que si queremos hacerlo más pequeño que su valor predeterminado #'(-4 . 4) entonces podemos establecer

\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)

Esto fija el tamaño vertical del pentagrama en curso a 3 espacios de pentagrama a cada lado de la tercera línea. El valor (-3 . 3) se interpreta como un intervalo, donde la línea central es el 0, por lo que el primer número es negativo en general. Los números no tienen que coincidir; por ejemplo, el pentagrama se puede hacer mayor por debajo dándole el valor (-6 . 4).

Después de que se han determinado los saltos de página, se reevalúa el espaciado vertical dentro de cada sistema para llenar la página de forma más regular; si una página tiene más espacio de sobra, se amplían los sistemas para poder llenar este espacio. La magnitud de esta ampliación se puede configurar a través de la propiedad max-stretch del grob VerticalAlignment. De forma predeterminada, max-stretch se establece a cero, inhabilitando la ampliación. Para habilitar la ampliación, un valor prudente para max-stretch es ly:align-interface::calc-max-stretch.

En ciertas situaciones, podemos querer ampliar la mayor parte de un sistema y al mismo tiempo dejar algunas partes fijas. Por ejemplo, si una parte de piano aparece en el medio de una partitura orquestal, podemos querer dejar los pentagramas de piano cercanos entre sí mientras se estira el resto de la partitura. Se puede usar la propiedad keep-fixed-while-stretching de VerticalAxisGroup para conseguirlo. Cuando se establece al valor ##t, esta propiedad evita que su pentagrama (o línea de letra) se desplace en relación al que está directamente encima de él. En el ejemplo anterior, podríamos sobreescribir keep-fixed-while-stretching al valor ##t en el segundo pentagrama del piano:

#(set-default-paper-size "a6")
#(set-global-staff-size 14.0)

\book {
\paper {
  ragged-last-bottom = ##f
}

\new Score \with
{
  \override VerticalAlignment #'max-stretch = #ly:align-interface::calc-max-stretch
}
{
\new GrandStaff
<<
  \new StaffGroup
  <<
    \new Staff {c' d' e' f'}
    \new Staff {c' d' e' f'}
    \new Staff {c' d' e' f'}
  >>

  \new PianoStaff
  <<
    \new Staff {c' d' e' f'}
    \new Staff \with {
      \override VerticalAxisGroup #'keep-fixed-while-stretching = ##t
    }
    {c' d' e' f'}
  >>

  \new StaffGroup
  <<
    \new Staff {c' d' e' f'}
    \new Staff {c' d' e' f'}
  >>
>>
}
}

[image of music]

La alineación vertical de los pentagramas está manejada por el objeto VerticalAlignment. Los parámetros de contexto que especifican las dimensiones verticales están descritas en conexión con el grabador Axis_group_engraver.

Véase también

Fragmentos de código: Spacing.

Referencia de funcionamiento interno: VerticalAlignment, Axis_group_engraver.


Otros idiomas: English.

Manual de referencia de la notación