Need help?
<- Back

Comments (77)

  • Hendrikto
    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.
  • azverev
    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?
  • tabbott
    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).
  • thangalin
    When developing KeenWrite[1], I opted to support only plain TeX. This is because I wanted math typesetting to work for either LaTeX or ConTeXt[2]. To render TeX in the preview panel, I forked NTS[3] into a highly optimized Java version. The lack of cross-platform event-based UI system is what kept me from writing the entire application in Rust (some ten years ago). Has the Rust ecosystem improved with respect to Markdown processing, event-based UIs, and now TeX support?[1]: https://keenwrite.com/screenshots.html[2]: https://wiki.contextgarden.net[3]: https://ctan.org/tex-archive/systems/nts
  • nixpulvis
    I'm not sure how much overlap there is between this project and Tectonic [1], but that's what I use personally for local PDF generation, and it's also using a good bit of Rust.Just thought I'd mention since it's related and I really like the project.[1] https://github.com/tectonic-typesetting/tectonic
  • xworld21
    I suppose somebody has to ask (and most likely complain) about this: what does RaTeX do for accessibility? I gather that it produces images. I checked the demo, and there's not even an alternative text or an ARIA label, so this seems completely invisible to anybody relying on a screen reader. This is quite a step backwards compared to modern LaTeX, which can now tag equations with MathML within the PDF, or using MathJax, or any other serious tool targeting HTML, like pandoc or LaTeXML.Is accessibility anywhere on the roadmap for RaTeX?
  • DominikPeters
    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.)
  • Rochus
    Interesting. Reminds me of Typst (both implemented in Rust and replacing TeX to some degree) and Microtex.
  • danborn26
    A native Rust alternative to KaTeX is a welcome addition. This should make math rendering much easier to integrate into Rust based static site generators.
  • jedberg
    I don't know why but this chain amuses me: RaTeX -> KaTeX -> LaTeX.I guess it shows how everyone loves but hates LaTeX and is always trying to bolt on that one last thing that will make it good.
  • umvi
    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+
  • mrichman
    I switched to Typst a year ago and never looked back
  • marvinified
    Interesting! Would love to see how RaTeX evolves.
  • IshKebab
    I wish it was standard for projects to say the extent to which they were vibe coded, in the same way that they give a license.
  • Piterniel
    > JS bundle (typical) 0 kB JS (core is WASM)I guess you should mention how much is WASM, right?
  • anon
    undefined
  • TheRealPomax
    I am so confused. There's already a native version of LaTeX... it's... it's LaTeX. Why would a Rust implementation need to match KaTeX instead of properly implementing a real (and modern, so unicode-out-of-the-box) TeX engine, that LaTeX (which is a set of convenience macros) then trivially runs on top of?
  • flakiness
    > JS bundle (typical) 0 kB JS (core is WASM)Hello?Trolling aside, I found this kind of Rust-powered typeset modernization promising. I used Typst and liked it. This one would have its own niche too.
  • colechristensen
    Anybody embed it in a markdown renderer yet?
  • ceayo
    I'm sorry but the only thing that truly understands TeX, is, and will forever be, TeX.
  • huflungdung
    [dead]