Manual d'aprenentatge del GNU LilyPond: 4.6.2 Ajustament de la notació amb superposicions

### 4.6.2 Ajustament de la notació amb superposicions

Vejam ara com poden ser d’ajuda les propietats que hem vist a la secció anterior, per resoldre problemes de notació que se superposa.

#### La propietat `padding` (farciment))

La propietat `padding` es pot ajustar per augmentar (o disminuir) la distància entre símbols impresos a sobre o a sota de les notes

>     c'2\fermata
>     \override Script.padding = #3
>     b2\fermata

>     % Això no funcionarà, mireu a sota
>     \override MetronomeMark.padding = #3
>     \tempo 4 = 120
>     c'1 |
>     % Això funciona
>     \override Score.MetronomeMark.padding = #3
>     \tempo 4 = 80
>     d'1 |

Observeu al segon exemple la gran importància que té saber quin context respecta un determinat objecte. Atès que l’objecte `MetronomeMark` respecta el context `Score`, els canvis de propietats al context `Voice` passaran inadvertits. Per veure més detalls consulteu Modificació de les propietats.

Si la propietat de farciment `padding` d’un objecte s’incrementa quan aquest objecte es troba a una pila d’objectes que s’estan col·locant d’acord a la seva prioritat `outside-staff-priority`, llavors aquest objecte es mourà, i també tots els que estan per fora d’ell.

#### La propietat `right-padding` (farciment per la dreta)

La propietat `right-padding` afecta l’espaiat entre la alteració i la nota a la qual s’aplica. Normalment no és necessària, però l’espaiat predeterminat pot estar malament per certes glifs d’alteracions o combinacions de glifs que s’usen a la música microtonal. Aquests glifs han d’introduir-se sobreescrivint el segell de l’alteració amb un element de marcatge que contingui els símbols desitjats, així:

>     sesquisharp = \markup { \sesquisharp }
>     \relative {
>       c''4
>       % Això imprimeix un sesquisostingut però l'espaiat és massa petit
>       \once \override Accidental.stencil = #ly:text-interface::print
>       \once \override Accidental.text = #sesquisharp
>       cis4 c
>       % Això millora l'espaiat
>       \once \override Score.AccidentalPlacement.right-padding = #0.6
>       \once \override Accidental.stencil = #ly:text-interface::print
>       \once \override Accidental.text = #sesquisharp
>       cis4 |
>     }

Aixo utilitza necessàriament una sobreescriptura per al segell de l’alteració que s’estudiarà fin més endavant. El tipus de segell ha de ser un procediment, aquí modificat perquè imprimeixi el contingut de la propietat `text` de l’objecte `Accidental`, que al seu cop està establert com un signe de sesquisostingut. Aleshores el signe es pot separar de la cap de la nota sobreescrivint `right-padding`.

#### La propietat `staff-padding` (farciment de pentagrama)

`staff-padding` es pot usar per alinear objectes com matisos dinàmics al llarg d’una línia de base a una distància fixa del pentagrama, sempre que no existeixi cap altre element de notació que forci una distància major al pentagrama. No és una propietat de `DynamicText` sinó de `DynamicLineSpanner`. Això és així perquè la línia de base s’ha d’aplicar per igual a totes las dinàmiques, entre elles las que s’han creat com objectes de extensió. Així que aquesta és la forma d’alinear les indicacions de matís a l’exemple de la secció anterior:

