logoalt Hacker News

gucci-on-fleektoday at 9:00 AM1 replyview on HN

(Disclaimer: I'm on the TeX Live team)

> cryptic error messages

These have somewhat improved recently, but I agree that they're still not great.

> complex pipeline

You can typically just run "latexmk --lualatex <filename.tex>" and your document should compile in a single step.

> lack of the proper Unicode symbols support out of the box

UTF-8 has been the default input encoding since 2018 [0], so character input should mostly just work. Using complex scripts (Arabic, Devanagari, etc.) requires XeLaTeX or LuaLaTeX, but LuaLaTeX is recommended for most documents anyways [1].

Now, you still won't be able to typeset arbitrary characters without any additional setup, but this is because there is no single font that contains all characters, and since mismatched fallback fonts usually looks bad, the (La)TeX developers do not want this to be the default. But

  \usepackage{fontspec}
  \setmainfont{Some Font with your Characters}
should be all that you need in most cases.

> Projects like Tectonic would solve this for TeX

All of these have already been fixed in TeX, except for the error messages, which would be impossible for Tectonic to fix.

(Background: the TeX engines give excellent error messages, and LaTeX gives good error messages for "expected" errors, but unexpected errors usually give a TeX engine error message unrelated to your LaTeX input, since LaTeX is internally implemented on top of TeX engine macros. So much like C++ template errors, it isn't really possible to fix this.)

> Otherwise, using TeX only makes sense nowadays only if

4) If you actually like TeX for some reason like I do :)

[0]: https://www.latex-project.org/news/latex2e-news/ltnews28.pdf...

[1]: https://www.latex-project.org/news/2024/11/01/issue40-of-lat...


Replies

fshtoday at 9:32 AM

I recently had a document break because I used umlauts together with the subfigs package. Apparently both use " characters internally and clash badly. This is not a particularly exotic use case.

show 1 reply