I'm a PhD student currently writing my thesis in Typst. On paper this is an absurdly risky decision: it's a new technology without a huge user-base, it's not totally stable yet, etc. But I tried Typst and I had no choice. It was obviously the right thing to do, even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template.
I've been using LaTeX for over ten years and I still wouldn't say that I "know" TeX in any meaningful way. I was not only productive but proficient in Typst in a day or two. If there isn't a package for something that I need (and, surprisingly often, there are packages for what I need, and excellent ones!), I find that I can just do it myself. Quickly. Things that never would have been possible for me with LaTeX are within easy reach. In ways I'd be happy to talk about if anyone's curious, it's been a huge enabler of my productivity as a researcher. I owe this tool so much.
Interestingly, I spend far, far less time yak-shaving in Typst than in TeX, since I can just Do The Thing That I Want. I'm actually focusing on writing instead of figuring out why package A conflicts with package B, and then how to install a different version of just a single package to override one of them, and then... [this sort of thing doesn't/can't happen in Typst; it's a real programming language with real modules] I could go on and on about the (relative) quality of the ergonomics and devex: fast compilation times, as others have said, but so much more than that. Try it out. Just try it out.
I should also say that it's not perfect. There are some funky design decisions for sure. There are some missing features, like including pdfs as images in your document (that one's on its way, I believe). Critically, the quality of the typesetting is maybe... 95% as good as TeX, which is perfect every time. Sometimes things don't kern quite right, and you have to adjust them by hand. It's a work in progress. I'm optimistic that it will achieve parity on that front.
I wrote my PhD thesis in Typst last year. I also had to clone my university’s template (available here https://github.com/fdekerme/PhD_template_UPSalcay), but the process was fairly straightforward.
I’d say 99% of the experience was super smooth. It was a great decision, though risky as you mentioned—I started with Typst 0.11 and finished with 0.12. The only painful part (that last 1%) happened at the very end when I realized my university only accepted PDF/A (the archival version—I didn’t even know there were different PDF versions before this). While Typst 0.12 theoretically supports generating PDF/A-2b files, the output failed the university’s compliance test. I ended up (after MANY experimentations) using Adobe Acrobat Pro to convert the file, which caused some minor layout adjustments unfortunately.
Apart from that, I highly recommend Typst. It’s an excellent tool, and I hope academic journals will soon accept submissions in this format.
I suspect it is getting better but I've experienced some breaking changes with Typst. Nothing that was terribly difficult to fix, debugging it wasn't obvious though.
There seems to be a huge amount of folks that want typst to work. I respect TeX and LaTeX, immensely, but it's so vast and byzantine. Maybe I don't know where or what, but some kind of clean LaTeX "distribution" is needed. It seems like you could build it in to containers or something. Just have some way that sort of makes it more of an atomic unit or something. I don't know how many times I've pulled down a template started to build it and something was missing.
It's good to see innovation in this space and people using it.
> Maybe I don't know where or what, but some kind of clean LaTeX "distribution" is needed.
Unfortunately it’s a bit like asking for a “clean” Python distribution or a “safe” subset of C++. All the baroque mess is necessary to get working the many legacy packages that many people depend upon. And not just depend upon, but depend upon with all their concomitant foibles, bugs, and learned work-arounds.
> some kind of clean LaTeX "distribution" is needed
I don't think a distro would do much to alleviate my gripes with (La)TeX which is its language and VM. TeX-the-language violates literally every single architectural principle we have come to rally around in sane programming languages. Whether you start by reading the TeX book or by copy-pasting from similar LaTeX documents, in my experience you'll soon hit a wall. No simple if/then/else. No just-works maths. No data types. No namespaces. No modularization. Every single solution in the language that Knuth comes up for any kind of problem he solved in TeX is a new edition of facepalm.jpg, everything you don't know and look up or (more likely) post to TeX StackExchange is answered with something that will make you stare in disbelief. Nothing, absolutely nothing that you do in the language to change anything in your document is guaranteed to not accidentally affect something else in your document, and your only way to check for it is eyeballing every single page of output.
Couldn't have said it better myself. Plus, you're not supposed to notice any of this. If you do, the TeX masters will put their fingers in their ears and tell you it's PEBKAC. "Get good, n00b. RTFM. It's not happening, but if it is, it's a good thing. It has to be designed this way, actually, you're just too thick to understand why. No, I won't explain."
Also, every part of the system is like this, not just the language-qua-language. The architecture of the compiler is like this. The compiler UI is like this (yes for every TeX engine). The package management/distribution situation is like this.
It basically has two things going for it: it's highly portable, backwards-compatible, and stable, and it produces really pretty documents.
Sounds like they could benefit from the R (language) build model that checks library changes against registered consumers of that library before merging.
> even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template
I'm not sure if you really mean pixel perfect or if it's just an exaggeration. There are packages in latex which are almost impossible to replicate in a pixel perfect way, one widely used example is microtype, which is especially useful in scientific works.
> I've been using LaTeX for over ten years and I still wouldn't say that I "know" TeX in any meaningful way. I was not only productive but proficient in Typst in a day or two.
That's an interesting insight. Do you have an idea why this is? Do you have a CS background?
That's also been my own personal experience, and I have a CS background and have written several papers and a PhD thesis in LaTeX. I have done many detailed figures in TikZ and done countless presentations using Beamer.
I have no idea how to implement anything in TeX on my own besides rudimentary macros. I did once try to implement a simple typesetting package for typesetting some particularly gnarly natural deduction trees, and I thought it worked fine for a few examples, but then it broke down in ways that was completely non-obvious to me.
The computational model of TeX is really, really opaque to me.
I am the proud owner of all 5 five volumes and Digital Typography. I have been in front of a computer for almost every single day for around 45 years. I speak and write several languages, including Chinese and Japanese. I am regularly coding in several programming languages and consider myself fairly fluent in things like HTML and CSS. I have worked as a typesetter and assistant editor of two medical periodicals.
I could go on but what else in the world do I have to add to that so I can say "as for me, I opened the TeX book, read it, and understood it" or "I know how to use LaTeX, confidently"?
I don't know the answer to that question, but I do know the answer to the question "is TeX / LaTeX a well-designed, user-friendly, sane software?". The answer is no, no, and no.
A single book on latex only covers you until the introduction of your thesis. Then you will need to add a table. That’s a different book.
Then you will need to align your equations. That is another book. Then you will need a graph. This is a freaking library of books.
I mourn for the time I wasted on Latex. For nothing.
Yep, I'm a CS researcher in a top-3 department. (Hate to be all credentialist like that, but I'm guessing it does mean something to this audience.)
I think a lot of the reason is that, ok, LaTeX is extremely complicated. We all know this. Its partisans tend to believe that this is because typesetting is a hard problem. Typesetting is a hard problem! We know this, too. But I think that a substantial fraction of the complexity of LaTeX is accidental complexity stemming, ultimately, from the inherently loosey-goosey nature of the system.
See, there is no real abstraction in TeX. There are no real mechanisms for encapsulation/information hiding/whatever. It's all just characters that eat characters and turn into other characters. Anything can do anything. Anything can be anything. As a result, the whole "theory" of what a TeX program "is" (like in the sense that Peter Naur used that word?) is conventional.
This means that even to reuse other people's code, you have to imbibe decades of convention that's maybe semi-documented, maybe folkloric, or maybe perfectly sound but requires you to read a 230-page manual. I can only speak for myself, but for me, it's no way to live.
Now, again, TeX-lovers tend to claim that its high degree of loosey-gooseyness is necessary, that it's what makes TeX "powerful." I don't know, that sounds to me like the same old "you can't handle writing assembly" story. Sure I can. I'd just rather not if I can help it.
Or could it be that the fact that LaTeX is a layer on top of TeX is a cause of additional complexity and that you still have to deal with TeX, so the abstraction is neither complete nor opaque? I assume in Typst they don't (yet) have this issue. Another reason could be missing static typing and thus less formal means to find bugs? You "missing abstractions" finding would point to that.
Yeah, absolutely, the sheer number of moving parts is related to this. There's TeX-the-language, there's LaTeX-the-format (a big layer of macros and conventions), the different LaTeX standards (LaTeX2ε, LaTeX3, whatever, I don't know the ins and outs). Then there's the implementation: all the different engines (pdftex, XeTeX, LuaTex), then there are the distributions, then there are build systems and wrapper scripts to handle all the mysterious compilation-cycle incantations that depend on all the other stuff (latexmk, etc.).
All these layers and alternatives have proliferated partly because of age and the necessity of new solutions to new problems. I also think they're partly coping with fundamental limitations, design decisions that seemed like (or very much were!) a good idea in 1978, that sort of thing.
I totally agree. I have written in LaTeX extensively and Typst is a game changer and a life saver. The community is also a plus. I love it and I will never go back to TeX.
It also brought typesetting to academic research, which means it's doing something that wasn't necessary before it arrived.
I was one of the last holdouts from a bygone era. I finished my dissertation in physics, in 1993. It's neither typeset, nor even in a computer readable form. Some fellow students were already using LaTeX by that point (mostly high energy physics, the slowest to graduate of the physics specialties) but I wasn't going to change my already obsolete tech stack within mere months of finishing.
I also have my parents' chemistry theses. They took handwritten manuscripts to a typist who banged out 4 copies at once using carbon paper. And then they entered their equations and figures by hand. (My thesis is hand corrected too). And their theses were short.
LaTeX did a lot of things for my fellow students, but it didn't make them finish quicker.
It was at a time of extremely rapid development of laser technology, where you built your own lasers to be at the cutting edge, which meant optics, electronics, and in my case, computer control plus data collection. I developed a method of increasing the signal-to-noise for a class of spectroscopy measurements by a factor of roughly 1000. This opened up a number of possible experiments involving otherwise weak effects.
My experiment produced some token physics results, but the method that I developed was really the point of it. A couple other labs used my setup, substituting more modern lasers as they became available. Meanwhile, I went into industry, and still work on measurement instrumentation today.
Good stuff, nothing but respect for that kind of work. AMO people are a different breed. Spending all day interpreting power spectral densities and tracking down ground loops takes a certain je-ne-sais-quoi. Literally. Last time I used a microwave amplifier I plugged it in with the wrong polarity and blew it up!
I’ve looked at Typst and it looks attractive. I’m not quite willing to invest in it until, say, PACMPL lets me use it there. Any idea if that will happen any time soon?
For me, it's been invaluable for notes and memos (and my thesis). When it comes time to submit a paper, I transcribe everything to LaTeX. It's a pain, but it's a lesser pain than transcribing from handwritten notes scattered across three notebooks and several crumpled-up sheets of printer paper in the bottom of my bag. That's my own peculiarity; YMMV.
(Edit: also, ugh, I feel like such a goof for having written that. Thanks for being nice about it.)
Ugh, unfortunately it means "please note that I'm not an unserious person." Very often when you have opinions on software on the internet, trolls will jump out of the hedgerow and shout, "who are you to have an opinion?" And, sadly, that same sort of person will often be mollified somewhat by prestige.
Feels kind of icky to have written that, though, and maybe I regret it slightly.
I think it's good, because it will enable other people to be less scared to ditch Typst
Honestly, I consider it embarrassing that it took so long for LaTeX to be dethroned. Academia is supposed to be about thinking for the long term. Instead everyone is too busy publishing and not perishing to rid themselves of LaTeX (and predatory journals outside CS, etc. etc.).
Given that, it takes credentialed "winners" to change the system. Everyone else is too often too afraid to play the game in the lowest risk manner. Sad.
It also belies an ignorance that some schools have specializations. Utah wouldn't come to mind as a "top-20" school by the snobs, but they basically created computer graphics.
I have a CS background, I have used LaTeX for over ten years, and I also don't know TeX in any meaningful way. I feel like I'm copy-pasting snippets of code and trying random stuff until I get the outcome I want
From experience, you don’t need to not have a CS background to find TeX/LaTeX difficult or obscure to customize or extend.
Here’s a challenge to try (I hacked together something similar that only works in specific cases): write an environment where you get N columns in portrait page mode, with a vertical ruler, say, 12pt to the left of each column; respecting different paper sizes.
The amount of \makeatother, and what does that even mean??, will blow your mind
> The amount of \makeatother, and what does that even mean??
I’m not a TeX lover, but this part is just a snipe. I’m guessing you know and this was a joke. Apologies that it annoyed me enough to write this comment.
If you care enough to read this, you could learn the purpose of \makeatother [1]. It’s not tricky.
I used to use LaTeX pretty frequently and although I was reasonably productive I also never felt that I "knew" it. It was a whole lot of googling "how to do x in latex" and pasting in something that was too arcane for me to remember for next time (and/or copy pasting from my own prior documents)
In all honesty, I only ever did it to achieve the "LaTeX look". These days I write in markdown or (gasp) wysiwyg editors like google docs.
Thanks to pervasive use of LLMs I predict the future is mostly markdown. It’s the defacto output format for every LLM. It’s simple, plaintext and easy to version control.
Maybe the best compromise here is a markdown interpreter that converts to latex so you can use existing libraries and templates but not have to worry as much about syntax.
I don't think syntax is the problem here. Using some tool that transpiles to LaTeX, you'll still have to fight your TeX engine sometimes, but now you also add friction and gotchas of your tool that does transpiling.
I've tried writing Org and compiling it to LaTeX, but gave up this idea because ultimately I had to figure out idiosyncrasies of both LaTeX and Org-mode engines.
Compile time is also night and day. Almost instantaneous with Typst, always slow with LaTeX. This also contributes to just doing the thing that one wants instead of procrastinating - it's out of your way and you can just focus on your document.
> If there isn't a package for something that I need (and, surprisingly often, there are packages for what I need, and excellent ones!), I find that I can just do it myself. Quickly.
GPT 5 and Gemini 2.5 Pro are usually unable to write compiling Typst code, getting it confused with Markdown. Claude Opus 4.1 and Sonnet 4 manage to produce compiling Typst code more often than not, but is far from being able to follow instructions.
I assume there is just next to no Typst code on the internet as of their training and the similarities to MD + MathJax result in LLMs hallucinating Typst syntax, often using `#` for headings or `\` and `{ ... }` in math mode.
Therefore, I must say that LLMs are more of a hindrance than help when writing Typst code. The syntax is nice enough though that I can fully understand that writing something oneself is very simple once you understand the concepts (content as a type; `show:` vs `show [rule]:` vs `set`; control flows with `if`, `for`, `while`). And for any questions there is an active discord channel with helpful real people.
Without. I’ve recently tried using Claude, though, for things like mathematical drawings, and it works pretty well with a little back-and-forth and debugging. Especially with similar example code in context.
I have had no luck with LLMs writing typst code. Normally its a better code writer than me, but the LLM (gpt4-o maybe?) hallucinated most of the document.
I might have to give it a try. There's a lot I like about the idea of latex but I've never been able to successfully internalize how to use it in a non-painful way either. I've pretty much given up on the whole idea of making a PDF do what I want at this point.
I've looked into typst before and am always turned off hugely by the website's attempt to make it look like some sort of purchased product with a freemium option. I don't really ever like to commit to anything I can't use with a basic commandline / plain text pipeline or that I don't expect to be available in a long-term way without enshittifying. Looking closer at the actual repo for the first time, it seems like I can use it that way, so it warrants investigation, but I'm still leery of the project because of its presentation
Oh yeah, I can’t imagine most people are using their web editor thing. Good for them that they have it, I guess. It looks like it’s done well, a strong competitor for Overleaf. I’ve never even opened it, though, to be honest.
It is a little bit unfortunate that they don’t distinguish more clearly Typst-the-program and Typst-the-company in their advertising.
In my experience, formatting is just about the only thing that a department/university cares about (outside of the folks on the committee), and they will send back a thesis until they're satisfied with the formatting, and that means lost time. Perhaps throwaway_7274's department has a reputation for particular attention to (meaningless) detail.
The matter isn't really that something is possible only in latex, but that a department/university might have its own template/document class of arbitrary complexity that you would have to reimplement
> department/university might have its own template/document class of arbitrary complexity
I think there is a limit to how complex they can be. If you can't do it relatively easily in Word, then it's probably going to create too many complaints for the bureaucrats
I think there’s a Latex template you can use, or you have to make your own document that looks as similar as possible. It’s not a list of guidelines but a template that specifies how it’s supposed to look.
that is a good observation, but it actually proves that the riskiest thing you could do with your time is a meaningless credentialist PHD, instead of actually learning skills that rich people will pay you for immediately without the pomp and circumstance
If you don’t understand what they mean and are hunting for pedantic discoveries in explanations of a problem, then please try to dig deeper and contribute more meaningfully, as per the HN guidelines.
> to use a different program for turning equations to pixels?
They explain in the comment why it was risky (new thing instead of tried and true methods, not a large user base, etc.) and yet you minimized their explanation, over simplified and seem to not understand the risk involved in writing one of the most important pieces of literature in one’s career.
> why? they wont give you a phd if a single pixel is off by one bit in the alpha channel?
They meant pixel perfect as in matching the template to infer the importance of this. Then for some reason you went down the “off by one bit in the alpha channel” which is a bit of wise-assery and not meaningful nor necessary to the conversation.
As I said before, please dig deeper and use your well meaning System 2 to contribute, and not your Reddit-Tainted System 1.
I'm a PhD student currently writing my thesis in Typst. On paper this is an absurdly risky decision: it's a new technology without a huge user-base, it's not totally stable yet, etc. But I tried Typst and I had no choice. It was obviously the right thing to do, even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template.
I've been using LaTeX for over ten years and I still wouldn't say that I "know" TeX in any meaningful way. I was not only productive but proficient in Typst in a day or two. If there isn't a package for something that I need (and, surprisingly often, there are packages for what I need, and excellent ones!), I find that I can just do it myself. Quickly. Things that never would have been possible for me with LaTeX are within easy reach. In ways I'd be happy to talk about if anyone's curious, it's been a huge enabler of my productivity as a researcher. I owe this tool so much.
Interestingly, I spend far, far less time yak-shaving in Typst than in TeX, since I can just Do The Thing That I Want. I'm actually focusing on writing instead of figuring out why package A conflicts with package B, and then how to install a different version of just a single package to override one of them, and then... [this sort of thing doesn't/can't happen in Typst; it's a real programming language with real modules] I could go on and on about the (relative) quality of the ergonomics and devex: fast compilation times, as others have said, but so much more than that. Try it out. Just try it out.
I should also say that it's not perfect. There are some funky design decisions for sure. There are some missing features, like including pdfs as images in your document (that one's on its way, I believe). Critically, the quality of the typesetting is maybe... 95% as good as TeX, which is perfect every time. Sometimes things don't kern quite right, and you have to adjust them by hand. It's a work in progress. I'm optimistic that it will achieve parity on that front.