5 ms·
It's night and day. 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 u
by throwaway_7274 1y ago
It's night and day.
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.
- Rochus 1y ago> 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?
- throwaway_7274 1y agoYep, 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. Maybe it's the PL person in me.
- jfengel 1y agoTeX had many design goals. "Being a good programming language" was not one of them.
- throwaway_7274 1y agoIndeed! It undeniably succeeded at setting the standard for typesetting quality. Big ups to Don K.
- analog31 1y agoIt 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.
- p4bl0 1y ago> even though I'm going to have to make a pixel-perfect clone of my university's LaTeX template That's lucky. Most of us had to do a LaTeX pixel perfect clone of our university's MS Word template.
- rubidium 1y agoYou went to the wrong university :)
- throwaway_7274 1y agoOuch ouch ouch. My sympathies :)
- chickenzzzzu 1y ago[flagged]
- fathermarz 1y agoIf 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.
- chickenzzzzu 1y ago[flagged]
- fathermarz 1y ago> 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.
- WastedCucumber 1y agoIn 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.
- chickenzzzzu 1y ago
- TheCondor 1y agoI 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.
- daxfohl 1y agoSounds like they could benefit from the R (language) build model that checks library changes against registered consumers of that library before merging. https://jtibs.substack.com/p/if-all-the-world-were-a-monorepo https://jtibs.substack.com/p/if-all-the-world-were-a-monorep...
- TimorousBestie 1y ago> 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.
- DemocracyFTW2 1y agohttps://xkcd.com/1172/ https://xkcd.com/1172/
- DemocracyFTW2 1y ago> 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.
- shrinks99 1y agoYou should check out this blog post about somebody who did the same! https://fransskarman.com/phd_thesis_in_typst.html https://fransskarman.com/phd_thesis_in_typst.html
- wildzzz 1y agoMaybe 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.
- afiori 1y agoThere are already good html to pdf solutions, people using latex generally would not be satisfied with those
- volemo 1y agoI 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.
- gucci-on-fleek 1y agoPandoc can do this [0], and there's also the "markdown" LaTeX package [1]. [0]: https://pandoc.org/MANUAL.html#specifying-formats https://pandoc.org/MANUAL.html#specifying-formats [1]: https://ctan.org/pkg/markdown https://ctan.org/pkg/markdown
- ttfvjktesd 1y ago> 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.
- TimorousBestie 1y agoUniversities can be infamously nitpicking when it comes to thesis formatting and their house style, for some reason.
- humanfromearth9 1y agoCompile 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.
- grep_name 1y agoI 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
- jeltz 1y agoI have only ever used it as a command line tool and written my Typst files in Sublime.
- throwaway_7274 1y agoOh 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.
- thiagowfx 1y ago> 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. (Serious question) With or without an LLM?
- tedzards509 1y agoGPT 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.
- Myrmornis 1y agoPresumably it works fairly well if you include a syntax cheatsheet and some example typst markup in the context you send to the LLM?
- throwaway_7274 1y agoWithout. 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.
- tomjen3 1y ago(not op) 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.
- fdekerm 1y agoI 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 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.
- fdekerm 1y agojust for the correctness, Typst 0.14 now supports all PDF/A standards: https://staging.typst.app/docs/reference/pdf/#pdf-a https://staging.typst.app/docs/reference/pdf/#pdf-a