Referencia de la notación de GNU LilyPond: 5.3.1 Overview of modifying properties

### 5.3.1 Overview of modifying properties

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 Modifying properties 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.

Other languages: English.

#### Manual de referencia de la notación