问题描述
我有一个 3rd 方 api,它以 katex 形式返回我的数学方程。有没有办法在 c# 中将 katex 转换为 utf-8。 谢谢。
解决方法
没有。你不能。并且有一个很好的理由。
让我们从 KaTeX 是什么开始(我引用了 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 绘制的。