Ipython笔记本如何在Ipython.Display模块中对齐Latex公式?

9
我正在使用ipython notebook编写Latex公式,以下是相关模块。
from IPython.display import display, Math, Latex

一个简单的示例代码可能如下所示:
display(Math('a = \\frac{1}{2}'))
display(Math('b = \\frac{1}{3}'))
display(Math('c = \\frac{1}{4}'))

输出结果为:

a = 1/2
b = 1/3
c = 1/4

以漂亮的格式打印。我是否可以以某种方式将其对齐成列,例如:
a = 1/2      b = 1/3      c = 1/4

我知道这个标记允许使用HTML,但是这个标记是输入到基于代码的单元格中的。如有帮助/建议,将不胜感激!

1个回答

22

我不确定您对LaTeX的熟悉程度,但笔记本确实允许您使用类似\begin{align}的东西,让您通过用&符号分隔它们来将事物组织成列。例如,如果您将以下内容输入到Markdown单元格中,则可以正常工作:

$$
\begin{align}
a = \frac{1}{2} && b = \frac{1}{3} && c = \frac{1}{4} \\
a && b && c
\end{align}
$$

使用 display(Math()) 也可以实现此功能,例如:

display(Math(
r"""
\begin{align}
a = \frac{1}{2} && b = \frac{1}{3} && c = \frac{1}{4} \\
a && b && c \\
1 && 2 && 3
\end{align}
"""))

将会得到以下输出:

在此输入图片描述


Marius,我的问题是我正在使用一个依赖于display(Math())来制作方程式的模块,不幸的是,似乎在display(Math())中添加&&会导致输出无法正常工作。 - Charles
display(Math()) 对我来说很好用,至少对于你的简单示例来说是这样- 请看我添加的新代码。如果你能找出我的示例和你实际遇到的问题之间的区别,我可能能够帮助你,否则我不太确定发生了什么。 - Marius
太好了!谢谢你!看起来\begin{align}和\end{align}对于Math()的工作是必要的。非常感谢! - Charles
1
可能我的环境有些不同,但我发现双美元符号 $$ ... $$ 会自动插入 \begin{equation} 标签。使用单个美元符号 $ ... $ 解决了这个问题。对于对齐,我也只需要单个 & 符号。 - RedPanda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接