So the top-level document is just a long list of inputs
\input{intro}
\input{prelude}
\input{complex_figure1}
...
The side benefit is that I can disable all but the component on which I am directly working, so compilation is faster.For others, here's the quote being referenced:
> After a fairly shaky start to the day, Arthur's mind was beginning to reassemble itself from the shellshocked fragments the previous day had left him with. He had found a Nutri-‐Matic machine which had provided him with a plastic cup filled with a liquid that was almost, but not quite, entirely unlike tea. The way it functioned was very interesting. When the Drink button was pressed it made an instant but highly detailed examination of the subject's taste buds, a spectroscopic analysis of the subject's metabolism and then sent tiny experimental signals down the neural pathways to the taste centres of the subject's brain to see what was likely to go down well. However, no one knew quite why it did this because it invariably delivered a cupful of liquid that was almost, but not quite, entirely unlike tea.
We probably could have done it but my coauthor is great with latex and figured converting the whole thing was probably easier than dealing with the political headache of making the organisers deal with a different format.
Writing and editing an entire book manuscript is slow.
For pesky TeX chaos smashups, you create a small dedicated TeX file with necessary driver files, edit-compile-loop till satisfied.
Twenty years ago I ran a makefile producing 1755 pages on a 32 bit INTeL CPU. This was just to see what a fat book would look like, thousands of edits remained, still remain. All the two-column formatting was fine, except for problems of long equations and tables blowing up beyond the column, and other mess I couldn't solve. The compile run time was insignificant.
BTW its laTeX not LaTeX.
Donald Knuth's original creation will ever be infinitely more significant than the sprawling ocean of all the crumpled paper bag shenanigans Leslie and whomever-ephemeral else, RUSTy-paper-clips to the side.
De Laude Scriptorum
You can define macros anywhere you want, but you can only load packages in the preamble (before \begin{document}). I'm not familiar with Typst, but I would assume that it also requires you to load packages at the top of the document (or at least that's the only place that you would want to load packages).
> 6. It's easier to version control and diff, especially if you use semantic line breaks.
Semantic line breaks should be totally fine with LaTeX too.
> 2. Compiling is instant.
> 3. Diagnostics are way easier to understand (sort of like Rust compiler suggestion style).
Agreed, these are definitely LaTeX's biggest weaknesses.
The GP specifically mentions packages, so means \usepackage.
It’s not perfect, they definitely made some interesting choices here and there, but this makes it ~80% less painful than TeX when you’re doing anything other than happy-path undergrad-lab-report writing.
(To be clear, I know you know this! I’m writing this for the benefit of all sentient beings :))
For those that have to use latex for various reasons, but absolutely hate these files from intermediate compiler passes, here are two aliases from my .bashrc
latexloop() { latexmk -pdf -pvc -emulate-aux-dir -aux-directory=/tmp/latexcrap "$@"; }
alias latexmk='latexmk -pdf -emulate-aux-dir -aux-directory=/tmp/latexcrap'
You can now `latexmk file.tex` and it will put all the auxiliary files in /tmp/latexcrap.The `latexloop file.tex` invocation is just a helper that hot-reloads when you save the tex file.
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.