How markups work internally - GNU LilyPond
Description: GNU LilyPond

Next: Markup command definition, Previous: Markup construction in Scheme, Up: Markup programmer interface

#### 11.2.2 How markups work internally

In a markup like

    \raise #0.5 "foo"

`\raise` is actually represented by the `raise-markup` function. The markup expression is stored as

    (list raise-markup 0.5 (list simple-markup "foo"))

When the markup is converted to printable objects (Stencils), the `raise-markup` function is called as

    (apply raise-markup
           \layout object
           list of property alists
           0.5
           the "foo" markup)

The `raise-markup` function first creates the stencil for the `foo` string, and then it raises that Stencil by 0.5 staff space. This is a rather simple example; more complex examples are in the rest of this section, and in `scm/define-markup-commands.scm`.

This page is for LilyPond-2.8.8 (stable-branch).

Other languages: English.
Using automatic language selection.