| [ << Espacement vertical ] | [Top][Contents][Index] | [ Espacement horizontal >> ] |
| [ < Espacement des lignes rattachées à des portées ] | [ Up: Espacement vertical ] | [ Résolution des collisions verticales > ] |
29.2 Positionnement explicite des portées et systèmes
Il est possible d’aborder l’espacement vertical d’une autre manière que
ce qui est indiqué dans la rubrique précédente, en utilisant la
propriété line-break-system-details de l’objet graphique
NonMusicalPaperColumn. Alors que les mécanismes d’espacement
vertical flexible spécifient un décalage vertical,
line-break-system-details peut déterminer les positionnements
exacts sur la page.
Cette propriété contient cinq différentes sous-propriétés :
X-offset, Y-offset, extra-offset,
alignment-distances etbottom-padding.
Pour bien comprendre comment fonctionnent ces différentes sous-propriétés, commençons par examiner un exemple dépourvu de toute mise au point. Cette partition isole les informations de saut de ligne ou de page dans une voix spécifique. La mise en forme est ainsi séparée des événements musicaux ; ceci nous permettra d’y voir plus clair au fur et à mesure que nous avancerons. Pour plus de précisions, relisez Sauts.
\header { tagline = ##f } \paper { left-margin = 0\mm } \book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
Déterminons maintenant les ploints de départ vertical et horizontal de
chacun des systèmes à l’aide des sous-propriétés Y-offset et
X-offset de line-break-system-details.
\book { \score { << \new Staff << \new Voice { \once \override Score.NonMusicalPaperColumn .line-break-system-details.Y-offset = 0 s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.Y-offset = 30 \once \override Score.NonMusicalPaperColumn .line-break-system-details.X-offset = 10 s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.Y-offset = 50 s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
Contrairement au positionnement absolu accessible par Y-offset et
X-offset, il est possible d’opter pour un positionnement relatif
à l’aide de la sous-propriété extra-offset. Le placement sera
relatif à la mise en forme par défaut ou au positionnement absolu géré
par X-offset et Y-offset. La propriété extra-offset
prend en argument une paire constituée des déplacements sur les
axes horizontal et vertical.
\book { \score { << \new Staff << \new Voice { s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.extra-offset = #'(5 . 5) s1*5 \break \once \override Score.NonMusicalPaperColumn .line-break-system-details.extra-offset = #'(0 . 20) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
Maintenant que chaque système est explicitement positionné, nous pouvons
jouer sur la distance séparant les portées de chacun des systèmes, grâce
à la sous-propriété alignment-distances. Comme on peut le
constater, est utilisée une liste associative pour définir en même temps
deux sous-propriétés différentes de line-break-system-details.
\book { \score { << \new Staff << \new Voice { \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 0) (alignment-distances . (10))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 30) (alignment-distances . (15))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 65) (alignment-distances . (20))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } }![]()
Voici maintenant comment positionner des portées à l’intérieur d’un
système. Il est à noter que alignment-distances s’applique
directement aux portées sans tenir compte d’un regroupement par
StaffGroup ou autre. Une valeur à #f indique qu’il faudra
prendre la valeur par défaut.
\book { \score { << \new Staff << \new Voice { \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 0) (alignment-distances . (15 8))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 35) (X-offset . 10) (alignment-distances . (#f 8))) s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((Y-offset . 65) (alignment-distances . (8 15))) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new StaffGroup << \new Staff { \repeat unfold 15 { d'4 d' d' d' } } \new Staff { \repeat unfold 15 { e'4 e' e' e' } } >> >> } }![]()
La dernière sous-propriété de line-break-system-details,
bottom-padding, agit de manière analogue à
last-bottom-spacing. Il est important de garder à l’esprit
qu’elle ne définit pas un espace compressible ou extensible, mais une
valeur de décalage fixe et rigide entre le bas de la page et le dernier
système. Voici notre exemple de base sans ragged-bottom,
autrement dit réparti sur la hauteur de page, pour indiquer les
distances par défaut.
\book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } \paper { ragged-last-bottom = ##f } }![]()
Définir bottom-padding mène à ce résultat.
\book { \score { << \new Staff << \new Voice { s1*5 \break s1*5 \break \once \override Score.NonMusicalPaperColumn.line-break-system-details = #'((bottom-padding . 20)) s1*5 \break } \new Voice { \repeat unfold 15 { c'4 c' c' c' } } >> \new Staff { \repeat unfold 15 { d'4 d' d' d' } } >> } \paper { ragged-last-bottom = ##f } }![]()
Quelques points à prendre en considération :
- Lorsque vous utilisez
alignment-distances, les paroles et autres lignes de non-portée ne comptent pas pour une portée. - Les nombres fournis aux sous-propriétés
X-offset,Y-offset,extra-offsetetalignment-distancessont considérés comme des multiples de la distance entre des portées adjacentes. Des valeurs positives remontent les portées et paroles, des valeurs négatives les descendent. - Dans la mesure où
NonMusicalPaperColumn.line-break-system-detailspermet de positionner systèmes et portées n’importe où sur une page, vous pourriez être en contradiction avec les dimensionnements de la feuille ou bien aboutir à des surimpressions. Soyez donc raisonnable quant aux différentes valeurs que vous affectez à ces sous-propriétés.
Voir aussi
Morceaux choisis : Espacements.
| [ << Espacement vertical ] | [Top][Contents][Index] | [ Espacement horizontal >> ] |
| [ < Espacement des lignes rattachées à des portées ] | [ Up: Espacement vertical ] | [ Résolution des collisions verticales > ] |
![[image of music]](../d3/lily-5e8fca14.png)
![[image of music]](../d6/lily-67bde00c.png)
![[image of music]](../7d/lily-33597acb.png)
![[image of music]](../9f/lily-716f8afe.png)
![[image of music]](../e3/lily-072cc1a1.png)
![[image of music]](../80/lily-e79ca181.png)
![[image of music]](../57/lily-a2b79e9a.png)