5.5.1 Alineació d’objectes
Els objectes gràfics que donen suport a la interfície
self-alignment-interface
i/o la interfície
side-position-interface
es poden alinear contra un objecte
col·locat prèviament, de diverses maneres. Per veure una llista
d’aquests objectes, consulteu
self-alignment-interface i
side-position-interface.
Tots els objectes gràfics tenen un punt de referència, una extensió horitzontal i una extensió vertical. L’extensió horitzontal és una parella de nombres que són els desplaçament a partir del punt de referència de les vores esquerra i dreta, sent negatius els desplaçament cap a l’esquerra. L’extensió vertical és una parella de nombre que donen el desplaçament a partir del punt de refereǹcia fins les vores inferior i superior, sent negatius els desplaçaments cap avall.
La posició d’un objecte sobre el pentagrama ve donada pels valors
de les propietats X-offset
i Y-offset
. El valor de
X-offset
dóna el desplaçament des de la coordenada X del
punt de referència de l’objecte pare, i el valor de
Y-offset
dóna el desplaçament a partir de la línia central
del pentagrama. Els valors de X-offset
i Y-offset
es poden establir directament o es pot deixar que es calculin per
part de procediments per aconseguir una alineació amb l’objecte pare.
Nota: Molts objectes tenen consideracions de posicionament
especials que fan que s’ignori o es modifiqui qualsevol ajustament
realitzat a X-offset
o a Y-offset
, malgrat que
l’objecte contempli la interfície self-alignment-interface
.
La sobreescriptura de les propietats X-offset
ó
Y-offset
a un valor fix fa que es descarti la respectiva
propietat self-alignment
.
Per exemple, una alteració accidental es pot tornar a posicionar
verticalment establint Y-offset
però els canvis a
X-offset
no tenen cap efecte.
Les lletres d’assaig es poden alinear amb objectes divisibles com
línies divisòries, claus, armadures i indicacions de compàs. Hi ha
propietats especials, que es troben a
break-aligned-interface
per al posicionament de les lletres
d’assaig sobre aquests objectes.
Vegeu també
Referència de la notació:
Ús de la break-alignable-interface
.
Manual d’extensió: Funcions de callback.
Establiment directede X-offset i Y-offset | ||
Ús de la side-position-interface | ||
Ús de la self-alignment-interface | ||
Ús de la break-alignable-interface |
Establiment directede X-offset
i Y-offset
Es poden donar valors numèrics a les propietats X-offset
i
Y-offset
de molts objectes. L’exemple següent mostra tres
notes amb una digitació en la seva posició predeterminada i amb
els valors X-offset
i Y-offset
modificats.
a'-3 a' -\tweak X-offset #0 -\tweak Y-offset #0 -3 a' -\tweak X-offset #-1 -\tweak Y-offset #1 -3
Ús de la side-position-interface
Un objecte que doni suport a la side-position-interface
es
pot col·locar junt a un objecte pare de forma que els bords
especificats dels dos objects es toquin. L’objecte es pot situar
a sobre, a sota, a la dreta o a l’esquerra de l’objecte pare. EL
pare no es pot especificar; ve determinat per l’ordre dels
elements al flux d’entrada. Gairebé tots els objectes tenen el
cap de la nota associada com a pare.
Els valors de les propietats side-axis
i direction
determinen on col·locar l’objecte, com segueix:
side-axis | direction | |
---|---|---|
propiedad | propiedad | col·locació |
0 | -1 | esquerra |
0 | 1 | dreta |
1 | -1 | a sota |
1 | 1 | a sobre |
Si side-axis
és 0
, X-offset
s’ha d’establir
al procediment ly:side-position-interface::x-aligned-side
.
Aquest procediment retorna el calor correcte de X-offset
per situar l’objecte al costat esquerre o dret del pare d’acord
amb el valor de direction
.
Si side-axis
és 1
, Y-offset
s’ha d’establir
al procediment ly:side-position-interface::y-aligned-side
.
Aquest procediment retorna el valor correcte de Y-offset
per situar l’objecte a sobre o a sota del pare d’acord amb el
valor de direction
.
Ús de la self-alignment-interface
Auto-alineació horitzontal dels objectes
L’alineació horitzontal d’un objecte que dona suport a la interfície
self-alignment-interface
està controlada pel valor de la
propietat self-alignment-X
, sempre i quan la propietat
X-offset
d’aquest objecte està establerta a
ly:self-alignment-interface::x-aligned-on-self
. Se li pot
donar a self-alignment-X
qualsevol valor real, en unitats
de la meitat de l’extensió X tal de l’objecte. Els valors
negatius mouen l’objecte a la dreta, els positius cap a
l’esquerra. Un valor de 0
centra l’objecte sobre el punt
de referència del seu pare, un valor de -1
alinear la
vora esquerra de l’objecte sobre el punt de referència del seu
pare, i un valor de 1
alinea la vora dreta de l’objecte
sobre el punt de referència del seu pare. Es poden usar els
símbols LEFT
, CENTER
i RIGHT
en substitució
dels valors -1
, 0
i 1
, respectivament.
Normalment s’usaria l’ordre \override
per modificar el
valor de self-alignment-X
, però es pot usar l’ordre
\tweak
per alinear diverses anotacions per separat sobre
una sola nota:
a' -\tweak self-alignment-X #-1 ^"left-aligned" -\tweak self-alignment-X #0 ^"center-aligned" -\tweak self-alignment-X #RIGHT ^"right-aligned" -\tweak self-alignment-X #-2.5 ^"aligned further to the right"
Auto-alineació vertical dels objectes
Els objectes es poden alinear verticalment en una forma anàloga a
la alineació horitzontal si la propietat Y-offset
està
establerta a
ly:self-alignment-interface::y-aligned-on-self
. Malgra
això, sovint es troben implicats altres mecanismes en l’alineació
vertical: el valor de Y-offset
és tan sols una variable que
es té compte. Això pot fer que ajustar el valor de certes
objectes sigui un tasca dificultosa. Les unitats son sols la
meitat de les dimensions verticals de l’objecte, que sols ser
força petit, per la qual cosa poden requerir-se nombres força
grans. Un valor de -1
alinea la vora inferior de
l’objecte amb el punt de referència de l’objecte pare, un valor de
0
alinea el centre de l’objecte amb el punt de referència
del pare, i un valor de 1
alinear la vora superior de
l’objecte amb el punt de referència del pare. Es poden usar els
símbols DOWN
, CENTER
, UP
en substitució de
-1
, 0
i 1
, respectivament.
Auto-alineació d’objectes en las dues direccions
Establint tant X-offset
com Y-offset
, es pot alinear
un objecte en les dues direccions simultàniament.
L’exemple següent mostra com ajustar una digitació de forme que s’apropi al cap de la nota:
a' -\tweak self-alignment-X #0.5 % mou horitzontalment cap a l'esquerra -\tweak Y-offset #ly:self-alignment-interface::y-aligned-on-self -\tweak self-alignment-Y #-1 % mou amunt verticalment -3 % tercer dit
Ús de la break-alignable-interface
Les lletres d’assaig es poden alinear amb objectes de notació
diferents a les barres de compàs. Aquests objectes són
ambitus
, breathing-sign
, clef
, custos
,
staff-bar
, left-edge
, key-cancellation
,
key-signature
i time-signature
.
Cada tipus d’objecte té el seu propi punt de referència predeterminat, amb el que s’alineen les marques d’assaig:
% La marca d'assaig s'alinearà amb la vora dreta de la clau \override Score.RehearsalMark.break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e'1 % La marca d'assaig s'alinearà amb la vora esquerra de la indicació de temps \override Score.RehearsalMark.break-align-symbols = #'(time-signature) \key a \major \clef treble \time 3/4 \mark "↓" e'2. % La marca d'assaig se centrarà sobre la marca de respiració \override Score.RehearsalMark.break-align-symbols = #'(breathing-sign) \key a \major \clef treble \time 4/4 e'1 \breathe \mark "↓"
Es pot identificar una llista de possibles objectes per a
l’alineació. Si alguns dels objectes són invisibles en aquest
punt a causa del valor de break-visibility
o de valors de
visibilitat explícits per a les armadures i les claus, la lletra
d’assaig o número de compàs s’alineen amb el primer objecte de la
llista que sigui visible. Si cap objecte de la llista és visible,
l’objecte s’alinea amb la línia divisòria. Si la línia divisòria
és invisible, l’objecte s’alinea amb el punt en el qual es
trobaria la línia divisòria.
% La marca d'assaig s'alinearà amb la vora dreta de l'armadura \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e'1 % La marca d'assaig s'alinearà amb la vora dreta de la clau \set Staff.explicitKeySignatureVisibility = #all-invisible \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef bass \mark "↓" gis,1 % La marca d'assaig se centrarà sobre la línia de compàs \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.explicitClefVisibility = #all-invisible \override Score.RehearsalMark.break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e'1
L’alineació de la lletra d’assaig amb relació a l’objecte de notació es pot canviar, som es veu a l’exemple següent. En aquesta partitura amb diversos pentagrames, aquest ajustament s’ha de fer per a tots els pentagrames.
% La marca d'assaig s'alinearà amb la vora dreta de l'armadura \override Score.RehearsalMark.break-align-symbols = #'(key-signature) \key a \major \clef treble \time 4/4 \mark "↓" e'1 % La marca d'assaig se centrarà sobre l'armadura \once \override Score.KeySignature.break-align-anchor-alignment = #CENTER \mark "↓" \key a \major e'1 % La marca d'assaig s'alinearà amb la vora esquerra de l'armadura \once \override Score.KeySignature.break-align-anchor-alignment = #LEFT \key a \major \mark "↓" e'1
La lletra d’assaig també es pot desplaçar a la vora dreta o esquerra en una mesura arbitrària. Les unitats són espais de pentagrama:
% La marca d'assaig s'alinearà amb la vora esquerra de l'armadura % i després es desplaçarà 3.5 espais de pentagrama a la dreta % and then shifted right by 3.5 staff-spaces \override Score.RehearsalMark.break-align-symbols = #'(key-signature) \once \override Score.KeySignature.break-align-anchor = #3.5 \key a \major \mark "↓" e'1 % La marca d'assaig s'alinearà amb la vora esquerra de l'armadura % i després es desplaçarà 2 espais de pentagrama a l'esquerra \once \override Score.KeySignature.break-align-anchor = #-2 \key a \major \mark "↓" e'1