Where can I find a complete list of Typst math symbols (including non-General-Symbols)?

I am creating a im2typst programm which should input a screenshot of some formula or symbols and then output the typst code for screenshotted text.

Currently I am creating an appropriate tokenizer as well as adding all symbols to the training image dataset (which I am creating with typst) for which I need a complete list of all typst math symbols. I came across this documentation.

The documentation referenced above does not include the sqrt which I understand as this is a function in typst. And also can only be printed without content with

$sqrt(" ")$

or with

#math.sqrt(" ")

and not by itself like integral can be.

Are root and sqrt the only exceptions or are there more?
Is there some source where I can get a complete list of all math mode symbols and mathematical signs?

(for now I have just used the html code of this documentation and stripped it for the parts I need).

Thanks in advance!

All symbols:

All emojis:

I think you misunderstood my question. The git source you provided lists all symbols and emojis in typst.

My question wasn’t were to find all symbols. (already found the documentation and linked it in the post).

I was asking wether there is a source that includes for example sqrt and root, as well as other possibly missing mathematical operations from the symbols.

As sqrt is a function in typst and not just a plain symbol it is not listed in any of the above sources.

I would be fine with the awnser that sqrt and root are the only two mathematical operators included into the math library by function and not symbol.

For math related functions there is a section in the reference that should include them all. As I understand your goal this is an imperfect answer since not all of these functions correlate to a specific symbol. Maybe it’s a starting point.

I don’t know the details, just a hunch of how it works in general, but the sqrt symbol - for example - is drawn using the math font, with the math font’s glyphs and properties dictating how it should be drawn. A root symbol is clearly a composite, since it needs to scale the front squiggle and draw a line over the radicand. Line widths should in general be specified by some property in the math font.

A fraction ($a / b$) should be comparable, it is not a symbol, but the properties of the fraction’s line are specified by the math font. Stretchable integral signs and delimiters are other examples of math notation that are “not just symbols”.

I think that the general answer is that:

  • The math font dictates which symbols are available (different fonts, different symbols)
  • Most symbols are reachable by figuring out their unicode codepoint in combination with which font setting will enable it (for example enabling a stylistic set)
  • The most common class of symbols is found by just specifying them by unicode codepoint
  • Typst’s sym in general does not cover every possible useful symbol or unicode codepoint.

My answer to your original question is that the math font is the place to look for a complete “symbol” table - maybe the font comes with documentation. If the font has the symbol, Typst generally has a way to reach it and use it.


I don’t know if this is clarifying, but the following experiment demonstrates that drawing a square root is a composite. And Typst allows you to replace the root symbol without replacing the whole drawing of the root (the overline still remains). I can’t think of a useful use of this.

$sqrt(2)$

#show "√": emoji.face
$sqrt(2)$

2 Likes

I was also aware of this documentation already. You are correct this is also some kind of imperfect awnser for me. But probably the best together with the symbol documentation for now.

1 Like