这个问题在https://github.com/mathjax/MathJax/issues/2532中有描述,它提供了选项
processEscapes: false
作为解决方案。该 Github 问题包含以下解释:
这是当 TeX 选项
为 true(默认)时采取的操作的一部分。该选项控制processEscapes
是否可用于转义美元符号(例如,\
)而不是将它们用作内联数学定界符。当这是真的时,\$
也用于转义\\
(以便您可以输入文字\
作为\$
)。\\\$
代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Mathjax</title>
<script>
MathJax = {
tex: {
inlineMath: [ ['$','$'], ['\\(','\\)'] ],
processEscapes: false
}
};
</script>
<script type="text/javascript" id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js">
</script>
</head>
<body>
\\
Inline: $\fbox{I'm in a box}$. Equation:
$$x = \frac{3}{2}$$
</body>
</html>
结果:
请注意,这意味着您不能再在 html 代码中使用文字美元符号,但是在数学表达式中您仍然可以使用
\$
来呈现美元符号。此外,当您从内联数学选项中删除['$','$']
时,您可以在html中毫无问题地使用$
和\$
。