如何调用或重新启动MathJax?
我需要 MathJax 重新检查我的所有页面。
我的意思是,当页面创建后,一切都很棒。但我需要在 window.onload 之后调用它来重新解析页面,因为其内容同时发生了变化。
我该怎么做这样的事呢?
I need MathJax to recheck again all my page.
I mean when the page is created it does all great. But I need to call it after window.onload to reparse the page, as its contents have changed in the meantime.
How would I do such a thing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请参阅http://docs.mathjax.org/en/latest/advanced/typeset。 html:
此处演示:http://cdn.mathjax.org/mathjax/latest/test/sample-dynamic.html
See http://docs.mathjax.org/en/latest/advanced/typeset.html:
Demo here: http://cdn.mathjax.org/mathjax/latest/test/sample-dynamic.html
我发现使用 MathML 进行动态更新的最简单方法是让 MathJax 进行内容更改(而不是 jQuery .html(s) 函数,例如),然后它在更改内容的同时处理数学。
...
所以只需使用该函数将 div 的全部内容替换为新的 MathML 就可以了。 (脚本位于头部。)
注意:如果您有一个空的数学 div 并稍后添加 MathML,您将收到脚本错误。但是,如果数学标签中没有任何内容,则对 updateMathContent 的调用将起作用。
I found the simplest way to do dynamic updates with MathML is to let MathJax do the content changes (instead of the jQuery .html(s) function, e.g.) Then it processes the math while changing the content.
...
So just use the function to replace the entire contents of the div with new MathML and it will work. (The script goes in the head.)
Note: If you have an empty math div and add MathML later, you will get a script error. But if the math tags are present with nothing inside the call to updateMathContent will work.
@thirtydot 的答案仅适用于 MathJax2。对于异步请求,MathJax3 的答案现在只是
MathJax.typeset()
或MathJax.typesetPromise()
。从页面的新版本(2023 年 6 月)开始:https://docs。 mathjax.org/en/latest/advanced/typeset.html
@thirtydot's answer only works for MathJax2. The MathJax3 answer is now simply
MathJax.typeset()
orMathJax.typesetPromise()
for an asynchronous request.From the new (June 2023) version of the page: https://docs.mathjax.org/en/latest/advanced/typeset.html