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