Documentation

Variants

Alternate typefaces within formulas.

These functions are distinct from the text function because math fonts contain multiple variants of each letter.

Functions

serif

Serif (roman) font style in math.

This is already the default.

math.serif() -> content

body
content
Required Positional
Question mark

The content to style.

sans

Sans-serif font style in math.

View example
$ sans(A B C) $
Preview
math.sans() -> content

body
content
Required Positional
Question mark

The content to style.

frak

Fraktur font style in math.

View example
$ frak(P) $
Preview
math.frak() -> content

body
content
Required Positional
Question mark

The content to style.

mono

Monospace font style in math.

View example
$ mono(x + y = z) $
Preview
math.mono() -> content

body
content
Required Positional
Question mark

The content to style.

bb

Blackboard bold (double-struck) font style in math.

For uppercase latin letters, blackboard bold is additionally available through symbols of the form NN and RR.

View example
$ bb(b) $
$ bb(N) = NN $
$ f: NN -> RR $
Preview
math.bb() -> content

body
content
Required Positional
Question mark

The content to style.

cal

Calligraphic (chancery) font style in math.

View example
Let $cal(P)$ be the set of ...
Preview

This is the default calligraphic/script style for most math fonts. See scr for more on how to get the other style (roundhand).

math.cal() -> content

body
content
Required Positional
Question mark

The content to style.

scr

Script (roundhand) font style in math.

View example
$ scr(S) $
Preview

There are two ways that fonts can support differentiating cal and scr. The first is using Unicode variation sequences. This works out of the box in Typst, however only a few math fonts currently support this.

The other way is using font features. For example, the roundhand style might be available in a font through the stylistic set 1 (ss01) feature. To use it in Typst, you could then define your own version of scr like this:

View example
#let scr(it) = text(
  stylistic-set: 1,
  $cal(it)$,
)

We establish $cal(P) != scr(P)$.
Preview
math.scr() -> content

body
content
Required Positional
Question mark

The content to style.