Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.



> 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.


Ouch ouch ouch. My sympathies :)


You went to the wrong university :)


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.


just for the correctness, Typst 0.14 now supports all PDF/A standards: https://staging.typst.app/docs/reference/pdf/#pdf-a

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.


I know I'm late to this, but there is a minimal distribution of LaTeX that I used for e.g. writing my master's thesis. It's called TinyTeX.

https://yihui.org/tinytex/


Sounds 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-monorep...


> 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.


Universities can be infamously nitpicking when it comes to thesis formatting and their house style, for some reason.


> 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.


If you had opened and read the TeX book, you'd understand it.


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.


Millions of people love to use LaTeX and use it daily. Your experience is just a personal opinion.


Millions of people love traffic jams which is why they're happy they can have them twice a day.


Your claim is just a claim.


Oh definitely, let’s do a PhD in Latex and its worthless toolchain before start writing the actual thesis.

Software should be invisible and not a hindrance to our ability to express ourselves.


Reading a single book is not equivalent to a PhD in LaTeX.


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.


That's not even close to be true.


Oh, you mean those 500 pages of dense Knuth writing?


Dense? The TeX book is a total delight to read.


Not for people who are fun at parties


Isn't that everyone's experience? TeX is a nightmare. It predates all standards for sensible software.


Pure TeX makes MUMPS look well-designed.


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.

Maybe it's the PL person in me.


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.


And the TeX that we know is the "new" TeX, which was created after Knuth completely rewrote the "old" TeX in 1983.


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.


TeX had many design goals. "Being a good programming language" was not one of them.


Indeed! It undeniably succeeded at setting the standard for typesetting quality. Big ups to Don K.


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.


You wrote an analog thesis about 31 years ago, analog31? You've been playing the long game with this account!

Appreciate the story, thanks for sharing. Can I ask what your thesis was on (in whatever way isn't too personally-identifying if that's a concern)?


I anticipated this moment. ;-)

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!


It probably required negative power for some unexpected reason.

CMOS has spoiled us.


Fellow PL grad student—not a top-3 tho ;)

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?


I wouldn't count on it!

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.)


> top-3 departement

I’m curious- what does this mean?


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.

Thanks for your posts on on Typst.


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.


It narrows things down to about 20 departments. ;-)


:)


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.

[1]: https://tex.stackexchange.com/questions/8351/what-do-makeatl...


Apologies, my comment was poorly written.

I meant “\makeatother, and a lot of other things whose meaning is not clear”


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.

Hell I wish I could submit my resume as markdown.


What's stopping you?


Ease of use can't have been top of mind when creating Tex, that's all.


You should check out this blog post about somebody who did the same! https://fransskarman.com/phd_thesis_in_typst.html


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.


Pandoc can do this [0], and there's also the "markdown" LaTeX package [1].

[0]: https://pandoc.org/MANUAL.html#specifying-formats

[1]: https://ctan.org/pkg/markdown


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.


There are already good html to pdf solutions, people using latex generally would not be satisfied with those


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.

(Serious question) With or without an LLM?


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.


Presumably it works fairly well if you include a syntax cheatsheet and some example typst markup in the context you send to the LLM?


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.


(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.


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.


I have only ever used it as a command line tool and written my Typst files in Sublime.


>on paper absurdly risky

to use a different program for turning equations to pixels?

>pixel perfect clone

why? they wont give you a phd if a single pixel is off by one bit in the alpha channel?


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.


While there are formatting guidelines, I've never seen them so specific that you could only easily do it in Latex. Is that really common?

I've never actually see it as the assumed default option.. Maybe a decade back I could see that.. but not now.


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.


please explain to me how anything i said displays pedantry or lack of understanding?

THEY were the ones that asserted they needed to be pixel perfect, not I!!!


> 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.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: