如果没有研究,这可能会被认为是一个快速问题,但我已经偏离轨道几个小时试图弄清楚它。
我最近第一次尝试 MathJax,我制作了一个将文本动态转换为 svg 的文本区域。然后我会保存 svg 并在其他地方使用它。我用过
tex2svg
。我记得很清楚。现在我尝试重用它来将 svg 渲染到画布上,这本身很简单,但现在我所能得到的只是一个奇怪的 <mjx-container>
元素而不是路径。文档远远不足以涵盖这个库,我找不到任何方法来获取纯 <svg>
元素。请帮助我。
我知道您仍然可以从
<math>
><mjx-container>
下的 <mjx-assistive-mml>
元素渲染图像,但就我而言,使用 HTMLImageElement
加载到 data:image/svg+xml
将使图像处于损坏状态,因此这是最后的手段。
<svg>
元素位于 <mjx-container>
内部。您可以使用 node.getElementsByTagName("svg")[0]
获取它,其中 node
是 <mjx-container>
元素。
另一方面,您可能想查看 MathJax 节点演示 存储库中的命令行程序,因为这些程序根本不需要您使用浏览器,并且可以直接保存到文件中。他们删除了
<mjx-container>
并在结果中包含了一些所需的 CSS 样式,而您从当前使用的方法中无法获得这些样式。