Live data from Hacker News

RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

ratex.lites.dev

1–10 of 114 posts

Re: RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

#3
The landing page (clearly to a large part written by LLM) does not mention that both KaTeX and mathjax can render to SVG in node. This wasm approach might still be lighter, but the advantage is not as clear as the page makes it seem. (It also contains LLM dishonesties like that the bundle size is 0 KB.)

Re: RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

#6
It's interesting to me that the page doesn't describe the size of the rust binary (relevant for mobile app use cases where you would need to add the Rust binary to your app) or performance.

The webpage also does read like it was at least heavily LLM assisted, which makes it a bit hard to trust it.

That all said, this is definitely something I'd be interested in using for Zulip if is indeed going to be a well maintained open source project.

(We currently have a node server component that the Zulip server runs only the render LaTeX).

Re: RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

#7
We recently switched from Node.js + Mathjax for rendering latex to Goja (https://github.com/dop251/goja) + Mathjax, and surprisingly it worked really well. We did this because the app is already 99% golang, and this allows us to eliminate the remaining non-go pieces, greatly simplifying the SBOM. And yes, we tried go-latex, but it's not nearly as feature complete as Mathjax. Not to mention using goja + Mathjax adds 10MB to binary size while Node.js adds 200MB+

Re: RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

#8
post #2

Interesting. Reminds me of Typst (both implemented in Rust and replacing TeX to some degree) and Microtex.

I have been using Typst for creating notes and it is an awesome tool. I use it to create notes on welding for my students. It makes my life so much easier compared to badsoft and its not-word-ing (you understand me).

Re: RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

#9
Pixel-diff CI against a golden suite is the right discipline for layout libraries, and it's noticeably rare in the JS ecosystem.

Most "matches KaTeX" claims I've seen in the wild rely on screenshot eyeballing, which collapses on edge cases like spacing primes, integral subscripts, and matrix delimiters that scale.

One thing I'd be curious about: how are font fallbacks handled when the same Rust core ships to platforms with different system font availability?

KaTeX bundles fonts and assumes they load cleanly; CoreGraphics and Skia bring their own glyph caches and metrics.

Does the display list carry metric snapshots from the host text shaper, or does the core compute layout from a bundled metric file independent of the backend?

Re: RaTeX: KaTeX-compatible LaTeX rendering engine in pure Rust

#10
I used LaTeX for approximately 10 years, for little things to relatively complex, including my bachelor’s and master’s theses. It never felt natural at reliable or consistent. Every customization required weird \makeatletter \makeatother hacks and was very brittle. Everything seemed more complicated than necessary and hard to grok, with weird interdependencies and interactions.

There are probably good reasons for all of that, but it is just both bad DX and bad UX. It feels like you need to be a hardcore LaTeX expert or consult with one, in order to accomplish the most mundane things. Especially in a reliable way, that won’t break upon making seemingly unrelated changes, or won’t break other things itself.

I used Typst for a few weeks. It already feels much more understandable, consistent, hackable, and customizable. I guess that is the difference between an ad hoc macro system and an actually thought through programming language.

The only drawback I can see is the ecosystem being smaller and less mature. That is, however, counteracted by being able to do things on your own, without immersing yourself deeply in LaTeX for years. Also, it will improve with time.

LaTeX is great, don’t get me wrong. But its heritage and historical baggage is really dragging it down.

Post reply on HN