GoForum🌐 V2EX

[开源] RaTeX —— 用 Rust 原生解析、排版 LaTeX 公式,让 AI 应用快一点点。

weixind · 2026-03-20 11:07 · 0 次点赞 · 0 条回复

首先解释下:LaTeX 就是用来写数学公式的语法。

例如:

\frac{-b \pm \sqrt{b^2-4ac}}{2a}

渲染出来就是:

LaTeX 渲染在之前其实是一个比较小众的学术场景,AI 火起来才带动起来的,toC 场景比较成熟的解决方式是 web 的 KaTeX 和 mathJax ,mathJax 太慢了。KaTeX 借用了浏览器的渲染,布局交给了 html + css ,而 native 端的布局相对来说更棘手一点。

所以现在需要渲染 LaTeX 公式的应用分成了几个流派:

  1. 服务端渲染,node 跑 Katex ,应用直接渲染图片。
  2. 使用 iOSMath 衍生出来的几个库 —— swiftMath 以及 迁移到 kt 的那个库(有些公式不支持,例如 \middle )。
  3. 端跑 webView 来展示公式。
  4. 自研类似的数学引擎 —— 豆包好像是的。

看上去各自都有些问题。刚好自己有这方面的需求,所以搞一搞试试:用 纯 Rust 做数学公式解析与排版,输出统一的 DisplayList (可序列化的绘制指令),再交给各端原生画出来。

搞了一段时间看着效果也还行。所以开源出来,加上最近也搞完各端的胶水层(解析和布局都放到 rust 层了。所以胶水层会非常轻),小小推广下。

架构相对比较简单:

跑了下各端的 demo ( iOS 原生、Flutter 、RN 、android 原生):

后续会做的:一些布局 bug ,以及后续的 \pu 和 \ce ,物理和化学公式支持。

如果你也在做 AI 、教育、笔记、科研类 App 有 TeX 渲染的需求,或者单纯对 Rust + TeX 排版 + 跨端渲染感兴趣,欢迎 star 、试用、提 issue 。

顺便感谢一下知乎提供过的 KaTeX 的服务端渲染,解过我的燃眉之急。

仓库地址: https://github.com/erweixin/RaTeX

Demo: https://erweixin.github.io/RaTeX/demo/index.html

support table: https://erweixin.github.io/RaTeX/demo/support_table.html

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: weixind
发布: 2026-03-20
点赞: 0
回复: 0