5.5 Espaiat vertical

En general, l’espaiat vertical dels objectes musicals que fa el LilyPond és força bo. Vejam com es comporta amb una cançó senzilla, amb dues veus i acompanyament de piano:

[image of music]

No hi ha cap problema amb l’espaiat vertical predeterminat. Suposem tanmateix que estem treballant amb un editor que té certs requisits específics per a l’espaiat vertical dels pentagrames i la lletra: voleu que la lletra estigui més separada de les notes, que l’acompanyament de piano estigui més separat de la línia vocal i que els dos pentagrames de piano estiguin més junts entre sí. Començarem amb la lletra.

La lletra es troba a l’interior d’un sistema, i per tant les ordres per aplicar-li l’espaiat estaran en Espaiat vertical flexible dins dels sistemes. Aquí es diu que el text són línies del tipus “no-pauta” i per tant l’ordre per canviar el seu espaiat farà referència a la propietat nonstaff. Per separar-les del pentagrama al que pertanyen (la pauta superior) usarem la propietat relatedstaff. Per separar-les de la línia inferior usarem la propietat unrelatedstaff. Les parts vocals pertanyen a un grup vertical unrelatedstaff. Les parts vocals pertanyen a un grup vertical VerticalAxisGroup, per la qual cosa hem d’ajustar les seves propietats. Provem-lo i vejam 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]

Bé: sí, funciona, però potser massa bé. Quan establim el padding (farciment) a 5, el LilyPond afegeix 5 espais de pentagrama a l’espai entre els objectes, cosa que és excessiva per a nosaltres en aquest cas. Usarem un valor de 2.

A continuació, desplaçarem la música de piano per separar-la de les parts vocals. La música vocal és una Choirstaff (un context de sistema coral), i per tant hem d’augmentar l’espaiat entre aquest grup de pentagrama i el sistema de piano que es troba a sota. Ho farem canviant labasic-distance (distància 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]

Molt bé. Ara sols ens queda l’últim requisit de fer que els pentagrames de piano estiguin més junts. Per aconseguir-lo, un altre cop alterem les propietats del StaffGrouper, però aquest cop reduirem tant la basic-distance (distància bàsica) com el padding (farciment). Podem fer-lo com es mostra a continuació.

<<
  \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]

Amb això els hem col·locat molt junts entre sí (però és el que l’editor volia). Es podrien haver separat més alterant el farciment, padding, o la distància bàsica, basic-distance, si volguéssim.

Hi ha moltes formes d’alterar l’espaiat vertical. Un punt clau que hem de recordar és que l’espaiat entre objectes dins d’un StaffGroup (com els grups GrandStaff o PianoStaff) es controla amb les variables d’espaiat del StaffGrouper. L’espaiat dels pentagrames no agrupats (com Lyrics i Staff) es controla amb les variables del VerticalAxisGroup. Per veure més detalls, consulteu Variables flexibles d’espaiat vertical de paper i Espaiat vertical flexible dins dels sistemes.


Manual d’aprenentatge del GNU LilyPond v2.25.21 (branca de desenvolupament).