>     \override DynamicLineSpanner.staff-padding = #3
>     \relative { a'4\f b\mf a\p b\mp }

#### La propietat `self-alignment-X` (auto-alineació en X)

L’exemple següent mostra com ajustar la posició d’un objecte de digitació de corda en relació a la plica d’una nota mitjançant l’alineament del límit dret amb el punt de referència de la nota «pare»:

>     \voiceOne
>     <a''\2>
>     \once \override StringNumber.self-alignment-X = #RIGHT
>     <a''\2>

#### La propietat `staff-position` (posició al pentagrama)

Els silencis multi-compàs en una veu poden xocar amb les notes a una altra veu. Atès que aquests silencis es graven centrats entre les barres de compàs, es necessitaria força esforç perquè el LilyPond esbrinés quines altres notes podrien xocar amb ell, ja que actualment tota la gestió de col·lisions entre notes i silencis es fa sols per a notes i silencis que ocorren al mateix temps. Vet aquí un exemple de col·lisió d’aquest tipus:

>     << \relative { c'4 c c c } \\ { R1 } >>

La millor solució aquí és moure el silenci multi-compàs cap avall, ja que el silencia està a la veu dos. L’ajust predeterminat per a `\voiceTwo` (és a dir, a la segona veu d’una construcció `<<{…} \\ {…}>>`) és que `staff-position` tingui el valor -4 per MultiMeasureRest, així que l’hem de baixar, diguem-ne, quatre semiespais de pentagrama, al valor `-8`.

>     <<
>       \relative { c'4 c c c }
>       \\
>       \override MultiMeasureRest.staff-position = #-8
>       { R1 }
>     >>

Això és millor que utilitzar, per exemple, `extra-offset`, perquè la línia addicional per sobre del silenci s’insereix automàticament.

#### La propietat `extra-offset` (desplaçament addicional)

La propietat `extra-offset` dóna un complet control sobre el posicionament d’un objecte tan vertical com horitzontalment.

A l’exemple següent, la segona digitació es desplaça lleugerament a l’esquerra, i 1.8 espais de pentagrama cap avall:

>     f'4-5
>     \once \override Fingering.extra-offset = #'(-0.3 . -1.8)
>     f'4-5

#### La propietat `positions` (posicions)

La propietat `positions` permet controlar manualment la posició vertical i des d’aquí també la inclinació dels tresets, lligadures d’expressió i de fraseig, i barres de corxera.

Vet aquí un exemple en el qual les lligadures de fraseig i d’expressió xoquen entre sí:

>     \relative { a'8 \( ( a'16 ) a \) }

Una possibilitat seria moure els dos extrems de la lligadura de fraseig cap a dalt. Podem intentar establir l’extrem esquerre a 2.5 espais de pentagrama per sobre de la tercera línia i l’extrem dret a 4.5 també cap amunt, i el LilyPond seleccionaria la lligadura de fraseig d’entre les candidates que ha trobat amb els seus extrems més propers a ells:

>     \once \override PhrasingSlur.positions = #'(2.5 . 4.5)
>     a'8 \( ( a''16 ) a'' \)

Això suposa una millora, però, perquè no baixar una mica l’extrem dret de la lligadura d’expressió? Si ho provem, veurem que no es pot fer així. Això és a causa que no existeixen lligadures d’expressió candidates que estiguin més baixes que la que ja s’ha seleccionat, i en aquest cas la propietat `positions` no té cap efecte. Malgrat això, les lligadures d’unió, expressió i fraseig es poden col·locar i ajustar de manera molt exacta quan cal. Per aprendre la manera de fer-lo, consulteu Modificació de lligadures d'unió i d'expressió.

Presentem un altre exemple. Veiem que la barra xoca amb les lligadures:

>     {
>       \time 4/2
>       <<
>         \relative { c'1~ 2. e8 f }
>         \\
>         \relative {
>           e''8 e e e
>           e e e e
>           f2 g
>         }
>       >>
>       <<
>         \relative { c'1~ 2. e8 f }
>         \\
>         \relative {
>           e''8 e e e
>           e e e e
>           f2 g
>         }
>       >>
>     }

Això es pot resoldre manualment elevant els dos extrems de la barra des de la seva posició a 1.81 espais de pentagrama sota la línia central fins, diguem-ne, 1 espai:

>     {
>       \time 4/2
>       <<
>         \relative { c'1~ 2. e8 f }
>         \\
>         \relative {
>           \override Beam.positions = #'(-1 . -1)
>           e''8 e e e
>           e e e e
>           f2 g
>         }
>       >>
>       <<
>         \relative { c'1~ 2. e8 f }
>         \\
>         \relative {
>           e''8 e e e
>           e e e e
>           f2 g
>           \revert Beam.positions
>         }
>       >>
>     }

Observeu que la sobreescriptura segueix aplicant-se a la segona veu del segon compàs de corxeres, però no a cap de les barres de la primera veu, ni tan sols a les que estan al segon compàs, que és posterior. Tan aviat com la sobreescriptura no pugui tenir cap efecte, hauria de ser revertida com es mostra.

#### La propietat `force-hshift` (forçar desplaçament horitzontal)

Ara podem veure com aplicar les correccions finals a l’exemple de Chopin que vam present al final de Sento veus, que deixem amb aquest aspecte:

>     \new Staff \relative {
>       \key aes \major
>       <<
>         { c''2 aes4. bes8 }
>         \\
>         { <ees, c>2 des }
>         \\
>         \\
>         { aes'2 f4 fes }
>       >> |
>       <c ees aes c>1 |
>     }

És necessari que la nota interior del primer acord (el La bemoll de la quarta veu) no s’aparti de la columna vertical de la nota aguda, per la qual cosa usem `\shiftOff`.

En el segon acord preferim que el Fa estigui alineat amb el La bemoll i que la nota greu es col·loqui lleugerament a la dreta per evitar una col·lisió de les pliques. Ho aconseguim ajustant el valor de `force-hshift` a la `NoteColumn` del Re bemoll greu per moure’l a la dreta mig espai de pentagrama, i fixant `force-hshift` per al Fa al valor zero. Observeu que usem `\once` per evitar que els ajustament es propaguin més enllà del moment musical immediat, tot i que a aquest petit exemple es podria ometre el `\once` y el segon `\override` de la quarta veu. Això no suposaria una bona pràctica.

Presentem a continuació el resultat final:

>     \new Staff \relative {
>       \key aes \major
>       <<
>         { c''2 aes4. bes8 }
>         \\
>         { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
>         \\
>         \\
>         { \once \shiftOff aes'2 \once \shiftOff f4 fes }
>       >> |
>       <c ees aes c>1 |
>     }

#### LilyPond — Manual d’aprenentatge v2.22.2 (branca estable).