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
).