我希望我的MathJax在IPython Notebook中显示的方程在左边对齐而不是居中。这由MathJax中的核心配置选项 displayAlign 控制,如here所述。
我试图在IPython Notebook中设置此选项,方法是将其添加到我的 config.js 文件中
MathJax.Hub.Config({
displayAlign: "left"
});
但它没有任何效果。
如何在IPython Notebook中设置MathJax核心配置选项?
[更新]我找到了一种方法:将上述配置行添加到 config.js ,但添加到 mathjaxutils.js 。在我的情况下(Windows 8),此文件位于此处:C:\Anaconda\Lib\site-packages\IPython\html\static\notebook\js\mathjaxutils.js
。这不是一个很好的解决方案,因为它涉及修改一个文件,可能会在下次更新IPython时被覆盖。
[更新] @Ian在评论中提出的技术确实有效,但一次只有一个笔记本。总而言之,我创建了一个文件 my_css.css ,其内容为
<script>
MathJax.Hub.Config({
displayAlign: 'left'
});
</script>
在笔记本中,如果我运行此单元格
from IPython.core.display import HTML
css_file = 'my_css.css'
HTML(open(css_file, "r").read())
显示的方程式根据需要左对齐。
但是,我希望这是我所有笔记本的默认设置。我尝试将其添加到我的 custom.js
MathJax.Hub.Config({
displayAlign: 'left'
});
并且为了好的措施将此添加到我的 custom.css
<script>
MathJax.Hub.Config({
displayAlign: 'left'
});
</script>
但两者都没有任何影响。如果有办法在不修改核心IPython文件的情况下将此设置设置为所有笔记本的默认设置,那将是完美的。
答案 0 :(得分:6)
使用\begin{align}
和\end{align}
。这并不完全回答问题,但它具有预期的效果。例如,尝试:
$
\begin{align}
\frac{1}{2} \times \frac{3}{2} = \frac{3}{4}
\end{align}
$
以上呈现与
完全相同$$
\frac{1}{2} \times \frac{3}{2} = \frac{3}{4}
$$
除了左对齐外。
这种方法的另一个优点是可以添加其他对齐,如:
$
\begin{align}
\dot{x} & = \sigma(y-x) \\
\dot{y} & = \rho x - y - xz \\
\dot{z} & = -\beta z + xy
\end{align}
$
最后一个代码块来自Jupyter Notebook文档中的Motivating Examples。
找到对齐方程的其他示例答案 1 :(得分:1)
您可以尝试包含css文件。例如,this set of notebooks引入了this css file(请参阅笔记本中的最后一个单元格),它明确设置了displayAlign
标记,尽管它将其设置为center
。
答案 2 :(得分:1)
在Jupyter实验室中,我发现使用单个$
左对齐,而使用双$
则使方程居中
$
\begin{align}
c & = (0,\mu)+(a,b)\\
& =(a, b+\mu)
\end{align}
$
保持对齐,而
$$
\begin{align}
c & = (0,\mu)+(a,b)\\
& =(a, b+\mu)
\end{align}
$$
居中