5.3.1 Panorámica de la modificación de las propiedades
Cada contexto es responsable de la creación de ciertos tipos de objetos gráficos. Los ajustes que se usan para imprimir estos objetos también se almacenan por contexto. Mediante la modificación de estos ajustes, se puede alterar la apariencia de los objetos.
La sintaxis de esto es
\override contexto.nombre #'propiedad = #valor
Aquí nombre es el nombre de un objeto gráfico, como Stem
o NoteHead
, y propiedad es una variable interna del
sistema de formateo (‘propiedad del grob’ o ‘propiedad de
disposición’). Este último es un símbolo, y por ello debe ir
precedido de un apóstrofo. La subsección Modificar las propiedades
explica cómo se deben cumplimentar los conceptos nombre,
propiedad y valor. Aquí sólo nos ocuparemos de la
funcionalidad des esta instrucción.
La instrucción
\override Staff.Stem #'thickness = #4.0
hace más gruesas las plicas (el valor predeterminado es 1.3, con el
grosor de una línea del pentagrama como unidad). Puesto que la
instrucción especifica como contexto a Staff
, sólo se aplica al
pentagrama actual. Otros pentagramas mantienen su aspecto normal.
Aquí vemos la instrucción en pleno funcionamiento:
c4 \override Staff.Stem #'thickness = #4.0 c4 c4 c4
La instrucción \override
modifica la definición de la plica
Stem
dentro del pentagrama en curso Staff
. Después de
que la instrucción se ha interpretado, todas las plicas se engrosan.
De manera análoga a \set
, el argumento contexto se puede
omitir, ocasionando que se utilice el contexto predeterminado
Voice
. Al añadir \once
se aplica el cambio durante un
solo paso de tiempo.
c4 \once \override Stem #'thickness = #4.0 c4 c4
El \override
se debe hacer antes de que el objeto se inicia.
Por tanto, al alterar objetos Spanner «de extensión» como
ligaduras o barras, la instrucción \override
se debe ejecutar
en el momento en que se crea el objeto. En este ejemplo:
\override Slur #'thickness = #3.0 c8[( c \override Beam #'thickness = #0.6 c8 c])
la ligadura es más gruesa pero la barra no lo es. Esto es así porque
la instrucción para Beam
, la barra, va después de que la barra
se ha iniciado, y por ello no tiene ningún efecto.
De forma análoga a \unset
, la instrucción \revert
para
un contexto deshace una instrucción \override
; como con
\unset
, solamente afecta a los ajustes que se hicieron dentro
del mismo contexto. En otras palabras, el \revert
del
siguiente ejemplo no hace nada.
\override Voice.Stem #'thickness = #4.0 \revert Staff.Stem #'thickness
Algunas opciones «trucables» se llaman ‘subpropiedades’ y residen dentro de las propiedades normales. Para trucarlas, utilice instrucciones de la forma
\override context.name #'property #'subproperty = #value
tales como
\override Stem #'(details beamed-lengths) = #'(4 4 3)
Véase también
Referencia de funcionamiento interno: OverrideProperty, RevertProperty, PropertySet, Backend, All layout objects.
Advertencias y problemas conocidos
El «back-end» o motor de salida no es muy estricto en la comprobación de tipos de las propiedades de objetos. Las referencias cíclicas en valores Scheme de propiedades pueden producir cuelgues o salidas abruptas, o las dos cosas.
Otros idiomas: English.