22

我希望我的 MathJax 在 IPython Notebook 中显示的方程在左侧而不是居中对齐。这由MathJax 中的核心配置选项displayAlign控制,如此所述。

我试图通过将其添加到我的config.js文件中来在 IPython Notebook 中设置此选项

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 文件的情况下将此设置设为所有笔记本的默认设置,那将是完美的。

4

3 回答 3

23

使用\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 文档中的激励示例

对齐方程的其他示例可以在这里找到对齐几个方程

于 2017-05-24T20:20:06.597 回答
16

在 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}
$$

居中

于 2018-10-29T05:57:34.933 回答
2

您可以尝试包含一个 css 文件。例如,这组笔记本拉入了这个 css 文件(参见笔记本中的最后一个单元格),它明确设置了displayAlign标签,尽管它设置为center.

于 2015-02-06T19:28:27.977 回答