All of this user’s content is licensed under CC BY 4.0.

  • 87 Posts
  • 480 Comments
Joined 2 years ago
cake
Cake day: October 20th, 2023

help-circle







  • […] You can see how this would start to struggle even with high school level maths, with bracketed terms and possibly fractional terms in exponents, integrals, etc.

    For example, it is very difficult for me to work out the difference between the following three in typst. That is specifically not what you want from a typesetting language.

    1/2(x + y)
    1/x(x + y)
    1/2^x(x + y)
    

    […]

    I think these are valid complaints. For clarity, this is the output that I found for each:

    1. [1]
    2. [2]
    3. [3]

    I was surprised by the second; I expected it to produce [6]. I didn’t know what to expect for the third.

    I tried searching through the documentation [4], but I was unable to find any information that exactly defined expressions [5], and how they are grouped within the fraction when juxtaposed like in your examples.

    References
    1. Type: Anecdote. Published: 2026-03-19T07:20Z.
      • echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/2(x + y) $" | typst compile - o.png
        
    2. Type: Anecdote. Published: 2026-03-19T07:20Z.
      • echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/x(x + y) $" | typst compile - o.png
        
    3. Type: Anecdote. Published: 2026-03-19T07:20Z.
      • echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/2^x(x + y) $" | typst compile - o.png
        
    4. Type: Webpage. Title: “typst Documentation”. Publisher: “Typst”. Accessed: 2026-03-19T07:25Z. URI: https://typst.app/docs/.
    5. Type: Text. Publisher: [Type: Webpage. Publisher: “Typst”. Title: “frac”. URI: https://typst.app/docs/reference/math/frac/.]. Accessed: 2026-03-19T07:26Z. Location: §“Syntax”.
      • […] Use a slash to turn neighbouring expressions into a fraction. […]

        • The quote mentions that the components within the fraction are called expressions.
    6. Type: Anecdote. Published: 2026-03-19T07:39Z.
      • echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/x (x + y) $" | typst compile - o.png
        

  • […] \frac{n(n+1)}{2} in latex turns into (n(n + 1)) / 2 in typst […]

    Note that one can also write that as frac(n(n+1), 2) [1][4].

    References
    1. Type: Webpage. Title: “frac”. Publisher: “Typst”. Location: “Documentation”>“Reference”>“Math”>“Fraction”. Location (URI): https://typst.app/docs/reference/math/frac/. Accessed: 2026-03-18T05:34Z.
    2. Type: Anecdote. Published: 2026-03-19T07:51Z.
      • echo "#set page(width: auto, height: auto, margin: 0pt); $ (n(n + 1)) / 2 $" | typst compile - o.png
        
    3. Type: Anecdote. Published: 2026-03-19T07:51Z.
      • echo "#set page(width: auto, height: auto, margin: 0pt); $ frac(n(n+1), 2) $" | typst compile - o.png
        
    4. Type: Meta. Published: 2026-03-19T07:53Z.
      • Both (n(n + 1)) / 2, and frac(n(n+1), 2) result in in Typst [2][3]

  • […] For example, \frac{n(n+1)}{2} in latex turns into (n(n + 1)) / 2 in typst. The typst code is incredibly unclear - the first set of brackets with the slash together actually form the fraction operator, so neither end up visible. […]

    IMO, it’s only unclear if one isn’t familiar with the syntax — I think the documentation states the behaviour clearly:

    […] Multiple atoms can be grouped into a single expression using round grouping parentheses. Such parentheses are removed from the output, but you can nest multiple to force them. [1]

    This isn’t in defense of Typist’s syntax, but I challenge you to show the uninitiated your example LaTeX expression, \frac{n(n+1)}{2}, and see if they are able to accurately parse it.

    References
    1. Type: Text. Publisher: [Type: Webpage. Title: “frac”. Publisher: “Typst”. Location: “Documentation”>“Reference”>“Math”>“Fraction”. Location (URI): https://typst.app/docs/reference/math/frac/.]. Accessed: 2026-03-18T05:34Z. Location: §“Syntax”.