我知道我可以使用
MathJax.Hub.Queue(["Typeset", MathJax.Hub, "displayArea"]);
来处理。但我不知道如何获取输出HTML(我想在Javascript中将输出保存在变量中)。
此外,我希望这个HTML独立于MathJax的样式表。独立,我的意思是像stackedit.io的HTML输出。 stackedit的输出是自包含的。它不需要任何其他CSS或JS。
请就这个问题给我一些帮助。感谢。
答案 0 :(得分:3)
Stackedit的输出并不是完全独立的。它says“确保在您的出版物中包含MathJax以正确呈现数学表达式。”
<script type="math/tex" ...
标记)。有关便携性的信息,请参阅MathJax Output Formats 不幸的是,没有一种解决方案适用于所有浏览器。我认为最好的选择是SVG输出(IE9+;相对于文本的大小可能会关闭)。
getElementsByTagName("svg")
)之后,它会执行一些less trivial stuff来生成一个独立的SVG;如果做客户端则需要相同的。我也想知道使用彻底的CSS重置,HTML-CSS输出是否可以在页面上变得更加便携。我没有读过任何调查它的人 - 虽然我想如果它 很容易,那么MathJax开发者很久以前就已经做过了......
HTML-CSS的另一个交易破坏者是字体。如果您确实无法加载外部资源,则必须将它们嵌入为base64数据:URL。完整的字体太重了,所以你想要动态子集字体 - 可怕...(使用SVG输出嵌入字形更容易,因为我链接上面的svgtex在25行中做它并给你一个单一的SVG图像。)
答案 1 :(得分:0)
答案很简单。只需使用
MathJax.Hub.Queue(["Typeset", MathJax.Hub, "displayArea"]);
然后使用jQuery
var text = $("#displayArea").html();
完成!