katex 在 C# 中转换为 UTF-8

问题描述

我有一个 3rd 方 api,它以 katex 形式返回我的数学方程。有没有办法在 c# 中将 katex 转换为 utf-8。 谢谢。

解决方法

没有。你不能。并且有一个很好的理由。

让我们从 KaTeX 是什么开始(我引用了 标签):KaTeX 是一个快速、易于使用的 JavaScript 库,用于在网络上进行 TeX 数学渲染.

所以它是一个渲染器(用 javascript 编写,但无关紧要)将一些 TeX 命令(和一些真实文本)转换为格式化文本。这些 TeX 命令中的一些(许多)是打印字符的命令(例如,\xi 打印 ξ)。其他人控制格式(类似于我们可以说的 html 的格式标签)。现在。第一个可以被提取和转换。我们查找 \xi 并打印 ξ。第二个我们不能。就像我们不能在 C# string 中放入“粗体”格式一样。格式是演示文稿的一部分。

例如:

\widetilde{\f\relax{x} = \int_{-\infty}^\infty \f\hat\xi\,e^{2 \pi i \xi x}\,d\xi}

由 KaTeX 格式化为

如果我们转换所有打印字符的 TeX 命令,我们将获得:

f(x)=∫−∞∞f^(ξ) e2πiξx dξ

我认为这不会很有用。我们丢失了格式,也丢失了方程上方的波浪线(方程取自 KaTeX 项目的主页,但我添加了 \widetilde{} 波浪线来显示这一点)。该行不是 unicode 字符。它是用 SVG 绘制的。