B.8 Código de Scheme en línea

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
}

Usando Scheme, se puede dar un rodeo a este problema. La ruta hacia el resultado se da en Añadir articulaciones 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, deutsch, français.
Acerca de la selección automática del idioma.

LilyPond — Extender v2.17.97 (rama de desarrollo).