Why do CS doctoral candidates have such a fascination with typesetting? I mean, be into whatever you’re into, I guess.
But as soon as someone starts talking about LaTEX and how they spent months on their macros, I think “another hapless victim has fallen into LaTEX’s trap.” It’s like an ant lion that feeds on procrastinating students.
RheingoldRiver · 34m ago
I was a math major in undergrad, we care about typesetting so much because you really do not want to be stuck handwriting everything, but it's not easy to be faster typing than you are with handwriting when you're writing out rows and rows of equations. (Actually physics was generally a lot harder for me to keep up with while typing than math was.)
And when your life is revolving around classes or your thesis, the #1 most important thing to you in the world is how easily you can transfer your ideas to paper/digital format. It makes a lot of sense that people care a lot about the quality of their typesetting engine and exchange macro tips with each other (I got a lot of helpful advice from friends, and my default latex header was about 50% my own stuff and 50% copied from friends in my same major)
wenc · 1h ago
It's because LaTeX gives us a sense of legitimacy. (it's also why people go overboard with math notation in LaTeX documents, even when prose is more appropriate).
It produces documents that look like those produced by professors, and luminaries in the field. If you write equations in Word Equation Editor, your work just doesn't look very serious.
It's the same joy I felt when I laser-printed my first newsletter designed in Aldus PageMaker. I was only in my teens but I felt like a "professional".
pdpi · 1h ago
> If you write equations in Word Equation Editor, your work just doesn't look very serious.
Haven't tried it in a while, but, last I checked, Word Equation Editor output didn't look serious because it looked janky and look like it wasn't really done in a "professional" tool. Part of that is a self-fulfilling prophecy of course, LaTeX output looks right in part because it's what people have been reading for decades, but TeX's formulas just look plain good.
Waterluvian · 16m ago
I did this once in undergrad. Used Word to make my term paper two columns and all formatted like a journal article. Felt cool. Felt legitimate. But I then felt kinda embarrassed and never really shared it with anyone.
TimorousBestie · 1h ago
Most universities don’t formally train their STEM students in technical writing. At the graduate level, one is basically at the mercy of one’s advisor’s taste, for better or (usually) for worse.
bjourne · 3m ago
That may be true in US universities, but in Europe students have to write technical reports in almost every course.
shermantanktop · 10m ago
Having tutored CS undergrads on writing, the lack of training (or care, or perceived relevance) was painfully obvious. Many were semi-literate wrt to English prose.
senkora · 46m ago
There’s always the WordTex template if you want to create documents that look like LaTeX output from within Word: https://youtu.be/jlX_pThh7z8
api · 47m ago
Given that LLMs can or soon will be able to turn markdown or word into LaTeX this filter won’t last long.
It’s a dumb filter anyway.
thomasfedb · 1h ago
I wrote my joint med-CS honours (1 year research thing we have in Aus) thesis in Word. My med supervisor was happy with it. CS supervised insisted I reformat it in LaTeX as he couldn't stand the typesetting.
Honestly I don't disagree with him, it looked far better in 'TeX. But that's probably a learnt preference.
In essence, it's culture.
unbelievr · 42m ago
Here it's typical that a thesis will be printed as a book, and it's that book that will be evaluated. For PhDs, there's a doctoral defence in front of a committee, peers and other interested parties and they're all given the book.
Usually the process for ordering books is that you send them a PDF with embedded fonts inside it, and it's made at the university's printing house. They will handle distribution etc. So you really, really want it to look right at the first go.
There's been some progress the past few years now where you get to preview the book somewhat, but one surefire way to get it right is to use something like LaTeX. It used to be one of few WYSIWYG solutions out there. And it used to be really hard to do certain required things in e.g. Word. For instance skipping some page numbering and doing others in roman numerals etc.
yencabulator · 14m ago
WYSIWYG means what you're editing looks like the end result; LaTex and Typst are at the opposite end of the scale, being languages that compile into layout. No, a preview window does not count as WYSIWYG.
porcoda · 38m ago
Not all of us fell into that trap! My dissertation was written almost entirely using a default document class and a handful of packages, and only towards the end did I apply the university document style to come into compliance. I had more than enough to do on the subject of the PhD and didn’t have the patience to burn time on typesetting or fiddling with macros.
I’ve found in the decades since then that my most productive co-authors have been the ones who don’t think about typesetting and just use the basics. The ones who obsess over things like tikz or fancy macros for things like source layout and such: they get annoying fast.
generationP · 20m ago
Tikz is misplaced in this list; it is how you make any kind of vector drawings in LaTeX. It's not the only way, but perhaps the best documented and most expressive one. If you have any such drawings in your work, you won't get around putting some effort into it. Not comparable with boxed theorems or fancy headings.
generationP · 20m ago
I guess monks were procrastinating likewise when they illuminated their manuscripts.
efitz · 7m ago
I have often thought that LaTEX' distinctive font and formatting is either a virtue signal or an in-group signal.
blindstitch · 1h ago
The typesetting is finished whenever you want it to be. I spend most of my time thinking about the content.
nextos · 1h ago
LaTeX typesetting is a solved problem. Memoir or Classic Thesis, paired with microtype, provide outstanding results and you need to spend zero time on tweaking stuff.
Typst is interesting, but it doesn't yet support all microtypography features provided by microtype. IMHO, those make a big difference.
catgary · 22m ago
I’m going to have to disagree with you there. The compile times are long, the error messages are worse than useless, and tikz diagrams are almost always unreadable messes.
Large swathes of mathematics, computer science, and physics involve notations and diagrams that are genuinely hard to typeset, and incredibly repetitive and hard to read if you don’t make heavy use of the macro system. Integrating some actual programming features could be a game changer.
__float · 35m ago
What in microtype makes "a big difference"? I don't recall using it (my LaTeX years are long behind me), but all of the examples on https://www.khirevich.com/latex/microtype/ seem incredibly minor. I don't think I'd notice any of them as the reader.
Swizec · 1h ago
> Why do CS doctoral candidates have such a fascination with typesetting?
Same reason wantrepreneurs have a fascination with adding dark mode to their CSS. It feels productive while you avoid the real work.
nailer · 1h ago
I find it odd too. The fascination with typesetting limits the paper’s usability on narrower devices which seems a very strange position for engineers.
wyager · 1h ago
> Why do CS doctoral candidates have such a fascination with typesetting?
Why does anyone care about typesetting? Probably because they spend a lot of time working with text and have therefore developed a level of taste.
Just because the bottom 80% of consumers have zero taste and will accept any slop you give them doesn't mean there isn't value in doing something only appreciated by the top 20%. In any field, not just typesetting. Most people have ~no refined endogenous preferences for food, art, music, etc.
shermantanktop · 14m ago
I wonder if any doctoral defense has hinged on how refined the typesetting was. Probably. It’s the sort of ritual humiliation that academia specializes in.
WhyNotHugo · 2h ago
Typst looks really promising, especially due to the fact that it had common templates (like the IEEE one) which produce content identical to LaTeX.
My biggest gripe with latex is the tooling. During my last paper, I ended up using a makefile which would usually work. When it didn’t work, running it twice would fix the issue. In the rarest cases, I had to run `git clean -xdf` and the next run would work.
I still have no idea what was going on, and most makefiles out there seem to be obscenely complex and simply parse the output and run the same commands again if a certain set of errors occurred.
shusaku · 2h ago
The definition of insanity is doing the same thing twice and expecting different results.
By coincidence, this is the basic way to compile latex.
pcfwik · 2h ago
Absolutely not a perfect solution, and maybe you're already using it within your Makefiles, but for anyone who doesn't yet know about it there's Latexmk[1] which is supposed to automate all of this hassle. I think at least on Debian it's included with texlive-full. In addition it has some nice flags like `-outdir` which lets you send all the crazy LaTeX intermediate build/aux files to a separate directory that's easy to gitignore.
LaTeX needs several passes to compile because it was designed with minicomputers of the 80s in mind, i.e. a tiny memory.
Latexmk is one way to address this problem. A good IDE like AUCTeX can also figure out how many times compilation should be invoked.
jeffparsons · 1h ago
I think I used to understand this, but it's been a long time since I had to write any serious LaTeX, so I don't anymore. I found this snippet in my personal _quick-build-latex_ script from over a decade ago:
if [ -z "$(find . -name "*.bib" -print0)" ]; then
# Just two runs, to cover TOC building, etc.
pdflatex -interaction=nonstopmode "$SOURCE_FILE" && \
pdflatex -interaction=nonstopmode "$SOURCE_FILE"
else
pdflatex -interaction=nonstopmode "$SOURCE_FILE" && \
bibtex "$SOURCE_FILE" && \
pdflatex -interaction=nonstopmode "$SOURCE_FILE" && \
pdflatex -interaction=nonstopmode "$SOURCE_FILE"
fi
So I guess if you're using bibtex, then you need to run it three times, but otherwise only twice?
This is to say... I'm glad those days are gone.
irundebian · 10m ago
It can be hard to write macros with state in typst.
TimorousBestie · 2h ago
I’m gradually moving my work over to Typst and it’s been a breath of fresh air. Compiles very quickly.
Perhaps the hardest part has been relearning the syntax for math notation; Typst has some interesting opinions in this space.
wenc · 1h ago
Typst looks good, but I'm actually going back to LaTeX but paired with Claude Code in VS Code.
I took a hiatus from LaTeX (got my PhD more than a decade ago). I used to know TikZ commands by heart, and I used to write sophisticated preambles (lots of \newcommand). I still remember LaTeX math notation (it's in my muscle memory, and it's used everywhere including in Markdown), but I'd forgotten all the other stuff.
Claude Code, amazingly, knows all that other stuff. I just tell it what I want and it gets 95% of the way there in 1-2 shots.
Not only that, it can figure out the error messages. The biggest pain in the neck with LaTeX is figuring out what went wrong. With Claude, that's not such a big issue.
TimorousBestie · 1h ago
Claude and the like are a huge problem for new languages that want to do new things. It was bad enough when a LaTeX replacement had to compete with forty-ish years of package development time. Now they also have to compete with the millions of lines of existing code LLMs have hoovered up.
nomel · 1h ago
mitex is an option [1]. There's no way I could learn another notation, at this point.
I'll only say that learning typst is easier than learning LaTeX.
It also has first class support for unicode (as does LaTeX via some packages) which if combined with a suitable keyboard layout makes both writing and reading math source code infinitely more pleasant :)
No comments yet
vessenes · 1h ago
I was on the typst train, particularly because its layout engine has some additional vertical control for long documents that latex lacks. However, just about when I was looking at moving over, LLM coding became good or at least good enough, and one area the current crop is bad at is doing layout in anything but latex. Not that they are good at latex, but they are terrible, terrible, terrible at typst. Really bad. Maybe in another year or six months!
dkga · 58m ago
Well, they are good in markdown and rust. Perhaps feeding some Typst documentation overview into the prompt could solve it?
commandersaki · 1h ago
In case anyone hasn't seen some typst source and renders, here's a few documents I whipped up:
First is based on Todd C. Miller's Latex Resume Template:
Very cool! I ran into the multiple bibliography issue when attempting to typeset my grandmother's PHD thesis which I was able to rescue from the 5.25" floppies it was originally stored on. I was planning on waiting until they solved this officially, but might give Alexandria a shot!
pityJuke · 1h ago
Glad to hear Typst has people doing serious work with it.
I’ve been able to avoid LaTeX. At uni, I went for org-mode -> LaTeX, which was OK except when my .emacs file was filling up with LaTeX stuff to make random stuff work. To be honest, that means I probably can’t even compile it again if I wanted to.
Typst has been awesome (always ran into LaTeX just being horribly inconsistent when layout stuff) when I’ve used it. Hope it continues.
dkga · 59m ago
Nice debrief. I think tough some of the downsides the author mentions can be addressed relatively easily with quarto, which has embraces Typst since its early days as I recall. Especially the bibliography issue.
tiagod · 1h ago
I've used Typst to generate reports in multiple languages and it works pretty well for this! I just pass typst JSON with the report data and use it from there.
rossant · 2h ago
Great work. Screenshots would be nice.
octernion · 1h ago
i switched all of our pdf generation to typst - fantastic software. love how efficient it is; it makes previewing trivial and iteration very fast.
BiteCode_dev · 1h ago
Pro tips: type long content unformatted, or barely formatted, then ask an LLM to format it using your markup of choice, then clean up the thing it got wrong.
They are very decent at inferring the context of stuff and will mark code, maths, titles so on farely decently. This lets you focus on the work of making it looks nice.
RestartKernel · 1h ago
I'm always worried about LLMs unintentionally affecting the actual content, so the extra effort of carefully reviewing the diff just isn't worth it. Markdown + PanDoc is more sensible to me if your document is simple enough.
dkga · 57m ago
Well you can always diff the document. If it's not too large, then manually inspect it. If too long, then pipe the diff into the clipboard and send it to another LLM to summarise the changes.
aziis98 · 1h ago
I successfully converted a typst report to md/mdx last week using this technique. For complex layout primitives I just told the llm to write a comment with a warning todo of the missing part it wasn't able to convert
andrepd · 1h ago
Jesus
Svoka · 2h ago
I'm quite glad some alternatives are popping up. Using LaTeX feels like piece of 80s tech to be honest. It is obviously fine and super powerful, but, like vim-style fine. There got to be more contemporary alternatives that status quo.
Not everyone is into nostalgia. I don't try to take away LaTeX or vim from anyone, it just not for everyone.
commandersaki · 48m ago
These are some notes I wrote when I started out with typst when comparing with LaTeX:
1. It doesn't generate 5 bloody files when compiling.
2. Compiling is instant.
3. Diagnostics are way easier to understand (sort of like Rust compiler suggestion style).
4. List items can be either - item1 - item2, etc. or [item1], [item2]. The latter is way better because you can use anchoring to match on the braces (like "%" in vim), which means navigating long item entries is much easier.
5. In latex you have the \document{...} where you can't specify macros so they need to be at the top, in Typst you can specify the macros close to where you need them.
6. It's easier to version control and diff, especially if you use semantic line breaks.
7. Changing page layout, margins, spacing between things, etc., footers with page counters, etc. just seems way easier to do.
Al-Khwarizmi · 1h ago
It's not even fine. It's old and it shows also in the functionality, and I say this as a rather heavy LaTeX user. For example, Unicode support is atrocious. A few years ago I had to include some Hebrew and Russian words in a document that was otherwise in Latin alphabet, and it was hell.
I'm not a vim user but my understanding is that it has native Unicode support. Software with old-school UI but adapted to current needs (or where needs just didn't change) is fine, but it's not the case of LaTeX.
JadeNB · 1h ago
XeTeX handles Unicode fine, but that's definitely one area where TeX shows its age and its extensibility didn't, I think, allow Lamport to make a real difference.
Al-Khwarizmi · 1h ago
I have heard about it, but it isn't viable for me to switch to it because most academic journals and conferences have templates incompatible with XeTeX, or directly ask for the sources and compile them with pdflatex.
This is the same reason why it isn't viable for me to switch to typst either, by the way. I hope it gains popularity and ends up as a standard displacing (or along with) pdflatex.
andrepd · 1h ago
Well yeah but the point is that unlike other pieces of 70s tech, LaTeX has no suitable alternative in its class (at least until now :p), meaning a FOSS software to produce high quality typesetting with an emphasis on maths.
JadeNB · 1h ago
I appreciate your postscript. I don't use TeX or vim out of nostalgia; I didn't discover TeX until I was a senior in undergrad, and I think I didn't discover vim until after I finished my Ph.D. I use vim because it seems best for its tasks, given the way I think (though maybe I think that way because I'm old). I use TeX because I write math for a living and have invested a huge amount of time using it, so that it's become intuitive to me even though I know it wouldn't be for a newcomer, and I can't be bothered to break long-established habits until I know an alternative will be established everywhere TeX is.
But as soon as someone starts talking about LaTEX and how they spent months on their macros, I think “another hapless victim has fallen into LaTEX’s trap.” It’s like an ant lion that feeds on procrastinating students.
And when your life is revolving around classes or your thesis, the #1 most important thing to you in the world is how easily you can transfer your ideas to paper/digital format. It makes a lot of sense that people care a lot about the quality of their typesetting engine and exchange macro tips with each other (I got a lot of helpful advice from friends, and my default latex header was about 50% my own stuff and 50% copied from friends in my same major)
It produces documents that look like those produced by professors, and luminaries in the field. If you write equations in Word Equation Editor, your work just doesn't look very serious.
It's the same joy I felt when I laser-printed my first newsletter designed in Aldus PageMaker. I was only in my teens but I felt like a "professional".
Haven't tried it in a while, but, last I checked, Word Equation Editor output didn't look serious because it looked janky and look like it wasn't really done in a "professional" tool. Part of that is a self-fulfilling prophecy of course, LaTeX output looks right in part because it's what people have been reading for decades, but TeX's formulas just look plain good.
It’s a dumb filter anyway.
Honestly I don't disagree with him, it looked far better in 'TeX. But that's probably a learnt preference.
In essence, it's culture.
Usually the process for ordering books is that you send them a PDF with embedded fonts inside it, and it's made at the university's printing house. They will handle distribution etc. So you really, really want it to look right at the first go.
There's been some progress the past few years now where you get to preview the book somewhat, but one surefire way to get it right is to use something like LaTeX. It used to be one of few WYSIWYG solutions out there. And it used to be really hard to do certain required things in e.g. Word. For instance skipping some page numbering and doing others in roman numerals etc.
I’ve found in the decades since then that my most productive co-authors have been the ones who don’t think about typesetting and just use the basics. The ones who obsess over things like tikz or fancy macros for things like source layout and such: they get annoying fast.
Typst is interesting, but it doesn't yet support all microtypography features provided by microtype. IMHO, those make a big difference.
Large swathes of mathematics, computer science, and physics involve notations and diagrams that are genuinely hard to typeset, and incredibly repetitive and hard to read if you don’t make heavy use of the macro system. Integrating some actual programming features could be a game changer.
Same reason wantrepreneurs have a fascination with adding dark mode to their CSS. It feels productive while you avoid the real work.
Why does anyone care about typesetting? Probably because they spend a lot of time working with text and have therefore developed a level of taste.
Just because the bottom 80% of consumers have zero taste and will accept any slop you give them doesn't mean there isn't value in doing something only appreciated by the top 20%. In any field, not just typesetting. Most people have ~no refined endogenous preferences for food, art, music, etc.
My biggest gripe with latex is the tooling. During my last paper, I ended up using a makefile which would usually work. When it didn’t work, running it twice would fix the issue. In the rarest cases, I had to run `git clean -xdf` and the next run would work.
I still have no idea what was going on, and most makefiles out there seem to be obscenely complex and simply parse the output and run the same commands again if a certain set of errors occurred.
By coincidence, this is the basic way to compile latex.
https://mgeier.github.io/latexmk.html#running-latexmk
Latexmk is one way to address this problem. A good IDE like AUCTeX can also figure out how many times compilation should be invoked.
This is to say... I'm glad those days are gone.
Perhaps the hardest part has been relearning the syntax for math notation; Typst has some interesting opinions in this space.
I took a hiatus from LaTeX (got my PhD more than a decade ago). I used to know TikZ commands by heart, and I used to write sophisticated preambles (lots of \newcommand). I still remember LaTeX math notation (it's in my muscle memory, and it's used everywhere including in Markdown), but I'd forgotten all the other stuff.
Claude Code, amazingly, knows all that other stuff. I just tell it what I want and it gets 95% of the way there in 1-2 shots.
Not only that, it can figure out the error messages. The biggest pain in the neck with LaTeX is figuring out what went wrong. With Claude, that's not such a big issue.
[1] https://typst.app/universe/package/mitex/
It also has first class support for unicode (as does LaTeX via some packages) which if combined with a suitable keyboard layout makes both writing and reading math source code infinitely more pleasant :)
No comments yet
First is based on Todd C. Miller's Latex Resume Template:
- https://typst.app/project/rDUHMUg5vxl4jQ5q2grGPY
Second is a Enduring Power of Attorney:
- https://typst.app/project/rs9ZgGLhgM7iPvFs7PQv5O
Third a will:
- https://typst.app/project/r45dVk6MpLjsoXMvxkTxsE
I’ve been able to avoid LaTeX. At uni, I went for org-mode -> LaTeX, which was OK except when my .emacs file was filling up with LaTeX stuff to make random stuff work. To be honest, that means I probably can’t even compile it again if I wanted to.
Typst has been awesome (always ran into LaTeX just being horribly inconsistent when layout stuff) when I’ve used it. Hope it continues.
They are very decent at inferring the context of stuff and will mark code, maths, titles so on farely decently. This lets you focus on the work of making it looks nice.
Not everyone is into nostalgia. I don't try to take away LaTeX or vim from anyone, it just not for everyone.
1. It doesn't generate 5 bloody files when compiling.
2. Compiling is instant.
3. Diagnostics are way easier to understand (sort of like Rust compiler suggestion style).
4. List items can be either - item1 - item2, etc. or [item1], [item2]. The latter is way better because you can use anchoring to match on the braces (like "%" in vim), which means navigating long item entries is much easier.
5. In latex you have the \document{...} where you can't specify macros so they need to be at the top, in Typst you can specify the macros close to where you need them.
6. It's easier to version control and diff, especially if you use semantic line breaks.
7. Changing page layout, margins, spacing between things, etc., footers with page counters, etc. just seems way easier to do.
I'm not a vim user but my understanding is that it has native Unicode support. Software with old-school UI but adapted to current needs (or where needs just didn't change) is fine, but it's not the case of LaTeX.
This is the same reason why it isn't viable for me to switch to typst either, by the way. I hope it gains popularity and ends up as a standard displacing (or along with) pdflatex.