LilyPond Notation Reference: A.9.3 Graphic

### A.9.3 Graphic

`\arrow-head` axis (integer) dir (direction) filled (boolean)

  Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.

  >     \markup {
  >       \fontsize #5 {
  >         \general-align #Y #DOWN {
  >           \arrow-head #Y #UP ##t
  >           \arrow-head #Y #DOWN ##f
  >           \hspace #2
  >           \arrow-head #X #RIGHT ##f
  >           \arrow-head #X #LEFT ##f
  >         }
  >       }
  >     }

`\beam` width (number) slope (number) thickness (number)

  Create a beam with the specified parameters.

  >     \markup {
  >       \beam #5 #1 #2
  >     }

`\bracket` arg (markup)

  Draw vertical brackets around arg.

  >     \markup {
  >       \bracket {
  >         \note #"2." #UP
  >       }
  >     }

`\circle` arg (markup)

  Draw a circle around arg. Use `thickness`, `circle-padding` and `font-size` properties to determine line thickness and padding around the markup.

  >     \markup {
  >       \circle {
  >         Hi
  >       }
  >     }

  Used properties:

  - `circle-padding` (0.2)
  - `font-size` (0)
  - `thickness` (1)
`\draw-circle` radius (number) thickness (number) filled (boolean)

  A circle of radius radius and thickness thickness, optionally filled.

  >     \markup {
  >       \draw-circle #2 #0.5 ##f
  >       \hspace #2
  >       \draw-circle #2 #0 ##t
  >     }

`\draw-hline`

  Draws a line across a page, where the property `span-factor` controls what fraction of the page is taken up.

  >     \markup {
  >       \column {
  >         \draw-hline
  >         \override #'(span-factor . 1/3)
  >         \draw-hline
  >       }
  >     }

  Used properties:

  - `span-factor` (1)
  - `line-width`
  - `draw-line-markup`
`\draw-line` dest (pair of numbers)

  A simple line.

  >     \markup {
  >       \draw-line #'(4 . 4)
  >       \override #'(thickness . 5)
  >       \draw-line #'(-3 . 0)
  >     }

  Used properties:

  - `thickness` (1)
`\epsfile` axis (number) size (number) file-name (string)

  Inline an EPS image. The image is scaled along axis to size.

  >     \markup {
  >       \general-align #Y #DOWN {
  >         \epsfile #X #20 #"context-example.eps"
  >         \epsfile #Y #20 #"context-example.eps"
  >       }
  >     }

`\filled-box` xext (pair of numbers) yext (pair of numbers) blot (number)

  Draw a box with rounded corners of dimensions xext and yext. For example,

      \filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0

  creates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).

  >     \markup {
  >       \filled-box #'(0 . 4) #'(0 . 4) #0
  >       \filled-box #'(0 . 2) #'(-4 . 2) #0.4
  >       \filled-box #'(1 . 8) #'(0 . 7) #0.2
  >       \with-color #white
  >       \filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7
  >     }

`\hbracket` arg (markup)

  Draw horizontal brackets around arg.

  >     \markup {
  >       \hbracket {
  >         \line {
  >           one two three
  >         }
  >       }
  >     }

`\parenthesize` arg (markup)

  Draw parentheses around arg. This is useful for parenthesizing a column containing several lines of text.

  >     \markup {
  >       \line {
  >         \parenthesize {
  >           \column {
  >             foo
  >             bar
  >           }
  >         }
  >         \override #'(angularity . 2) {
  >           \parenthesize {
  >             \column {
  >               bah
  >               baz
  >             }
  >           }
  >         }
  >       }
  >     }

  Used properties:

  - `width` (0.25)
  - `thickness` (1)
  - `size` (1)
  - `padding`
  - `angularity` (0)
`\path` thickness (number) commands (list)

  Draws a path with line thickness thickness according to the directions given in commands. commands is a list of lists where the `car` of each sublist is a drawing command and the `cdr` comprises the associated arguments for each command.

  Line-cap styles and line-join styles may be customized by overriding the `line-cap-style` and `line-join-style` properties, respectively. Available line-cap styles are `'butt`, `'round`, and `'square`. Available line-join styles are `'miter`, `'round`, and `'bevel`.

  The property `filled` specifies whether or not the path is filled with color.

  There are seven commands available to use in the list `commands`: `moveto`, `rmoveto`, `lineto`, `rlineto`, `curveto`, `rcurveto`, and `closepath`. Note that the commands that begin with r are the relative variants of the other three commands.

  The commands `moveto`, `rmoveto`, `lineto`, and `rlineto` take 2 arguments; they are the X and Y coordinates for the destination point.

  The commands `curveto` and `rcurveto` create cubic Bézier curves, and take 6 arguments; the first two are the X and Y coordinates for the first control point, the second two are the X and Y coordinates for the second control point, and the last two are the X and Y coordinates for the destination point.

  The `closepath` command takes zero arguments and closes the current subpath in the active path.

  Note that a sequence of commands must begin with a `moveto` or `rmoveto` to work with the SVG output.

  >     samplePath =
  >       #'((moveto 0 0)
  >          (lineto -1 1)
  >          (lineto 1 1)
  >          (lineto 1 -1)
  >          (curveto -5 -5 -5 5 -1 0)
  >          (closepath))

  >     \markup {
  >       \path #0.25 #samplePath
  >     }

  Used properties:

  - `filled` (#f)
  - `line-join-style` (round)
  - `line-cap-style` (round)
`\postscript` str (string)

  This inserts str directly into the output as a PostScript command string.

  >     ringsps = #"
  >       0.15 setlinewidth
  >       0.9 0.6 moveto
  >       0.4 0.6 0.5 0 361 arc
  >       stroke
  >       1.0 0.6 0.5 0 361 arc
  >       stroke
  >       "

  >     rings = \markup {
  >       \with-dimensions #'(-0.2 . 1.6) #'(0 . 1.2)
  >       \postscript #ringsps
  >     }

  >     \relative c'' {
  >       c2^\rings
  >       a2_\rings
  >     }

`\rounded-box` arg (markup)

  Draw a box with rounded corners around arg. Looks at `thickness`, `box-padding` and `font-size` properties to determine line thickness and padding around the markup; the `corner-radius` property makes it possible to define another shape for the corners (default is 1).

  >     c4^\markup {
  >       \rounded-box {
  >         Overtura
  >       }
  >     }
  >     c,8. c16 c4 r

  Used properties:

  - `box-padding` (0.5)
  - `font-size` (0)
  - `corner-radius` (1)
  - `thickness` (1)
`\scale` factor-pair (pair of numbers) arg (markup)

  Scale arg. factor-pair is a pair of numbers representing the scaling-factor in the X and Y axes. Negative values may be used to produce mirror images.

  >     \markup {
  >       \line {
  >         \scale #'(2 . 1)
  >         stretched
  >         \scale #'(1 . -1)
  >         mirrored
  >       }
  >     }

`\triangle` filled (boolean)

  A triangle, either filled or empty.

  >     \markup {
  >       \triangle ##t
  >       \hspace #2
  >       \triangle ##f
  >     }

  Used properties:

  - `baseline-skip` (2)
  - `font-size` (0)
  - `thickness` (0.1)
`\with-url` url (string) arg (markup)

  Add a link to URL url around arg. This only works in the PDF backend.

  >     \markup {
  >       \with-url #"http://lilypond.org/web/" {
  >         LilyPond ... \italic {
  >           music notation for everyone
  >         }
  >       }
  >     }

Other languages: deutsch, español, français, 日本語.

#### LilyPond — Notation Reference