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

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

[image of music]


Ú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-axisdirection
propiedadpropiedadcol·locació
0-1esquerra
01dreta
1-1a sota
11a 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"

[image of music]

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

[image of music]


Ú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 "↓"

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]


LilyPond — Referència de la notació v2.22.1 (branca estable).