[ << Modifica dell’output ] | [Top][Contents][Index] | [ Modelli >> ] |
[ < Dimensione dei grob ] | [ Up : Modifica dell’output ] | [ Collisioni tra oggetti > ] |
5.5 Spaziatura verticale
Di norma, la spaziatura verticale degli oggetti musicali decisa da LilyPond è molto buona. Vediamo come si comporta con una semplice canzone, composta da due voci e un accompagnamento per pianoforte:
Non c’è niente di sbagliato con la spaziatura verticale predefinita. Tuttavia, supponiamo che si stia lavorando con un editore che abbia requisiti specifici per la spaziatura verticale dei righi e del testo vocale, ovvero maggior spazio tra testo e note, e tra l’accompagnamento del pianoforte e la linea vocale, e minor spazio tra i righi del pianoforte. Iniziamo dal testo.
Il testo vocale si trova all’interno di un sistema, dunque i comandi per
modificarne la spaziatura sono descritti in Spaziatura verticale flessibile all’interno dei sistemi.
Quel paragrafo ci dice che il testo è costituito da linee che non appartengono
al rigo (non-staff lines
), quindi il comando per cambiarne la spaziatura
sarà riferito alla proprietà nonstaff
. Per allontanarlo dal rigo a cui
si riferiscono (la linea superiore) si usa la proprietà relatedstaff
.
Per allontanarli dalla linea più bassa si usa la proprietà unrelatedstaff
.
Le parti vocali fanno parte del VerticalAxisGroup
, dunque dobbiamo
aggiustare le sue proprietà. Proviamo a vedere se funziona.
<< \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 } >> >>
Funziona, ma forse non molto bene. Quando impostiamo il
padding
su 5, LilyPond aggiunge 5 spazi rigo alla distanza
tra gli oggetti, che è troppo in questo caso. Useremo 2.
Ora allontaniamo la musica per pianoforte dalle parti vocali. La musica
vocale si trova nel rigo ChoirStaff
, quindi dobbiamo aumentare lo
spazio tra quel gruppo di righi e il rigo per pianoforte che si trova sotto.
Lo faremo modificando la proprietà basic-distance
del
staffgroup-staff-spacing
di StaffGrouper
.
<< \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 } >> >>
Ottimo. Non ci resta che avvicinare i righi del pianoforte. Per farlo,
modifichiamo di nuovo le proprietà di StaffGrouper
, ma questa volta
riduciamo sia basic-distance
che padding
. Ecco come fare:
<< \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 } >> >>
In questo modo sono molto vicini, ma è quello che vuole l’editore.
Se necessario, possono essere allontanati modificando padding
o
basic-distance
.
Ci sono molti modi per modificare la spaziatura verticale. Il punto fondamentale
da ricordare è che la spaziatura degli oggetti in un contesto StaffGroup
(come i gruppi GrandStaff
o PianoStaff
) è controllata dalle
variabili spaziali di StaffGrouper
. La spaziatura relativa ai righi
non raggruppati (come Lyrics
e Staff
) è regolata dalle variabili
del VerticalAxisGroup
. Ulteriori dettagli in
Variabili paper della spaziatura verticale flessibile e
Spaziatura verticale flessibile all’interno dei sistemi.
[ << Modifica dell’output ] | [Top][Contents][Index] | [ Modelli >> ] |
[ < Dimensione dei grob ] | [ Up : Modifica dell’output ] | [ Collisioni tra oggetti > ] |