[ << Retouche de partition ] | [Top][Contents][Index] | [ Modèles >> ] |
[ < Dimensionnement des objets graphiques ] | [ Up : Retouche de partition ] | [ Collisions d’objets > ] |
5.6 Espacement vertical
En règle générale, LilyPond est plutôt performant en matière d’espacement vertical des objets musicaux. Examinons ce qui se passe avec un chant simple à deux voix accompagnées au piano :
Il n’y a rien à redire quant à l’espacement vertical. Toutefois, partons du principe que nous travaillons avec un éditeur dont les exigences en matière d’espacement vertical sont les suivantes : les paroles doivent être clairement détachées des notes, l’accompagnement de piano séparé du chant et les portées de piano rapprochées l’une de l’autre. Commençons par les paroles.
Les paroles résident dans un système ; les commandes dévolues à leur
espacement sont donc mentionnées à la section Espacement vertical au sein d’un
système. Nous y constatons que les paroles sont des lignes de
non-portée (non-staff lines) ; les commandes qui gèrent leur
espacement font donc référence à des propriétés dont le nom contient
nonstaff
. Les décaler de la portée à laquelle elles sont
attachées (celle du haut) jouera sur le vocable relatedstaff
, les
décaler de la ligne inférieure sur le vocable unrelatedstaff
. Les
parties vocales sont membre d’un VerticalAxisGroup
; ce sont donc
les propriétés de ce groupe qui doivent être ajustées. Faisons un
premier essai pour voir :
+ +
<< \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 } >> >>
L’espacement est maintenant quelque peu exagéré. Lorsque nous
affectons 5 à la variable padding
, LilyPond ajoute cinq espaces
de portée à la distance séparant deux objets, ce qui est plus que
généreux. Nous nous limiterons à 2.
Occupons-nous à présent de séparer l’accompagnement du chant. La musique
vocale fait l’objet d’un contexte ChoirStaff
; il nous faut donc
augmenter l’espace entre ce groupe et la portée de piano qui le suit.
Nous y parviendrons en modifiant la sous-propriété basic-distance
de la staffgroup-staff-spacing
du grob 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 } >> >>
Excellent. Ne reste plus qu’à répondre à la dernière exigence :
resserrer les portées du piano. Pour y parvenir, nous ajusterons à
nouveau les propriétés du grob StaffGrouper
, ici en jouant
à la fois sur la distance de base (basic-distance
) et le décalage
(padding
) comme ci-dessous :
<< \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 } >> >>
Les portées sont vraiment rapprochées, mais c’est ce que veut l’éditeur.
On pourra toujours les écarter au besoin en jouant sur les éléments
padding
ou basic-distance
.
Il existe bien des manières de modifier l’espacement vertical. Le point
crucial à ne pas oublier est que l’espacement des objets au sein d’un
regroupement – un StaffGroup
, tels GrandStaff
ou
PianoStaff
– dépend des variables d’espacement d’un
StaffGrouper
; l’espacement de portées non regroupées (comme
Lyrics
et Staff
) dépend des variables d’un
VerticalAxisGroup
. Voir Variables d’espacement vertical fluctuant et
Espacement
vertical au sein d’un système pour de plus amples détails.
[ << Retouche de partition ] | [Top][Contents][Index] | [ Modèles >> ] |
[ < Dimensionnement des objets graphiques ] | [ Up : Retouche de partition ] | [ Collisions d’objets > ] |