我想使用MathJax编写一些网页,我编写LaTeX数学公式,但强制MathJax以MathML格式输出。我知道它可以完成,但我无法弄清楚如何配置它以这种方式工作。文档说要在HTML中包含以下内容:
<script type="text/javascript" async
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
我猜我可以使用config
值强制它。 MathJax提供other options,但没有一个符合我的需求。我该怎么做呢?
答案 0 :(得分:0)
如果您没有使用组合配置文件(在config=...
查询中指定),那么您可以在常规MathJax配置中设置输出,例如,修改the combined config's definition listed in your OP下面的配置可能会给您:
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
jax: ["input/TeX","output/NativeMML"], // instead of "output/CommonHTML"
extensions: ["tex2jax.js","MathMenu.js","MathZoom.js", "AssistiveMML.js"],
TeX: {
extensions: ["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]
}
});
</script>
通过使用此配置,您将失去组合配置的好处,即TeX输入Jax和Element Jax与配置选项一起合并为一个文件。
(现在你可能想要在使用组合配置时覆盖输出jax,例如,
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
jax: ["output/NativeMML"]
});
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML"></script>
但无效,因为在内联配置后加载了组合配置。)
如果您想使用组合配置但又不想自己构建配置,则必须在配置后覆盖它,例如,
<script type="text/x-mathjax-config">
MathJax.Hub.Register.StartupHook("End Jax",function () {
return MathJax.Hub.setRenderer("NativeMML");
});
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_CHTML"></script>
如果您需要更细粒度的控制,请检查the MathJax documentation的浏览器嗅探功能。