6.7 Usar código de Scheme en lugar de \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 Añadir articulación a las notas (ejemplo),
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
.
Otros idiomas: English.