5.3.3 The \override command

There is a special type of context property: the grob description. Grob descriptions are named in StudlyCaps (starting with capital letters). They contain the ‘default settings’ for a particular kind of grob as an association list. See ‘scm/define-grobs.scm’ to see the settings for each grob description. Grob descriptions are modified with \override.

The syntax for the \override command is

\override [context.]GrobName.property = #value

For example, we can increase the thickness of a note stem by overriding the thickness property of the Stem object:

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

[image of music]

If no context is specified in an \override, the bottom context is used:

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

[image of music]

Some tweakable options are called ‘subproperties’ and reside inside properties. To tweak those, use commands in the form

\override Stem.details.beamed-lengths = #'(4 4 3)

or to modify the ends of spanners, use a form like these

\override TextSpanner.bound-details.left.text = #"left text"
\override TextSpanner.bound-details.right.text = #"right text"

The effects of \override can be undone by \revert.

The syntax for the \revert command is

\revert [context.]GrobName.property

For example,

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

[image of music]

The effects of \override and \revert apply to all grobs in the affected context from the current time forward:

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

[image of music]

\once can be used with \override to affect only the current time step:

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

[image of music]

See also

Internals Reference: Backend


Other languages: deutsch, español, français, italiano, 日本語.
About automatic language selection.

LilyPond — Notation Reference v2.19.10 (development-branch).