5.5 Espaciado vertical

Por lo general, el espaciado vertical de los objetos musicales que LilyPond hace es bastante bueno. Veamos cómo se comporta con una canción sencilla, con dos voces y acompañamiento de piano:

[image of music]

No hay ningún problema con el espaciado vertical predeterminado. Sin embargo, supongamos que estamos trabajando con un editor que tiene ciertos requisitos específicos para el espaciado vertical de los pentagramas y la letra: quiere que la letra está más separada de las notas, que el acompañamiento de piano esté más separado de la línea vocal y que los dos pentagramas de piano estén más juntos entre sí. Comenzaremos con la letra.

La letra se encuentra en el interior de un sistem, y por tanto las instrucciones para aplicarle el espaciado estarán en Espaciado vertical flexible dentro de los sistemas. Allí se dice que el texo son líneas del tipo “no-pauta” y por tanto la instrucción para cambiar su espaciado hará referencia a la propiedad nonstaff. Para separarlas del pentagrama al que pertenecen (la pauta superior) usaremos la propiedad relatedstaff. Para separarlas de la línea inferior usaremos la propiedad unrelatedstaff. Las partes vocales pertenecen a un grupo vertical VerticalAxisGroup, por lo que tenemos que ajustar sus propiedades. Probémoslo y veamos si funciona.

<<
  \new ChoirStaff
  <<
    \new Staff {
      \new Voice = "music" {
        b'2 c' c' c'
      }
    }
    \new Lyrics \with {
      \override VerticalAxisGroup.
        nonstaff-relatedstaff-spacing.padding = #5
      \override VerticalAxisGroup.
        nonstaff-unrelatedstaff-spacing.padding = #5
    }
    \lyricsto "music" {
      Here are some lyrics
    }
    \new Staff {
      \clef bass e'2 f e c
    }
  >>
  \new PianoStaff
  <<
    \new Staff {
      g''2 c'' c'' a''
    }
    \new Staff {
      \clef bass e2 f c e
    }
  >>
>>

[image of music]

Bien: sí, funciona, pero quizá demasiado bien. Cuando establecemos el padding (relleno) a 5, LilyPond añade 5 espacios de pentagrama a la distancia entre los objetos, lo que es excesivo para nosotros en este caso. Usaremos un valor de 2.

A continuación, desplazaremos la música de piano para separarla de las partes vocales. La música vocal es una ChoirStaff (un contexto de sistema coral), y por tanto tenemos que aumentar el espaciado entre ese grupo de pentagramas y el sistema de piano que se encuentra debajo. Lo haremos cambiando la basic-distance (distancia básica) del StaffGrouper del staffgroup-staff-spacing.

<<
  \new ChoirStaff \with {
    \override StaffGrouper.
      staffgroup-staff-spacing.basic-distance = #15
  }
  <<
    \new Staff {
      \new Voice = "music" {
        b'2 c' c' c'
      }
    }
    \new Lyrics \with {
      \override VerticalAxisGroup.
        nonstaff-relatedstaff-spacing.padding = #2
      \override VerticalAxisGroup.
        nonstaff-unrelatedstaff-spacing.padding = #2
    }
    \lyricsto "music" {
      Here are some lyrics
    }
    \new Staff {
      \clef bass e'2 f e c
    }
  >>
  \new PianoStaff
  <<
    \new Staff {
      g''2 c'' c'' a''
    }
    \new Staff {
      \clef bass e2 f c e
    }
  >>
>>

[image of music]

Muy bien. Ahora, sólo nos queda el último requisito de hacer que los pentagramas de piano estén más juntos. Para conseguirlo, de nuevo alteramos las propiedades del StaffGrouper, pero esta vez vamos a reducir tanto la basic-distance (distancia básica) como el padding (relleno). Podemos hacerlo como se muestra a continuación.

<<
  \new ChoirStaff \with {
    \override StaffGrouper.
      staffgroup-staff-spacing.basic-distance = #15
  }
  <<
    \new Staff {
      \new Voice = "music" {
        b'2 c' c' c'
      }
    }
    \new Lyrics \with {
      \override VerticalAxisGroup.
        nonstaff-relatedstaff-spacing.padding = #2
      \override VerticalAxisGroup.
        nonstaff-unrelatedstaff-spacing.padding = #2
    }
    \lyricsto "music" {
      Here are some lyrics
    }
    \new Staff {
      \clef bass e'2 f e c
    }
  >>
  \new PianoStaff \with {
    \override StaffGrouper.staff-staff-spacing = #'(
                            (basic-distance . 0)
                            (padding . 0))
  }
  <<
    \new Staff {
      g''2 c'' c'' a''
    }
    \new Staff {
      \clef bass e2 f c e
    }
  >>
>>

[image of music]

Con esto los hemos colocado muy juntos entre sí (pero es lo que el editor quería). Se podrían haber separado más alterando el relleno, padding, o la distancia básica, basic-distance, si quisiéramos.

Hay muchas formas de alterar el espaciado vertical. Un punto clave que debemos recordar es que el espaciado entre objetos dentro de un StaffGroup (como los grupos GrandStaff o PianoStaff) se controla con las variables de espaciado del StaffGrouper. El espaciado de los pentagramas no agrupados (como Lyrics y Staff) se controla con las variables del VerticalAxisGroup. Para ver más detalles, consulte Variables de espaciado de paper verticales flexibles y Espaciado vertical flexible dentro de los sistemas.


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