Manual de aprendizaje de GNU LilyPond: 4.6.2 Arreglar notación con superposiciones

### 4.6.2 Arreglar notación con superposiciones

Veamos ahora cómo pueden ser de ayuda las propiedades que hemos visto en la sección anterior, para resolver problemas de notación que se superpone.

#### La propiedad `padding` (relleno)

La propiedad `padding` se puede ajustar para aumentar (o disminuir) la distancia entre símbolos impresos encima o debajo de las notas.

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

>     % This will not work, see below
>     \override MetronomeMark.padding = #3
>     \tempo 4 = 120
>     c'1 |
>     % This works
>     \override Score.MetronomeMark.padding = #3
>     \tempo 4 = 80
>     d'1 |

Observe en el segundo ejemplo la gran importancia que tiene saber qué contexto maneja un determinado objeto. Puesto que el objeto `MetronomeMark` se maneja dentro del contexto `Score`, los cambios de propiedades en el contexto `Voice` pasarán inadvertidos. Para ver más detalles, consulte Modificar las propiedades.

Si la propiedad de relleno `padding` de un objeto se incrementa cuando dicho objeto se encuentra en una pila de objetos que se están colocando de acuerdo a su prioridad `outside-staff-priority`, entonces ese objeto se moverá, y también todos los que están por fuera de él.

#### La propiedad `right-padding` (relleno por la derecha)

La propiedad `right-padding` afecta al espaciado entre la alteración y la nota a que se aplica. Normalmente no es necesaria, pero el espaciado predeterminado puede estar mal para ciertos glifos de alteraciones o combinaciones de glifos que se usan en música microtonal. Éstos tienen que introducirse sobreescribiendo el sello de la alteración con un elemento de marcado que contenga los símbolos deseados, así:

>     sesquisharp = \markup { \sesquisharp }
>     \relative {
>       c''4
>       % This prints a sesquisharp but the spacing is too small
>       \once \override Accidental.stencil = #ly:text-interface::print
>       \once \override Accidental.text = #sesquisharp
>       cis4 c
>       % This improves the spacing
>       \once \override Score.AccidentalPlacement.right-padding = #0.6
>       \once \override Accidental.stencil = #ly:text-interface::print
>       \once \override Accidental.text = #sesquisharp
>       cis4 |
>     }

Esto utiliza necesariamente una sobreescritura para el sello de la alteración que no se estudiará hasta más adelante. El tipo de sello debe ser un procedimiento, aquí modificado para que imprima el contenido de la propiedad `text` del objeto `Accidental`, que a su vez está establecido como un signo de sesquisostenido. Entonces el signo se puede separar de la cabeza de la nota sobreescribiendo `right-padding`.

#### La propiedad `staff-padding` (relleno de pentagrama)

`staff-padding` se puede usar para alinear objetos como matices dinámicos a lo largo de una línea de base a una distancia fija del pentagrama, siempre que no exista ningún otro elemento de notación que fuerce una distancia mayor al pentagrama. No es una propiedad de `DynamicText` sino de `DynamicLineSpanner`. Esto es así porque la línea de base debe aplicarse por igual a todas las dinámicas, entre ellas las que se han creado como objetos de extensión. Así que ésta es la forma de alinear las indicaciones de matiz en el ejemplo de la sección anterior:

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

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

El ejemplo siguiente muestra cómo ajustar la posición de un objeto de digitación de cuerda en relación a la plica de una nota mediante el alineamiento del límite derecho con el punto de referencia de la nota «padre»:

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

#### La propiedad `staff-position` (posición en el pentagrama)

Los silencios multi-compás en una voz pueden chocar con las notas en otra voz. Puesto que estos silencios se tipografían centrados entre las barras de compás se necesitaría bastante esfuerzo para que LilyPond averiguara qué otras notas podrían chocar con él, ya que actualmente todo el manejo de colisiones entre notas y silencios se hace solamente para notas y silencios que ocurren al mismo tiempo. He aquí un ejemplo de colisión de este tipo:

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

