5.3.5 \set frente a \override

Hemos visto dos formas de cambiar las propiedades: \set y \override. De hecho, en realidad existen dos clases diferentes de propiedades.

Los contextos pueden tener propiedades, que por lo general reciben nombres en mayúsculasDeCamello. Principalmente controlan la traducción de la música a la notación, p.ej. localKeySignature (para determinar si hay que imprimir las alteraciones accidentales), measurePosition (para determinar cuándo imprimir una línea divisoria). Las propiedades de contexto pueden ver modificado su valor con el tiempo según se interpreta una pieza de música; measurePosition es un ejemplo obvio de esto. Las propiedades de contexto se modifican con \set.

Hay un tipo especial de propiedad de contexto: la descripción del elemento. Estas propiedades reciben nombres en MayúsculasDeCamello (comenzando en letra mayúscula). Contienen los ‘ajustes por defecto’ para dicho elemento gráfico como una lista asociativa. Consulte ‘scm/define-grobs.scm’ para ver qué tipos de ajustes hay. Las descripciones de los elementos se pueden modificar con \override.

Realmente, \override es un atajo;

\override contexto.nombre #'propiedad = #valor

es más o menos equivalente a

\set contexto.nombre #'propiedad = #(cons (cons 'propiedad valor) <valor previo de contexto)

El valor de contexto (la lista-a) se usa para da un valor inicial a las propiedades de los objetos gráficos individuales. Los objetos gráficos también tienen propiedades, que reciben nombres en el estilo de Scheme, con palabras-con-guiones. Los valores de las propiedades de objetos gráficos cambian durante el proceso de formateo: el formateo básicamente consiste en calcular las propiedades utilizando funciones de callback.

fontSize es una propiedad especial: equivale a escribir \override ... #'font-size para todos los objetos pertinentes. Al ser éste un cambio muy común, se creó la propiedad especial (modificada con \set).


Otros idiomas: English, français.

Manual de referencia de la notación