A.12.8 Other markup commands

\auto-footnote mkup (markup) note (markup)

Have footnote note act as an annotation to the markup mkup.

\markup {
  \auto-footnote a b
  \override #'(padding . 0.2)
  \auto-footnote c d
}

[image of music]

The footnote will be annotated automatically.

Used properties:

  • padding (0.0)
  • raise (0.5)
\backslashed-digit num (integer)

Print number num with the Emmentaler font, crossed through with a backslash.

This is for use in the context of figured bass notation.

\markup {
  \backslashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \backslashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\char num (integer)

Produce a single Unicode character with code num.

Characters encoded in hexadecimal format require the prefix #x.

\markup {
  \char #65 \char ##x00a9
}

[image of music]

\eyeglasses

Prints out eyeglasses, indicating strongly to look at the conductor.

\markup { \eyeglasses }

[image of music]

\first-visible args (markup list)

Use the first markup in args that yields a non-empty stencil and ignore the rest.

\markup {
  \first-visible {
    \fromproperty #'header:composer
    \italic Unknown
  }
}

[image of music]

\footnote mkup (markup) note (markup)

Have footnote note act as an annotation to the markup mkup.

\markup {
  \footnote a b
  \override #'(padding . 0.2)
  \footnote c d
}

[image of music]

The footnote will not be annotated automatically.

\fraction arg1 (markup) arg2 (markup)

Make a fraction of markups arg1 and arg2.

\markup {
  π  \fraction 355 113
}

[image of music]

Used properties:

  • font-size (0)
\fromproperty symbol (symbol)

Read symbol from the property settings and produce a stencil from the markup contained within.

If symbol is not defined or is not a markup, return an empty markup.

Currently, the following properties can be accessed.

  • Within a \paper block defining titles, headers, or footers, or within a \header block: all fields from the \header block (that produce markup) are available, with header: as a name prefix.
  • Within a \paper block defining headers or footers: the current page number (symbol page:page-number-string).
  • Within the tocItemMarkup paper variable (or in custom-made Scheme code that uses function add-toc-item!) defining a table of contents entry: the entry’s text and page number are available as toc:text and toc:page, respectively. An entry’s indentation markup is available as toc:indent.
\header {
  myTitle = "myTitle"
  title = \markup {
    from
    \italic
    \fromproperty #'header:myTitle
  }
}
\markup {
  \null
}

[image of music]

\left-brace size (number)

Print a brace from the music font, of height size (in points).

\markup {
  \left-brace #35
  \hspace #2
  \left-brace #45
}

[image of music]

\lookup glyph-name (string)

Print a brace glyph with name glyph-name.

This is a historical command; \left-brace (which looks up the glyph by absolute size and is independent of the font size) is recommended instead.

\markup \lookup "brace200"

[image of music]

\markalphabet num (integer)

Make a markup letter for num.

The letters start with A to Z and continue with double letters.

\markup {
  \markalphabet #8
  \hspace #2
  \markalphabet #26
}

[image of music]

\markletter num (integer)

Make a markup letter for num.

The letters start with A to Z (skipping letter I), and continue with double letters.

\markup {
  \markletter #8
  \hspace #2
  \markletter #26
}

[image of music]

\null

An empty markup with extents of a single point.

\markup {
  \null
}

[image of music]

\on-the-fly procedure (procedure) arg (markup)

Apply the procedure markup command to arg.

procedure takes the same arguments as interpret-markup and returns a stencil.

\override new-prop (pair) arg (markup)

Add the argument new-prop to the property list for printing arg.

In general, any property may be overridden that is part of font-interface (font-interface), text-interface (text-interface), or instrument-specific-markup-interface (instrument-specific-markup-interface). Additionally, various markup commands listen to other properties, too, as described in a markup function’s documentation.

new-prop is either a single alist pair or a non-empty list of alist pairs.

\markup {
  \undertie "undertied"
  \override #'(offset . 15)
  \undertie "offset undertied"
  \override #'((offset . 15) (thickness . 3))
  \undertie "offset thick undertied"
}

[image of music]

\page-link page-number (number) arg (markup)

Add a link to a score’s page page-number around arg.

This only works in the PDF backend.

\markup {
  \page-link #2 { \italic { This links to page 2... } }
}

[image of music]

\page-ref label (symbol) gauge (markup) default (markup)

Print a page number reference.

label is the label set on the referenced page (using \label or \tocItem), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found.

If the current book or bookpart is set to use roman numerals for page numbers, the reference will be formatted accordingly – in which case the gauge’s width may require additional tweaking.

\pattern count (non-negative, exact integer) axis (non-negative, exact integer) space (number) pattern (markup)

Print a pattern markup count times.

Patterns are spaced apart by space (defined as for \hspace or \vspace, respectively) and distributed on axis.

\markup \column {
  "Horizontally repeated:"
  \pattern #7 #X #2 \flat
  \null
  "Vertically repeated:"
  \pattern #3 #Y #0.5 \flat
}

[image of music]

\property-recursive symbol (symbol)

Print out a warning when header field markup in symbol contains some recursive markup definition.

\qr-code width (non-negative number) str (string)

Insert a QR code for string str, usually a URL, with a given width.

\markup \vcenter {
  \center-column { Engraved with LilyPond }
  \hspace #1.5
  \qr-code #10.0 "https://lilypond.org"
}

[image of music]

The error-correction-level property can be set to one of the symbols low, medium, quarter, or high. The higher the level of error correction is, the more the QR code contains redundancy, potentially helping detectors, e.g., in poor lighting conditions; however, a higher correction level also makes the code denser.

\markup \vcenter {
  \center-column { Engraved with LilyPond }
  \hspace #1.5
  \override #'(error-correction-level . high)
    \qr-code #10.0 "https://lilypond.org"
}

[image of music]

The quiet-zone-size property specifies the width of the “quiet zone”, namely the white area around the QR code. It is expressed as a multiple of the width of one little square inside the QR code. Use at least 4 for best results.

Used properties:

  • quiet-zone-size (4)
  • error-correction-level (low)
\right-brace size (number)

A music brace in point size size, rotated 180 degrees.

\markup {
  \right-brace #45
  \hspace #2
  \right-brace #35
}

[image of music]

\slashed-digit num (integer)

Print number num with the Emmentaler font, crossed through with a slash.

This is for use in the context of figured bass notation.

\markup {
  \slashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \slashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\stencil stil (stencil)

Use stencil stil as markup.

\markup {
  \stencil #(make-circle-stencil 2 0 #t)
}

[image of music]

\strut

Create a box of the same height as the space in the current font.

\transparent arg (markup)

Make arg transparent.

\markup {
  \transparent {
    invisible text
  }
}

[image of music]

\verbatim-file name (string)

Read the contents of file name and include it verbatim.

\markup {
  \verbatim-file "en/included/simple.ly"
}

[image of music]

Use \withRelativeDir as a prefix to name if the file should be found relative to the input file.

\whiteout arg (markup)

Provide a white background for arg.

The shape of the white background is determined by the style property. The default is box which produces a rectangle. rounded-box produces a rounded rectangle, and outline approximates the outline of the markup.

\markup {
  \combine
    \filled-box #'(-1 . 15) #'(-3 . 4) #1
    \override #'(thickness . 1.5)
    \whiteout whiteout-box
}
\markup {
  \combine
    \filled-box #'(-1 . 24) #'(-3 . 4) #1
    \override #'((style . rounded-box) (thickness . 3))
    \whiteout whiteout-rounded-box
}
\markup {
  \combine
    \filled-box #'(-1 . 18) #'(-3 . 4) #1
    \override #'((style . outline) (thickness . 3))
    \whiteout whiteout-outline
}

[image of music]

Used properties:

  • thickness (())
  • style (box)
\with-color col (color) arg (markup)

Use color col to draw arg.

See section Coloring objects for valid color specifications.

\markup {
  \with-color #red red
  \hspace #2
  \with-color #green green
  \hspace #2
  \with-color "#0000ff" blue
}

[image of music]

\with-dimension axis (integer) val (pair of numbers) arg (markup)

Set the dimension of arg along axis to val.

If axis is equal to X, set the horizontal dimension. If axis is equal to Y, set the vertical dimension.

\with-dimension-from axis (integer) arg1 (markup) arg2 (markup)

Print arg2 but replace the dimension along axis with the one from arg1.

If axis is set to X, replace the horizontal dimension. If axis is set to Y, replace the vertical dimension.

\with-dimensions x (pair of numbers) y (pair of numbers) arg (markup)

Set the horizontal and vertical dimensions of arg to x and y.

\with-dimensions-from arg1 (markup) arg2 (markup)

Print arg2 with the horizontal and vertical dimensions of arg1.

\with-link label (symbol) arg (markup)

Add a link to the page holding label label around arg.

This only works in the PDF backend.

\markup {
  \with-link #'label {
    \italic { This links to the page
               containing the label... }
  }
}
\with-outline outline (markup) arg (markup)

Print arg with the outline and dimensions of outline.

The outline is used by skylines to resolve collisions (not for whiteout).

\with-true-dimension axis (integer) arg (markup)

Give arg its actual dimension (extent) on axis.

Sometimes, the extents of a markup’s printed ink differs from the default extents. The main case is if glyphs are involved. By default, the extents of a glyph are based on the glyph’s metrics (i.e., a default vertical and horizontal size for the glyph), which, for various reasons, are often not identical to its bounding box (i.e., the smallest rectangle that completely encompasses the glyph’s outline) – in most cases, the outline protrudes the box spanned up by the metrics.

\markup {
  text
  \fontsize #10
  \override #'((box-padding . 0) (thickness . 0.2))
  \box
    \musicglyph "scripts.trill"
  text
}

[image of music]

For purposes other than setting text, this behavior may not be wanted. You can use \with-true-dimension in order to give the markup its actual printed extent.

\markup {
  text
  \fontsize #10
  \override #'((box-padding . 0) (thickness . 0.2))
  \box
    \with-true-dimension #X
    \musicglyph "scripts.trill"
  text
}

[image of music]

\with-true-dimensions arg (markup)

Give arg its actual dimensions (extents).

Calling

\markup \with-true-dimensions arg

is short for

\markup
  \with-true-dimension #X
  \with-true-dimension #Y
  arg

i.e., \with-true-dimensions has the effect of \with-true-dimension on both axes.


LilyPond Notation Reference v2.25.15 (development-branch).