Referencia de la notación de GNU LilyPond: 6.7 Using Scheme code instead of \tweak

## 6.7 Using Scheme code instead of `\tweak`

La principal desventaja de `\tweak` es su inflexibilidad sintáctica. Por ejemplo, lo siguiente produce un error de sintaxis.

>     F = \tweak #'font-size #-3 -\flageolet

>     \relative c'' {
>       c4^\F c4_\F
>     }

En otras palabras, `\tweak` no se comporta como una articulación en cuando a la sintaxis; concretamente, no se puede adjuntar con `^` y `_`.

Usando Scheme, se puede dar un rodeo a este problema. La ruta hacia el resultado se da en Adding articulation to notes (example), especialmente cómo usar `\displayMusic` como guía de ayuda.

>     F = #(let ((m (make-music 'ArticulationEvent
>                               'articulation-type "flageolet")))
>            (set! (ly:music-property m 'tweaks)
>                  (acons 'font-size -3
>                         (ly:music-property m 'tweaks)))
>            m)

>     \relative c'' {
>       c4^\F c4_\F
>     }

Aquí, las propiedades `tweaks` del objeto flageolet `m` (creado con `make-music`) se extraen con `ly:music-property`, se antepone un nuevo par clave-valor para cambiar el tamaño de la tipografía a la lista de propiedades con la función de Scheme `acons`, y finalmente el resultado se escribe de nuevo con `set!`. El último elemento del bloque `let` es el valor de retorno, el propio `m`.

Other languages: English.

#### Manual de referencia de la notación