La mejor solución aquí es mover el silencio multi-compás hacia abajo, pues el silencio está en la voz dos. El ajuste predeterminado para `\voiceTwo` (es decir, en la segunda voz de una construcción `<<{…} \\ {…}>>`) es que `staff-position` tenga el valor -6 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor `-10`.

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

Esto es mejor que utilizar, por ejemplo, `extra-offset`, porque la línea adicional por encima del silencio se inserta automáticamente.

Consulte la sección ‘Edición manual de las ligaduras’ en Ligaduras de unión para ver la diferencia entre valores exactos e inexactos.

#### La propiedad `extra-offset` (desplazamiento adicional)

La propiedad `extra-offset` da un completo control sobre el posicionamiento de un objeto tanto vertical como horizontalmente.

En el ejemplo siguiente, la segunda digitación se desplaza ligeramente a la izquierda, y 1.8 espacios de pentagrama hacia abajo:

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

#### La propiedad `positions` (posiciones)

La propiedad `positions` permite controlar manualmente la posición vertical y de ahí también la inclinación de los tresillos, ligaduras de expresión y de fraseo, y barras de corchea.

He aquí un ejemplo en el que las ligaduras de fraseo y de expresión chocan entre sí:

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

Una posibilidad sería mover los dos extremos de la ligadura de fraseo hacia arriba. Podemos tratar de establecer el extremo izquierdo a 2.5 espacios de pentagrama por encima de la tercera línea y el extremo derecho a 4.5 también hacia arriba, y LilyPond seleccionaría la ligadura de fraseo de entre las candidatas que ha encontrado con sus extremos más cercanos a éstos:

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

Esto supone una mejora, pero ¿por qué no bajar un poco el extremo derecho de la ligadura de expresión? Si lo probamos, veremos que no se puede hacer así. Ello es a causa de que no existen ligaduras de expresión candidatas que estén más bajas que la que ya se ha seleccionado, y en este caso la propiedad `positions` no tiene ningún efecto. Sin embargo, las ligaduras de unión, expresión y fraseo se pueden colocar y conformar de manera muy exacta cuando se necesita. Para aprender la manera de hacerlo, consulte unión y de expresión Modificación de ligaduras de unión y de expresión.

Presentamos otro ejemplo. Vemos que la barra choca con las ligaduras:

>     {
>       \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
>         }
>       >>
>     }

Esto se puede resolver manualmente elevando los dos extremos de la barra desde su posición a 1.81 espacios de pentagrama bajo la línea central hasta, digamos, 1 espacio:

>     {
>       \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
>         }
>       >>
>     }

Observe que la sobreescritura sigue aplicándose en la segunda voz del segundo compás de corcheas, pero no a ninguna de las barras de la primera voz, ni siquiera a las que están en el segundo compás, que es posterior. Tan pronto como la sobreescritura no pueda tener ningún efecto, debería ser revertida como se muestra.

#### La propiedad `force-hshift` (forzar desplazamiento horizontal)

Ahora podremos ver cómo aplicar las correcciones finales al ejemplo de Chopin que presentamos al final de Oigo voces, que dejamos con este aspecto:

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

Es necesario que la nota interior del primer acorde (el La bemol de la cuarta voz) no se aparte de la columna vertical de la nota aguda, por lo que usamos `\shiftOff`.

En el segundo acorde preferimos que el Fa esté alineado con el La bemol y que la nota grave se coloque ligeramente a la derecha para evitar una colisión de las plicas. Lo conseguimos ajustando el valor de `force-hshift` en la `NoteColumn` del Re bemol grave para moverlo a la derecha medio espacio de pentagrama, y fijando `force-hshift` para el Fa al vaor cero. Observe que usamos `\once` para evitar que los ajustes se propaguen más allá del momento musical inmediato, aunque en este pequeño ejemplo podrían omitirse el `\once` y el segundo `\override` de la cuarta voz. Ello no supondría una buena práctica.

Presentamos a continuación el resultado 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 de aprendizaje v2.22.2 (rama estable).