Extending LilyPond: 2.2.2 How markups work internally

### 2.2.2 How markups work internally

In a markup like

>     \raise #0.5 "text example"

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

>     (list raise-markup 0.5 (list simple-markup "text example"))

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 "text example" markup)

The `raise-markup` function first creates the stencil for the `text example` 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`’.

Other languages: deutsch, español.

#### LilyPond — Extending