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") \

Parameters
source
A string of Typst code to evaluate.
mode
The syntactical mode in which the string is parsed.
Variant | Details |
---|---|
"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")

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$,
),
)
