GitHub MathJax在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):
适当的导致
有没有办法在行内数学中包含多个行。(在独立方程中,即使用$$ ... $$
,它是有效的!)
解决方案
您在MathJax中遇到的行内数学问题是因为MathJax默认不支持行内数学中的换行。它被设计为将行内数学格式化为单行。这与显示数学不同,显示数学被包含在$$ ... $$
或\[ ... \]
中,并且支持换行和多行方程。
如果您想在行内数学中包含多行,您可能需要考虑另一种方法或解决方案:
- 使用显示数学: 如果可能的话,您可以使用显示数学(例如,
$$ ... $$
或\[ ... \]
)代替行内数学,以便处理需要多行的方程。这将允许您按需格式化带有换行的方程。 -
MathJax的对齐环境: 您可以在行内数学中使用MathJax的
align
环境来创建多行方程。例如:
Let X = \begin{align} X_1 \\ X_2 \end{align} follow a [bivariate normal distribution](/D/bvn):
这将创建多行的行内数学,但您可能需要调整对齐方式以适应您的需求。
- HTML换行符: 您可以在行内数学中使用HTML换行符。例如:
Let X = X_1 \\<br> X_2 follow a [bivariate normal distribution](/D/bvn):
这种方法使用HTML换行符<br>
在行内数学中引入换行。它不像LaTeX换行那样干净,但可以在MathJax中用于行内数学。
- 自定义CSS样式: 您还可以探索自定义CSS样式以在行内数学中强制换行。这种方法可能需要更高级的CSS知识,可能不太直观。
请注意,虽然这些解决方案可以帮助您实现行内数学中的多行方程,但它们可能无法完全复制LaTeX中独立方程的格式和控制。您可能需要进行实验和调整解决方案以适应您的特定要求和MathJax在您的环境中的能力。