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.