5.3.3 La instrucción \override

Existe un tipo especial de propiedad de contexto: la descripción de los grobs. Las decscripciones de los grobs reciben un nombre en MayúsculasDeCamello (empezando en mayúscula). Contienen los ‘ajustes predeterminados’ para un tipo particular de grob, en forma de lista asociativa. Consulte ‘scm/define-grobs.scm’ para ver los ajustes de cada descripción de grob. Las descripciones de grob se modifican con \override.

\override es en realidad una forma abreviada;

\override contexto.NombreDelGrob #'propiedad = #valor

equivale más o menos a

\set contexto.NombreDelGrob  =
  #(cons (cons 'propiedad valor)
         <valor anterior de contexto.NombreDelGrob>)

El valor de contexto.NombreDelGrob (la lista-A) se utiliza para inicializar las propiedades de los grobs individuales. Los grobs tienen propiedades, denominadas en el estilo de Scheme, con palabras-con-guiones. Los valores de las propiedades de grob cambian durante el proceso de formateo: éste se realiza básicamente calculando las propiedades utilizando funciones de ‘callback’ (pasadas como parámetro).

Por ejemplo, podemos aumentar el grosor de la plica de una figura sobreescribiendo la propiedad thickness (grosor) del objeto Stem (plica):

c4 c
\override Voice.Stem #'thickness = #3.0
c4 c

[image of music]

Si no se ha especificado ningún contexto en la instrucción \override, se utiliza el contexto del nivel inferior:

{ \override Staff.Stem #'thickness = #3.0
  <<
    {
      e4 e
      \override Stem #'thickness = #0.5
      e4 e
    } \\ {
      c4 c c c
    }
  >>
}

[image of music]

El efecto de una instrucción de sobreescritura \override se puede deshacer con \revert:

c4
\override Voice.Stem #'thickness = #3.0
c4 c
\revert Voice.Stem #'thickness
c4

[image of music]

Los efectos de \override y \revert se aplican a todos los grobs del contexto afectado partiendo del momento actual y hacia adelante:

{
  <<
    {
      e4
      \override Staff.Stem #'thickness = #3.0
      e4 e e
    } \\ {
      c4 c c
      \revert Staff.Stem #'thickness
      c4
    }
  >>
}

[image of music]

Se puede usar \once con \override para afectar solamente al instante de tiempo actual:

{
  <<
    {
      \override Stem #'thickness = #3.0
      e4 e e e
    } \\ {
      c4
      \once \override Stem #'thickness = #3.0
      c4 c c
    }
  >>
}

[image of music]

Véase también

Referencia de funcionamiento interno: Backend


Otros idiomas: English, deutsch, français, 日本語.

LilyPond — Referencia de la notación

inserted by FC2 system