提问人:Joram Soch 提问时间:10/21/2023 更新时间:10/27/2023 访问量:72
MathJax 不允许在 GitHub Pages 上进行多行内联数学运算
MathJax does not allow multi-row in-line math on GitHub Pages
问:
这是我的:mathjax.html
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: {
equationNumbers: { autoNumber: "all" },
tagSide: "right"
},
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
}
});
</script>
<script
src="https://cdn.jsdelivr.net/gh/mathjax/MathJax@legacy-v2-develop/unpacked/MathJax.js?config=TeX-AMS_CHTML">
</script>
它被包含在文件夹中head.html
_includes\
% include mathjax.html %
它在我的 GitHub 页面上运行良好。但是,它不允许在内联数学对象中多行。例如
Let $X = \left[ \begin{matrix} X_1 \\ X_2 \end{matrix} \right]$ follow a [bivariate normal distribution](/D/bvn):
错误地给出
这样我就不得不使用不需要的符号
Let $X = \left[ \begin{matrix} X_1 & X_2 \end{matrix} \right]^\mathrm{T}$ follow a [bivariate normal distribution](/D/bvn):
这正确地导致
有没有办法在行内数学中包含多行。 (在独立方程中,即 with ,它有效!$$ ... $$
答:
问题不在于MathJax不支持行内数学中的换行符(它确实如此),而在于问题可能是与Markdown引擎与数学符号的交互,特别是与,如下所述。\\
在 Markdown 中,反斜杠 () 是一个转义字符,可用于防止通常被 Markdown 解释为具有特殊含义的字符的操作。例如,in 是表示链接的特殊字符,但如果使用 ,这将生成文本而不是链接,如“[二元正态分布](/D/bvn)”(删除了“)。\
[
[bivariate normal distribution](/D/bvn)
\[bivariate normal distribution](/D/bvn)
[
\
现在只有当它后面的字符是 Markdown 中具有动作的字符时才具有这种特殊含义,因此,例如,将保留 ,而 in 由于具有特殊含义,因此第一个转义第二个,仅在 HTML 页面中生成。这使你的表情变得\
\begin
\
\\
\
\
$X = \left[ \begin{matrix} X_1 \ X_2 \end{matrix} \right]$
在生成的 HTML 页面中,因此您不再有行终止符,而是 spacing 命令(这就是为什么两个 X 之间有一个空格)。如果您使用 MathJax 上下文菜单将数学显示为 TeX 代码,您可以检查它是 .或者,您可以查看页面源代码并以这种方式进行检查。\\
\
\\
\
一种可能的解决方案是使用 而不是 ,因为这会在 Markdown 中生成两个字面反斜杠。\\\\
\\
或者,您可以考虑使用而不是环境:\atop
matrix
$X = \left[ X_1 \atop X_2 \right]$
这将使用更少的垂直空间,并避免 Markdown 中的问题。\\
评论