the compilation speed boost and package size reduction are enough to make me salivate lol cant wait to try this out. anyone made nvim plugin for it tho?
More than one it seems:
https://forum.typst.app/t/tinymist-vs-typst-vim-vs-typst-preview-nvim/1775/7
Always love to see the Nix flake support
I just used LyX, less hard to figure out and aside from the 9 billion files updated every so often, it worked great. Having the citation management in conjunction with Zotero was amaaazing.
I moved from LaTeX to Groff years ago, mostly for the instant pdf rendering speed and much better templates (at the time). The math system also made more sense to me than LaTeX. Groff has an unusual syntax though and there are certain things that are still painful to do, but overall I still found it superior to LaTeX for those looking for another alternative. I may try Typst for a while and see how it compares, it looks promising. I'm particularly interested in how it does tables and diagrams. I did notice there doesn't seem to be a table of contents generator but I might have just not been able to find it.
NiTrIlE
I've used Typst a good bit for both fully private stuff and for uni shenanigans and can say that it has fully replaced Latex for me (when I have a choice, I have managed to convince a few others too). The main thing that won me over was the compilation speed, but the more I've used it the more natural it feels compared to Latex. It's modern by default (you can really just use it with no preamble and it's sane enough), and the ability to write a mostly normal programming language is just amazing. I've produced plenty of simple plots fully within Typst for example, and things like show-rules are genuine innovation. It's of course not perfect, but at this point a good number of these are just additional packages that could be written.
I've written my bachelors thesis with it.
You won't get any official pre made templates for your thesis (yet) and if you require some obscure notation you probably won't find a ready made package for it.
For my purposes I only needed some pictures and code blocks which works perfectly fine.
Also typst's show rules are awesome.
I'd say it still have a long way to go, especially for advanced use cases
If you just want to have a quick pdf generator, it's definitely the right tool.
One thing that's way better is the scripting. In LaTeX it's just an afterthought, simply exposing its convoluted core. In Typst, it feels way more like a first class feature.
For easy pdfs, use markdown with a typst backend
Typst syntax is already simple enough. Why add an unnecessary layer of abstraction
It depends on what you need more often. If you need high quality pdf papers with fancy stuff, using typst directly isn't too bad.
If you write everything else in markdown, use computer languagss in addition to that and want to connect typesetting and programming, then markdown with a solid typst template is the way to go for me.
[…] use markdown with a typst backend
How could one do that?
Pandoc, quarto
I’d say it still have a long way to go, especially for advanced use cases […]
What do you think it's still lacking?
Maths feels like a first class citizen in latex. The syntax is ugly, but there is some logic through the legacy jank.
Typst makes fundamental design decisions that render it unsuitable beyond extremely simply equations. In LaTeX, curly braces are nearly always reserved for enclosing arguments, to avoid confusion with actual brackets.
Typst uses normal brackets for both its scripting and actual maths.
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.
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)
LaTeX ignores whitespace, so you can just use a formatter to space out your code and ensure the curly braces. This is not even an option in typst, which uses the space as an escape character.
Update (2026-03-20T00:37Z): @Meron35@lemmy.world, it has since been found that Typst is aware of this inconsistency ^[7]^.
[…] 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]^
^[2]^
^[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
- Type: Anecdote. Published: 2026-03-19T07:20Z.
-
echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/2(x + y) $" | typst compile - o.png
-
- Type: Anecdote. Published: 2026-03-19T07:20Z.
-
echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/x(x + y) $" | typst compile - o.png
-
- 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
-
- Type: Webpage. Title: "typst Documentation". Publisher: "Typst". Accessed: 2026-03-19T07:25Z. URI: https://typst.app/docs/.
- 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.
-
- Type: Anecdote. Published: 2026-03-19T07:39Z.
-
echo "#set page(width: auto, height: auto, margin: 0pt); $ 1/x (x + y) $" | typst compile - o.png
-
- Type: Comment. Author: "laurmaedje". Publisher: [Type: Post. Title: "Inconsistencies/ambiguities with expression grouping with fractions." ("#8002"). Author: "K4LCIFER". Publisher: ["Github">"typst/typst"]. Published: 2026-03-19T07:07:44.000Z. Location (URI): https://github.com/typst/typst/issues/8002#issue-4099792220.]. Published: 2026-03-19T14:41:47.000Z. Accessed: 2026-03-29T00:45Z. Location (URI): https://github.com/typst/typst/issues/8002#issuecomment-4090630691.
[…] LaTeX ignores whitespace, so you can just use a formatter to space out your code and ensure the curly braces. This is not even an option in typst, which uses the space as an escape character.
I'm not sure I exactly follow what you mean. Could you elaborate?
[…]
\frac{n(n+1)}{2}in latex turns into(n(n + 1)) / 2in typst […]
Note that one can also write that as frac(n(n+1), 2) ^[1][4]^.
References
- 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.
- Type: Anecdote. Published: 2026-03-19T07:51Z.
-
echo "#set page(width: auto, height: auto, margin: 0pt); $ (n(n + 1)) / 2 $" | typst compile - o.png
-
- 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
-
- Type: Meta. Published: 2026-03-19T07:53Z.
- Both
(n(n + 1)) / 2, andfrac(n(n+1), 2)result in
in Typst ^[2][3]^
- Both
[…] For example,
\frac{n(n+1)}{2}in latex turns into(n(n + 1)) / 2in 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
- 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".
The infix syntax is not great, but you can at least write frac(n (n + 1), 2) and it renders the way you would expect.
Edit:
This is not even an option in typst, which uses the space as an escape character.
Technically LaTeX does this too with omitted curly braces:
\sum_{n=1}^9 % works
\sum_{n=1}^10 % doesn't work
Everyone just quickly learns to not do that.
The ability to load custom fonts comes to mind. I remember when I was converting my document from TeX to Typst was that I wasn't able to just specify my .ttf file path.
I don't know what Typst's custom font support was like in the past, but, currently ^[1]^, Typst does allow the usage of custom fonts:
- The Typst CLI can use installed system fonts ^[1.2]^.
- The Typst CLI can be passed directories that should be scanned for fonts through the
--font-pathargument or theTYPST_FONT_PATHSenvironment variable ^[1.3]^. - Fonts can also be uploaded directly to the web app ^[1.1]^.
References
- Type: Text. Publisher: [Type: Webpage. Title: "text". URI: https://typst.app/docs/reference/text/text/#parameters-font. Publisher: "Typst". Location: "Reference">"Text">"Text"]. Accessed: 2026-03-19T04:32Z. Location: §"Parameters">§"font">¶4.
-
In the web app, […] You can provide additional fonts by uploading
.ttfor.otffiles into your project. […] -
Locally, [in the CLI,] Typst uses your installed system fonts […]
-
Locally, […] in the CLI, […] you can use the
--font-pathargument orTYPST_FONT_PATHSenvironment variable to add directories that should be scanned for fonts.
-
I love typst but I don't use it. Academic journal templates are all latex, so I can't use it for my primary use case.
From my limited journal submission experience, some at least just want a PDF. They'll re-set the thing anyway.
Unfortunately not for most physics journals. Initial can be a PDF, but subsequent needs latex sources.
"As powerful as LaTeX" is a huge claim. How strong is this claim?
Edit: The claim is that it is designed to be as powerful as LaTeX, not that it presently is. Does it reach its goal?
Some journals and conferences are starting to accept Typst.
Personally, the huge difference with LaTeX is that if I want to do something slightly complex that is not covered by a third-party plugin, I'm not afraid to get my hands dirty and script it myself, whereas in LaTeX, I dread writing macros that do more than being notations/shorthands.
I've used both and while Typst is very impressive and usable, it still has not reached feature parity with LaTeX. That being said, there are some aspects to Typst that are either do not exist in LaTeX or are extremely user unfriendly. Tables for instance, are very easy to import into Typst and can be done directly from a CSV file. I've also personally taken advantage of the YAML import feature to automatically generate appendices from notes that could not reasonably fit into a table. I've definitely had my fair share of experiences wrestling with Typst to do things that are trivial in LaTeX but overall I have a good experience with it. I use it for some report writing at work (and I use a latex-like report template) and so far prefer it to LaTeX. I suggest you try it out and see if it works for you.
[…] I’ve definitely had my fair share of experiences wrestling with Typst to do things that are trivial in LaTeX […]
Could you share some of these experiences? 🙂
One issue i had with typst that was never an issue with LaTeX is dealing with big documents. One of the reports I was putting together had a very big appendix with a lot of images. I run typst locally and it autocompiles as you write, but with more images, it uses more RAM and everything slows down. The problem I had was that the thing would crash every time I tried to write anything. I turned off automobile and do it manually now, but it still cant so the full document with the appendix. My work around was to compile the appendix separately and in ten page increments, then merge the pdfs afterwards. This sort of thing would never be an issue in LaTeX with the added convenience of draft mode for big documents with lots of figures.
In fairness, this behavior is definitely a result of some bug and compiling everything is still significantly faster than LaTeX.
Another thing that kind of bothers me is references. I am a big fan of the natbib way of writing \citet or \citep. In Typst, you normally type "@Doe2026" and it produces a normal citation like \citep, but if you want anything else, you have to use the far more cumbersome #cite command or define a custome function. Its not that big of a deal but still annoying for me.
[…] [Typst] still has not reached feature parity with LaTeX […]
What, in your opinion, do you think it's still lacking?
Thank you very much!
How does Typst compare to something like Asciidoc ? I haven't found many editors with typst support unfortunately
It's not the same use case. Asciidoc is closer to markdown/org/reST, i.e., simple markup languages, whereas Typst also emphasizes on presentation (layouting, element positioning, creation of complex figures, etc.). You can reproduce features from Asciidoc in Typst using scripting.
As for editors, aside from the official webapp, and the community LSP (tinymist), there aren't that many available.
Thanks for explaining. It seems like I had a completely different understanding/exoectation of what typst is.
[…] I haven’t found many editors with typst support unfortunately
I'm not sure what you mean — I personally just write it in VS Code ^[1]^, and then compile it locally ^[2]^.
References
- Type: Website. Title: "Visual Studio Code". Publisher: "Visual Studio Code". Accessed: 2026-03-19T08:56Z. Location (URI): https://code.visualstudio.com/.
- Type: Webpage. Title: "typst/typst". Publisher: "GitHub". Published (Modified): 2026-03-18T10:04:07.000Z. Accessed: 2026-03-19T08:59Z. Location (URI): https://github.com/typst/typst.
I meant a normal note taking application, not text editors or IDEs. I use markor on my Android phone, it has support for Markdown and Asciidoc. Markdown is fine until you need tables.
I've heard from a lot of people how typst is amazing, but found no apps with support for it. Is it because it's still in development ?
I don't think that is how it works. It is not wysiwyg but a meta language.
I've been meaning to learn LaTeX but never got around to it. I write documents in markdown and convert to PDF, but would like to have some rich typesetting.
For anyone who has ever used both, would you recommend learning this or LaTeX for non-academic use case?
Typst is way simpler to learn, especially if you're used to markdown. You can first approach it as a markup language like markdown, but with some scripting.
Package management in LaTeX is infuriatingly bad, you can't even specify the version you want to use.
I can only speak for myself but I like Typst a lot more than LaTeX. Typst compiles instantly and the markup language is very reasonable. LaTeX by comparison is slow and arcane, with a macro language that is unlike anything else in common use today. It also has pretty awful defaults to be honest, especially if you're writing in a language that isn't English. There are a few things that Typst can't quite do, but that gap is shrinking as well.
Edit: This blog post has some examples and showcases a lot of the core functionality, including the scripting. Typst has a playground which you can use to get a feel for the basics (though installing it locally isn't a massive pain either, unlike LaTeX). Overleaf allows trying LaTeX in the browser for free as well, although only with an account (partly because LaTeX tooling is a pain and expensive in CPU resources).
As someone who used LaTeX for many years and then switched over to Typst, I see no reason to use LaTeX these days. Typst syntax is more readable and it is much nicer to write.
Especially if you’re coming from markdown, I think Typst is the better choice. Typst syntax is very similar to markdown for the simple things and more advanced things are like any super high level programming language.
It might have a better UX than LaTeX but by design it also has the same double-edge sword feature - if you want or need to do something that is not covered by the default styles you have to rely on 3rd party plugins. That's just fine for academic papers and such but not when you need a custom style.
Imho ConTeXt still is the king on that side. Though I wish it had the same development pace and documentation as LaTeX's - or at least as Typst's
Since when is UX the cause of a need for third-party plugins?
LaTeX is an incredibly mature puece of software, since it exists for some 50 years and is (and was) incredibly popular. Of vourse newer players won't have as much ready-made plugins, let alone first-party pavkages for most stuff.
Latex surely had the exact same issue when it wasn't as mature as it is today, but in time people wrote plugins and in more time they were included as defaults.
Comparing them quality-wise on equal footing and proclaiming Latex better than the younger, less popular alternative with less developed community code is disingenuous at best.
And UI/UX has absolutely nothing to do with styling: both are features, and one product happens to have one while the other happens to have the other.
This actually looks good. Though at this point I get annoyed at anything that doesn't make an effort to be compatible with Markdown - idk if there's any good reason they chose # as the symbol for introducing code lines, but surely it makes sense with the ubiquity of markdown to make that start a header. Similarly with * for emphasis and whatnot.
But it genuinely looks like a good effort to dispense with the backslashes and braces of LaTeX yet retain a coherent and comprehensive mathematical output.
What is surprising is that it doesn't appear to ultimately just call through to TeX. That probably means it has a chance of having good error handling and decent performance... I will have to give it a try.
Open Source
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.