Well here's the process I went through in the last few years:
I found out about LuaTeX, saw it was supposed to replace pdfTeX and thought the future of TeX was bright.
Then I saw the continued efforts in LaTeX3 and thought that was weird and wasteful: code now looks even worse with all \ExplSyntaxOn ... \ExplSyntaxOff sections and the new command syntax like \exp_args:Ne. If you're going to have a mix of two languages anyway, it makes much more sense for the second language to be a a minimal but real programming language like Lua.
Then the LuaTeX devs moved their efforts to LuaMetaTeX and I found myself scratching my head.
Then I spent some time with typst. Now I don't care what happens in TeX land... The experience with typst is incomparably better, and the pace of development is high in both the core language and the ecosystem. Features that took a decade to be fleshed out in LaTeX are sprouting like mushrooms in typst. It's not a fair fight.
The author is a PhD student that has been using LaTeX heavily for 10 years. But what should a new student use, and why? When the only reason to choose LaTeX is old colleagues and gatekeeping publishers, I know it's a matter of time.
Sadly its more than that. Will we be able to compile a typst file made today in 10 years? I have to do that regularly with latex. Will everybody one collaborates with also use typst? Very unlikely. A new PhD student may find it beneficial to write papers with someone who only uses latex. then why bother with typst? (and I really want typst to win)
Yes! typst is actually better than LaTeX in this regard:
LaTeX: contrary to how it sells itself, it's not good at compiling old files. The TeX core is fine but the packaging story is awful. Once I found a beamer presentation about LaTeX itself, including of course some slides about the amazing backward compatibility. Well, the slides failed to compile in multiple places due to the fancy packages used by the author, which had made breaking changes between whatever they were using and my own TeX Live installation. And using an older version of TeX Live is not trivial. Another example: a few weeks ago a colleague found himself unable to compile a document that worked before the system (Linux distribution) update. It took us two hours to figure out that one of the LaTeX packages had made a change which made it incompatible with another package unless you switch the order of \usepackage. Fun!
typst: it's a single binary, statically linked. That's it! If you care about this, you can literally commit this one file (30MB or so) in your repository and it will run flawlessly in 10 years. The packaging system is very recent and still a preview, but it's already better than LaTeX since packages are imported by specific versions. And if you're worried that the typst package server will go down it's easy to mirror it locally.
> Will everybody one collaborates with also use typst? Very unlikely. A new PhD student may find it beneficial to write papers with someone who only uses latex.
That's the reason I mention. If it's the only reason left for learning LaTeX, good luck LaTeX. Very soon it will be "Will everybody one collaborates with also use LaTeX? Very unlikely".
This makes sense: They're essentially “done” with LuaTeX; it works fine and is distributed with TeX Live; it's up to others to use it. Many people are in environments (submission to journals that insist on pdfTeX etc) where they cannot use LuaTeX; the LuaTeX developers cannot change that. (It has minor differences from TeX/pdfTeX but they don't seem keen to fix it.) Meanwhile for those who are willing to use a new system, they might as well simplify (remove the backward-compatibility requirements) and make a better typesetting system more suited to the needs of ConTeXt.
In other words, users can be divided into:
- those who insist/need to use pdfTeX + LaTeX
- those who are willing to try something different, for which there's ConTeXt (with lmtx) or (further afield) Typst, etc.
and if you ask why, 2 packages: psfrag and pstricks.
From what I have seen, it's Overleaf.
Do newer students know or care what flavour of Tex Overleaf uses in the background? Not as far as I have seen.
(If you support both LaTeX and Typst, and improve the Overleaf experience somewhat -- which is definitely possible -- I can't imagine you wouldn't steal some market share from Overleaf.)
* Where LaTeX evidently favours doing whatever it takes to achieve a desired result (exhibit 1 being the article we are discussing), Rust itself and the culture that begot it are clearly on the side of decreeing a Right Way from high above and treating the possibility of deviating from it as a bug. In the light of the discussion in Footnote 7, I could for example imagine a Rust-minded typesetting system designer decreeing that unnumbered "displaystyle" math will not be supported.
* Cultural acceptance of mandatory automatic updates means that backwards compatibility may actually be considered an anti-goal.
* Cultural acceptance of ideology/politics in software engineering brings the danger of invasive conditions. What if, by way of an aggressively interpreted CoC, {receiving funding from military/police-aligned agencies, working with Russian collaborators, working with Iranian collaborators} becomes grounds for being excluded from issue discussions or package repositories? (I do take note that Typst does not currently show signs of doing anything like this, but the tone of the wider Rust community does have to be taken into account.)
Of course all these concerns are speculative, but scientific papers can be a nightmare scenario of maintenance (half a year's worth of work, one-digit number of people in the world qualified to write, two-digit number of people who will bother to read). Under those constraints, some measure of paranoia feels appropriate.
For example, over the last couple of years I've been re-implementing some of Knuth's typesetting work in Rust. Contrary to your claim, my project is obsessed with backwards compatibility and making sure the output is identical to Knuth's. Last weekend I even discovered a ~30-year old bug in one of Knuth's programs [1] as part of an extensive fuzzing effort. (Of course, I re-implemented Knuth's bug in my Rust code [2].)
[1] https://tug.org/pipermail/tex-k/2024-March/004031.html [2] https://github.com/jamespfennell/texcraft/commit/e89b7461780...
And it's also laughable to claim that any research paper written in LaTeX is "maintained". It's a one-off job. Nobody is reusing their previous papers as submodules in new ones.
I sometimes use Typst as an intermediate renderer with Pandoc, but for my highest quality work I insist on features like protrusion. I was using LibreOffice just yesterday and actually had to check multiple times whether there was a space at the beginning of the line because the lack of protrusion support meant unsightly visual gaps.
LuaTeX is stupid but it still has features needed which none of the other markup languages posses.
So I would not recommend a new PhD student (actually undergrad student) to learn Typst just yet.
The ecosystem for the kind of things you mention is expanding rapidly, have a look at these:
https://typst.app/universe/package/fletcher
https://typst.app/universe/package/quill
https://github.com/fenjalien/cirCeTZ
These are based on CeTZ: https://github.com/johannes-wolf/cetz , a kind of TikZ for typst. I don't see anything for Young Tableaux but it should be easy to do based on that.
I generally find PDFs to be a very agreeable way to read the sort of content LaTeX is typically used to write. And in writing it myself I don't need to think about what weird layout issues someone else might encounter when viewing my content. There are certainly accessibility issues with PDFs, but also ways to mitigate that[0].
Pandoc[0] can convert Typst to LaTeX.
IMO If you are able to write in Typst, write in Typst, it's so much better and readable. Your final LaTeX3 macro are hard to read and difficult to parse with the eyes... Also Typst is easier to learn.
[0] -- https://pandoc.org/try/
Pandoc can "convert" html to things too, but you wouldn't use it as a web browser.
Autoref itself seems a fine way of messing up your references and making your source code less readable. The beauty of naming is that you have the context at hand. Moving around blocks of text, or adding and removing text, happens throughout the process. With autoref, you now have to remember to _sometimes_ update the refs or get subtly different references. I wouldn't trust myself to get that right.
[1]: https://talk.commonmark.org/t/cross-references-and-citations...
[2]: https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/ref...
And I certainly don't believe that LaTeX DSL was the most suitable solution for solving typesetting problems.
Many things people think of as LaTeX are actually just TeX.
The problem with LaTeX was always the lack of underlying proper programming language and data model. The syntax always has been excellent.
LaTeX is powerful and I use it every day, but let's not pretend it's got qualities it doesn't.
Real LaTeX users don't use LaTeX to write documents.
whatever -> pandoc -> LaTeX -> perfect document
^
|
LaTeX template ----+Really? That's a bold claim. Got any source or stats for that?
I assure you I am a real LaTeX user and I use LaTeX to write documents. I see everyone around me doing the same.
The equation subset is the best part of LaTeX syntax and so many people learn it. It's very compact compared to alternatives.
Weird conclusion, because LaTeX has mostly replaced TeX.
There is a nice symmetry here:
C -> C++ -> Rust ~ Typst <- LaTeX <- TeX
I am not sure of what happened, and it must have been unpleasant, but someone going up on your website hierarchy, they reach https://commutative.xyz/~miguelmurca/, they click the only link, and you personally list your profiles there, including email, github and insta. It is OK if someone contacts you for whatever reason on addresses and profiles that you explicitly shared.
> If you email me anywhere else, I will not respond. I also cannot force you to follow basic etiquette if you do write, but it would be appreciated.
This is rude, it looks bad in the article, and you are the one who doesn't follow basic netiquette.
I'm sorry if you felt that addendum was aggressive. However, I still feel like I'm justified in making it absolutely clear how (and if) I want to be contacted. I am in a complicated position where I'm speaking to a niche -- not an imaginary niche, by any means -- but actually addressing every reader. In the face of this, my option was to clearly state my boundaries, regardless.
I list an email address at the end of every article, for the purposes of discussing the content of the article. I add a "+ext" to every email I list (including the one on my personal home page). I had people ignore the email I stated in the article, find a different email, strip it of the + tags, and email me there in a foreign language and opening with "I assume you speak X" (presumably because of my name?).
I disagree with you that it's fair game to do the above. OSINT is, well, legal, and I'm not trying to hide my identity, clearly. But I would still be upset if, for example, someone wrote to my university email (which is not hard to find out, by your own procedure) regarding this post.
Nonetheless, again, it is not my goal to sound rude, but simply to set boundaries and expectations. I will remove the second sentence towards this goal, but stand by its objective meaning, and will keep the rest as is.
Cheers
If you wish to contact me by email, by all means do so to miguelmurca+autoref [æt] cumperativa.xyz - I may not be able to respond. If I don't please don't try to find other emails to send to me, as I'll not respond to those, either, and just delete them. This post is in English. If you wish to write me, please do so in English. Other languages will be deleted.
(The key is assholes won't read it anyway, so there's no reason to snark them, just delete.)
> I list an email address at the end of every article, for the purposes of discussing the content of the article.
I am maybe blind, or because of adblockers, or because of cloudflare, but they don't show up for me, in edge, and in firefox.
You definitely should make it easy for the people to contact you in your preferred way. Put it under the articles, under the blog home page https://commutative.xyz/~miguelmurca/blog/ , and maybe under your HN about section.
My previous message was under the impression that you don't put a contact info in this blog, and I tried to demonstrate that getting messages at your other contact is your fault, not the public's fault or "HN reader"'s fault. (I wonder if
But, 1. famously, HN can be quite predictable in some of their responses (by what I expect is, essentially, a meme effect), and 2. I’ve had some unexpected experiences resulting from previously reaching FP in HN.
has any truth in it, and the readers from HN are worse than the other readers?)> I will remove the second sentence towards this goal
Your critic decided their negative emotions about a miniscule matter are more important than the actual contents of your post and worthy of derailing the conversation. And then they called you rude.
There is really no need to cater to such people. It obviously has zilch to do with you in actuality.