[ << Gestió de l'espai ] | [Part superior][Continguts][Índex] | [ Canvi dels valors predeterminats >> ] |
[ < Espaiat vertical ] | [ Amunt : Espaiat vertical ] | [ Propietats d'espaiat dins dels sistemes > ] |
4.4.1 Espaiat vertical flexible dins dels sistemes
Tres mecanismes diferents controlen l’espaiat vertical flexible dins dels sistemes, un per cada una de les categories següents:
- pautes sense agrupar,
-
pautes agrupades (pautes dins d’un grup de pentagrames com
ChoirStaff
, etc.), k -
línies que no són pautes (com
Lyrics
,ChordNames
, etc.).
L’alçada de cada sistema es determina en dues fases. Primer, tots els pentagrames es disposen segons la quantitat d’espai buit disponible. Després, les línies que no són pautes es distribueixen entre les pautes.
Observeu que els mecanismes d’espaiat estudiats en aquesta secció
sols controlen l’espaiat vertical de les pautes i les línies que
no són pautes dins dels sistemes individuals. L’espaiat vertical
entre diferents sistemes, partitures, marcatges i marges es
controla mitjançant variables de \paper
que s’estudien a
Variables flexibles d’espaiat vertical de \paper
.
Propietats d’espaiat dins dels sistemes | ||
Espaiat de pautes no agrupades | ||
Espaiat de pautes agrupades | ||
Espaiat de les línies que no són pautes |
Propietats d’espaiat dins dels sistemes
Els mecanismes d’espaiat vertical dins del sistema es controlen
amb dos conjunts de propietats de grob. El primer conjunt està
associat amb el grob VerticalAxisGroup
, que es crea per
part de totes les pautes i línies que no són pautes. El segon
conjunt està associat amb el grob StaffGrouper
, que pot
crear-se per part dels grups de pentagrames, però sol si se’l
crida explícitament. Aquestes propietats es descriuen
individualment al final de la secció actual.
El noms d’aquestes propietats (excepte per a
staff-affinity
) segueixen el format
element1-element2-spacing
, on
element1
i element2
són els elements
que s’espaiaran. Observeu que element2
no està
necessàriamen per sota de element1
; por exemple,
nonstaff-relatedstaff-spacing
mesura cap a munt a partir de
la línia de tipus no-pauta si staff-affinity
és UP
.
Cada distància es mesura entre els punts de referència dels
dos elements. El punto de referència per a un pentagrama i
un altre tipus de pauta és el centre vertical del seu
StaffSymbol
(és a dir, la línia central si
line-count
és un nombre imparell; l’espai central si
line-count
és parell). Els punts de referència per a les
línies individuals que no són pautes apareixen a la taula següent:
Línia que no és una pauta | Punt de referència |
---|---|
ChordNames | línia de base |
NoteNames | liniaa de base |
Lyrics | línia de base |
Dynamics | la meitat de l’alçada de la ‘m’ |
FiguredBass | punt més alt |
FretBoards | línia superior |
A la imatge següent, les línies horitzontals indiquen les posicions d’aquests punts de referència:
Cada una de les propietats de grob de l’espaiat vertical (excepte
staff-affinity
) usa la mateixa estructura de llita-A que
les variables d’espaiat del bloc \paper
que s’han estudiat a
Variables flexibles d’espaiat vertical de \paper
.
A Modificació de les llistes-A s’estudien mètodes específics
per a la modificació de les llistes-A. Les propietats dels grobs
s’han d’ajustar amb un \override
dins d’un bloc
\score
o \layout
, y no dins d’un bloc \paper
.
L’exemple que segueix mostra les dues maneres de modificar aquestes llistes-A. La primera declaració actualitza un parell clau-valor de forma individual, i la segona redefineix la propietat completament:
\new Staff \with { \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10 } { … } \new Staff \with { \override VerticalAxisGroup.default-staff-staff-spacing = #'((basic-distance . 10) (minimum-distance . 9) (padding . 1) (stretchability . 10)) } { … }
Per modificar globalment qualssevol dels ajustos d’espaiat,
poseu-los dins del bloc \layout
:
\layout { \context { \Staff \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10 } }
Els ajustos estàndard per a les propietats de grob de l’espaiat vertical s’indiquen a VerticalAxisGroup i a StaffGrouper. Les sobreescriptures predeterminades per als tipus específics de línies que no són pautes estan indicades a les descripcions de context corresponents a Contexts.
Propietats del grob VerticalAxisGroup
Les propietats de VerticalAxisGroup
se solen ajustar amb
una ordre \override
al nivell de Staff
(o equivalent).
-
staff-staff-spacing
S’utilitza per determinar la distància entre la pauta actual i la pauta que està just per sota d’ella dins del mateix sistema, fins i tot si hi ha més línies que no són pautes (com ara
Lyrics
) entre les dues pautes. No s’aplica a la pauta inferior d’un sistema.Inicialment, el valor de l’espaiat
staff-staff-spacing
d’un grupVerticalAxisGroup
és una funció de l’Scheme que aplica les propietats delStaffGrouper
si la pauta forma part d’un grup, o eldefault-staff-staff-spacing
de la pauta en cas contrari. Això fa possible que les pautes estiguin espaiades de forma diferent quan estan agrupades. Per aconseguir un espaiat regular sense importar l’agrupament, aquesta funció es pot substituir per una llista-A d’espaiat flexible, utilitzant la forma de sobreescriptura de redefinició completa que s’ha mostrat abans.-
default-staff-staff-spacing
Una llista-A d’espaiat fleixble que defineix l’espai
staff-staff-spacing
que s’usarà per a les pautes sense agrupar, a no ser que s’hagi sobreescrit explícitamentstaff-staff-spacing
amb una ordre\override
.-
staff-affinity
Direcció de la pauta a utilitzar per a l’espaiat de la línia actual que no és pauta. Es pot escollir entre
UP
(amunt),DOWN
(avall) iCENTER
(centre). Si ésCENTER
, la línia del tipo no-pauta es col·loca equidistant entre les dues pautes contigües a ambdós costat, a no ser que l’impedeixin col·lisions o altres restriccions d’espaiat. Les línies del tipus no-pauta adjacents han de portar valors destaff-affinity
no creixents des de la part superior fins la inferior, per exemple una línia del tipus no-pauta establerta aUP
no hauria de seguir immediatament a una altra que estigui establerta aDOWN
. Les línies del tipus no-pauta a la part superior d’un sistema han d’usarDOWN
; les de la part inferior han d’usarUP
. L’ajustament destaff-affinity
per a una pauta fa que se la tracti com una línia que no és una pauta. L’establiment destaff-affinity
a#f
per a una línia que no és una pauta fa que es tracti com una pauta. L’establiment destaff-affinity
aUP
,CENTER
, oDOWN
fa que el pentagrama resulti espaiat com si fos una línia que no és una pauta.-
nonstaff-relatedstaff-spacing
Distància entre la línia del tipus no-pauta actual i la pauta més pròxima en la direcció de
staff-affinity
, si no hi ha cap línia que no sigui una pauta entre les dues, istaff-affinity
ésUP
oDOWN
. Sistaff-affinity
ésCENTER
, aleshores s’usanonstaff-relatedstaff-spacing
per a les pautes més pròximes als dos costats, fins i tot que apareguin altres línies del tipus no-pauta entre la pauta actual i una de les altres. Això significa que la col·locació d’una línia que no és una pauta depèn tant de les pautes que la rodegen com de les línies que no són pautes i que la rodegen. L’establiment el paràmetre d’ampliatstretchability
d’un d’aquests tipus d’espaiat a un valor més petit provoca que aquest espaiat domini. L’establiment destretchability
a un valor més gran fa que aquest espaiat tingui un efecte menor.-
nonstaff-nonstaff-spacing
Distància entre la línia actual del tipus no-pauta i la següent línia del tipus no-pauta en la direcció de
staff-affinity
, si les dues estan al mateix cantó de la pauta relacionada, istaff-affinity
ésUP
oDOWN
.-
nonstaff-unrelatedstaff-spacing
Distància entre la línia actual del tipus no-pauta i la pauta en la direcció oposada de
staff-affinity
, si no hi ha cap altra línia del tipus no-pauta entre les dues, istaff-affinity
està establert aUP
oDOWN
. Es pot usar, per exemple, per requerir de farciment mínim entre una línia deLyrics
i la pauta a la que no pertany.
Propietats del grob StaffGrouper
Les propietats de StaffGrouper
se solen ajustar amb una
ordre \override
al nivell de StaffGroup
(o
equivalent).
-
staff-staff-spacing
Distància entre pautes consecutives dins del grup de pautes actual. La propietat
staff-staff-spacing
del grobVerticalAxisGroup
d’una pauta individual es pot sobreescriure amb diferents ajustaments d’espaiat per a aquesta pauta.-
staffgroup-staff-spacing
Distància entre l’última pauta del grup en curs i la pauta que està just per sota d’ella dins del mateix sistema, fins i tot si existeixen una o més línies que no són pautes (tals com
Lyrics
) entre les dues pautes. No s’aplica al pentagrama o pauta inferior d’un sistema. La propietatstaff-staff-spacing
del grobVerticalAxisGroup
d’una pauta individual es pot sobreescriure amb diferents ajustament d’espaiat per a aquesta pauta.
Vegeu també
Referencia de la notació:
Variables flexibles d’espaiat vertical de \paper
,
Modificació de les llistes-A.
Fitxers d’inici: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.
Referència de funcionament intern: Contexts, VerticalAxisGroup, StaffGrouper.
Espaiat de pautes no agrupades
Les pautes, tals como els pentagrames (Staff
),
pautes de percussió (DrumStaff
) o de tabulatura
(TabStaff
), etc. són contextos que poden contenir un o més
contextos de veu, però no poden contenir altres pautes.
Les següents propietats afecten a l’espaiat de les pautes no agrupades:
- Propietats de
VerticalAxisGroup
:-
default-staff-staff-spacing
-
staff-staff-spacing
-
Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.
Estan implicades certes propietats addicionals per a les pautes que són part d’un grup; vegeu Espaiat de pautes agrupades.
L’exemple següent mostra com la propietat
default-staff-staff-spacing
pot afectar l’espaiat de pautes
no agrupades. Les mateixes sobreescriptures aplicades a
staff-staff-spacing
tindrien el mateix efecte, però també
s’aplicaria en cas que les pautes estiguessin combinades en un
grup o grups.
\layout { \context { \Staff \override VerticalAxisGroup.default-staff-staff-spacing = #'((basic-distance . 8) (minimum-distance . 7) (padding . 1)) } } << % A l'última nota de totes li cal més espai que el que pot % proveir 'basic-distance, per tant la distància entre aquest % pentagrama i el següent es determina amb 'padding. \new Staff { b,2 r | } % Aquí, 'basic-distance proveeix prou espai, i no cal comprimir % l'espai (cap a 'minimum-distance) per fer espai per cap altra % cosa a la pàgina, per tant la distància entre aquest % pentagrama i el següent es determina per 'basic-distance. \new Staff { \clef bass g2 r | } % Si s'estableix 'padding a un valor negatiu, permet que les % pautes xoquin. EL valor més petit acceptable per a % 'basic-distance és 0. \new Staff \with { \override VerticalAxisGroup.default-staff-staff-spacing = #'((basic-distance . 3.5) (padding . -10)) } { \clef bass g2 r | } \new Staff { \clef bass g2 r | } >>
Vegeu també
Fitxers d’inici: ‘scm/define-grobs.scm’.
Fragments de codi: Spacing.
Referència de funcionament intern: VerticalAxisGroup.
Espaiat de pautes agrupades
En partitures grans com les orquestrals, s’acostuma a col·locar els pentagrames en grups. L’espaiat entre els grups sol ser més gran que l’espai que hi ha entre els pentagrames dins del mateix grup.
Els grups de pautes, Staff-groups (tals com
StaffGroup
, ChoirStaff
, etc.) són contextos que
poden contenir al mateix temps un o més pentagrames o pautes.
Les propietats següents afecten l’espaiat de les pautes dins dels grups:
- Propietats de
VerticalAxisGroup
:-
staff-staff-spacing
-
- Propietats de
StaffGrouper
:-
staff-staff-spacing
-
staffgroup-staff-spacing
-
Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.
Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.
L’exemple següent mostra com poden afectar les propietats del grob
StaffGrouper
a l’espaiat de les pautes agrupades:
\layout { \context { \Score \override StaffGrouper.staff-staff-spacing.padding = #0 \override StaffGrouper.staff-staff-spacing.basic-distance = #1 } } << \new PianoStaff \with { \override StaffGrouper.staffgroup-staff-spacing.basic-distance = #20 } << \new Staff { c'1 } \new Staff { c'1 } >> \new StaffGroup << \new Staff { c'1 } \new Staff { c'1 } >> >>
Vegeu també
Fitxers d’inici: ‘scm/define-grobs.scm’.
Fragments de codi: Spacing.
Referència de funcionament intern: VerticalAxisGroup, StaffGrouper.
Espaiat de les línies que no són pautes
Les Línies que no són pautes (com ara Lyrics
,
ChordNames
, etc.) sén contextos els objectes de presentació
dels quals s’imprimeixen com pentagrames (és a dir, en línies
horitzontals dins dels sistemes). Específicament, les línies que
no són pautes són contextos del tipus no-pauta que contenen el gravador
Axis_group_engraver.
Les propietats següents afecten a l’espaiat de les línies que no són pautes:
- Propietats de
VerticalAxisGroup
:-
staff-affinity
-
nonstaff-relatedstaff-spacing
-
nonstaff-nonstaff-spacing
-
nonstaff-unrelatedstaff-spacing
-
Aquestes propietats de grob es descriuen individualment més a dalt; vegeu Propietats d’espaiat dins dels sistemes.
L’exemple següent mostra com la propietat
nonstaff-nonstaff-spacing
pot afectar l’espaiat de línies
consecutives que no són pautes. Aquí, mitjançant l’establiment de
la clau de capacitat d’ampliació stretchability
a un valor
més gran, la línia de lletra es capaç d’ampliar-se molt més del
que és usual:
\layout { \context { \Lyrics \override VerticalAxisGroup.nonstaff-nonstaff-spacing.stretchability = #1000 } } \new StaffGroup << \new Staff \with { \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 30)) } { c'1 } \new Lyrics \with { \override VerticalAxisGroup.staff-affinity = #UP } \lyricmode { up } \new Lyrics \with { \override VerticalAxisGroup.staff-affinity = #CENTER } \lyricmode { center } \new Lyrics \with { \override VerticalAxisGroup.staff-affinity = #DOWN } \lyricmode { down } \new Staff { c'1 } >>
Vegeu també
Fitxers d’inici: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.
Fragments de codi: Spacing.
Referència de funcionament intern: Contexts, VerticalAxisGroup.