MathJax 元素属性在启动时指定,但仍然适用于所有内容
MathJax elements attribute specified on startup, but still applys to everything
我只想将 MathJax 应用于 <span class="math-tex"></span>
中的文本
在 documentation 的基础上,我添加了以下内容。
<script>
MathJax = {
startup: {
elements: "span.math-tex",
},
tex: {
inlineMath: [['$', '$'], ['\(', '\)']],
displayMath: [['$$','$$'],['\[','\]']],
processEscapes: true
}
}
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
但是,MathJax 仍然会排版整个页面。我知道作为最后的手段,我可以在 window 负载上执行 MathJax.typeset(document.querySelectorAll('span.math-tex'))
,但如果可能的话,我宁愿按照预期的方式执行。有没有其他人遇到过类似的问题?
您的代码有两个问题。首先,根据您 link 的文档,elements
应该是一个 数组 元素或元素选择器,而不仅仅是一个字符串。所以你应该使用
elements: ["span.math-tex"]
其次,在当前版本(3.0.5)中修复了 3.0.1 版本(参见 issue report)中对 elements
数组的处理,因此你需要更新到那个版本。
例如,
<script>
MathJax = {
startup: {
elements: ["span.math-tex"]
},
tex: {
inlineMath: [['$', '$'], ['\(', '\)']],
displayMath: [['$$','$$'],['\[','\]']],
processEscapes: true
}
}
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js"></script>
$$\text{not processed}$$
<span class="math-tex">
$$\text{processed}$$
</span>
我只想将 MathJax 应用于 <span class="math-tex"></span>
在 documentation 的基础上,我添加了以下内容。
<script>
MathJax = {
startup: {
elements: "span.math-tex",
},
tex: {
inlineMath: [['$', '$'], ['\(', '\)']],
displayMath: [['$$','$$'],['\[','\]']],
processEscapes: true
}
}
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
但是,MathJax 仍然会排版整个页面。我知道作为最后的手段,我可以在 window 负载上执行 MathJax.typeset(document.querySelectorAll('span.math-tex'))
,但如果可能的话,我宁愿按照预期的方式执行。有没有其他人遇到过类似的问题?
您的代码有两个问题。首先,根据您 link 的文档,elements
应该是一个 数组 元素或元素选择器,而不仅仅是一个字符串。所以你应该使用
elements: ["span.math-tex"]
其次,在当前版本(3.0.5)中修复了 3.0.1 版本(参见 issue report)中对 elements
数组的处理,因此你需要更新到那个版本。
例如,
<script>
MathJax = {
startup: {
elements: ["span.math-tex"]
},
tex: {
inlineMath: [['$', '$'], ['\(', '\)']],
displayMath: [['$$','$$'],['\[','\]']],
processEscapes: true
}
}
</script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js"></script>
$$\text{not processed}$$
<span class="math-tex">
$$\text{processed}$$
</span>