Siguiente: , Anterior: Objetos conectados con la entrada, Arriba: El comando \override


3.3.6 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 lo que respecta a la sintaxis; en concreto, no se puede adjuntar mediante ‘^’ y ‘_’.

Utilizando el lenguaje 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 de flageolet ‘m’ (creado con make-music) se extraen con ly:music-property, un nuevo par clave-valor para cambiar el tamaño de la tipografía se antepone a la lista de propiedades con la función de Scheme acons, y el resultado finalmente se escribe de nuevo con set!. El último elemento del bloque let es el valor devuelto, el propio ‘m’.


Siguiente: , Anterior: Objetos conectados con la entrada, Arriba: El comando \override

Esta página corresponde a LilyPond-2.11.40 (rama de desarrollo).

Informe de los fallos a http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.

Se agradecen las sugerencias para la documentación.

Otros idiomas: English, français.