TypstDocumentation

eval

Evaluates a string as Typst code.

This function should only be used as a last resort.

Example

#eval("1 + 1") \
#eval("(1, 2, 3, 4)").len() \
#eval("*Markup!*", mode: "markup") \
Preview

Parameters
Question mark

source
str
RequiredPositional
Question mark

A string of Typst code to evaluate.

mode

The syntactical mode in which the string is parsed.

VariantDetails
"code"

Evaluate as code, as after a hash.

"markup"

Evaluate as markup, like in a Typst file.

"math"

Evaluate as math, as in an equation.

Default: "code"

View example
#eval("= Heading", mode: "markup")
#eval("1_2^3", mode: "math")
Preview

scope

A scope of definitions that are made available.

Default: (:)

View example
#eval("x + 1", scope: (x: 2)) \
#eval(
  "abc/xyz",
  mode: "math",
  scope: (
    abc: $a + b + c$,
    xyz: $x + y + z$,
  ),
)
Preview