问题
我正在使用给定的 rust-gtk-binding 开发一个具有 GTK3 GUI 的 Rust 程序。该程序应该是跨平台的(至少是 Linux 和 Windows)。GUI 应该能够显示自定义纯文本和小的 LaTeX 片段以允许使用数学环境(小意味着一个公式的大小作为要显示的元素)。因此,我需要一种将 LaTeX 代码转换为 GUI 可以显示的东西的方法。
想法及其问题
我可以看到两种显示 LaTeX 的方法:
- 将 LaTeX 源代码编译为 pdf,然后编译为某种图像类型。应该可以使用 Ghostscript 来获取图像。但我不知道如何以轻量级(不包括像 miktex 之类的相当大的包)和跨平台的方式生成 pdf。这个选项也可能是多余的,因为不需要动态下载特殊的包,一个好的数学支持就足够了。积极的一面是在 GTK 中渲染图像应该很容易。
- 使用足以满足数学环境的 KaTeX。我能够安装匹配的 crate 并从一些公式生成 HTML 源代码。但是在这里渲染结果变得很困难,因为 GTK 没有显示 HTML 的本地方式。由于很难将 HTML 引擎集成到 GUI 中,因此最好找到一个能够将 HTML 呈现为然后可以显示的图像类型的工具。
现在我有两种方法都使用中间步骤,对于普通 LaTeX,第一步很困难,对于 KaTeX,第二步显示问题。对于这两种方法的困难步骤,我找不到任何可行的解决方案。有没有我找不到的库或类似的库,或者有什么不同的方法?能够呈现单个公式就足够了,我只是想避免像使用完整的 LaTeX 编译器或半个浏览器来呈现 HTML 这样的大规模和困难的过度杀伤力。