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

### 4.5.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.

>     c2\fermata
>     \override Script #'padding = #3
>     b2\fermata

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

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.

### 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'' {
>       c4
>       % 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 altura fija sobre el pentagrama, en lugar de hacerlo a una altura que dependa de la posición de la nota a la que están adosados. 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:

>     \dynamicUp
>     % Extend width by 1 unit
>     \override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
>     % Align dynamics to a base line 2 units above staff
>     \override DynamicLineSpanner #'staff-padding = #2
>     a4\f b\mf c\mp b\p

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

El ejemplo siguiente muestra cómo esto puede resolver la colisión entre un objeto de digitación de cuerda y 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:

>     << { c4 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 -4 para MultiMeasureRest, así que tenemos que bajarlo, digamos, cuatro semi-espacios de pentagrama, al valor `-8`.

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

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

### 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:

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

### la propiedad positions (posiciones)

La propiedad `positions` permite controlar manualmente la posición e inclinación de los tresillos, ligaduras de expresión y de fraseo, y barras de corchea. He aquí un ejemplo que tiene una fea ligadura de fraseo debido a que intenta evitar la ligadura de expresión que está sobre la acciaccatura.

>     r4 \acciaccatura e8\( d8 c~ c d c d\)

Simplemente podemos mover la ligadura de fraseo por encima de las notas, y de hecho ésta será la solución preferida:

>     r4
>     \phrasingSlurUp
>     \acciaccatura e8\( d8 c~ c d c d\)

Pero si por algún motivo no pudiéramos hacerlo, la otra alternativa sería mover el extremo izquierdo de la ligadura de fraseo un poco hacia abajo usando la propiedad `positions`. Esto también resuelve la forma algo indecente de la ligadura.

>     r4
>     \once \override PhrasingSlur #'positions = #'(-4 . -3)
>     \acciaccatura e8\( d8 c~ c d c d\)

Presentamos un ejemplo más extraído del comienzo del pentagrama de la mano izquierda del preludio de Chopin Op 28 No. 2. vemos que la barra choca con las notas superiores:

>     {
>       \clef "bass"
>       << { b,8 ais, b, g, } \\ { e,8 g e, g } >>
>       << { b,8 ais, b, g, } \\ { e,8 g e, g } >>
>     }

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

>     {
>       \clef "bass"
>       <<
>         \override Beam #'positions = #'(3 . 3)
>         { b,8 ais, b, g, }
>       \\
>         { e,8 g e, g }
>       >>
>       << { b,8 ais, b, g, } \\ { e,8 g e, g } >>
>     }

Observe que la sobreescritura sigue aplicándose en la primera voz del segundo bloque de corcheas, pero no a ninguna de las barras de la segunda voz.

### 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 c'' {
>       \key aes \major
>       <<
>         { c2 aes4. bes8 }
>         \\
>         { aes2 f4 fes }
>         \\
>         {
>           \voiceFour
>           <ees c>2 des
>         }
>       >> |
>       <c ees aes c>1 |
>     }

Las dos notas inferiores del primer acorde (es decir, las que están en al tercera voz) no deberían separarse de la columna de notas de las dos notas agudas. Para corregir esto, establecemos el valor de `force-hshift` (que es una propiedad de `NoteColumn`) de esas notas a cero. La nota más grave del segundo acorde se sitúa mejor justo a la derecha de las más agudas. Lo conseguimos estableciendo el valor de `force-hshift` de esta nota a 0.5, o sea, la anchura de media cabeza de nota a la derecha de la columna de las notas agudas.

Presentamos a continuación el resultado final:

>     \new Staff \relative c'' {
>       \key aes \major
>       <<
>         { c2 aes4. bes8 }
>         \\
>         { aes2 f4 fes }
>         \\
>         {
>           \voiceFour
>           \once \override NoteColumn #'force-hshift = #0
>           <ees c>2
>           \once \override NoteColumn #'force-hshift = #0.5
>           des2
>         }
>       >> |
>       <c ees aes c>1 |
>     }

Otros idiomas: English, česky, deutsch, français, 日本語, nederlands.

#### LilyPond — Manual de aprendizaje