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

[image of music]

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

[image of music]

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

[image of music]

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.

Manual de referencia de la notación