在sympy表达式中使用LaTeX符号

10

我想进行一些计算,然后使用sympy将其绘制出来。我希望使用一致的符号表示法,因此需要定义一个符号,它将被打印为$\Delta_l^y$。

到目前为止我尝试过:

delta__i_0 = sympy.symbols('Delta__i_0')
sympy.pprint(delta__i_0)

这个工作很好。

不幸的是,

delta__y_l = sympy.symbols('Delta__y_l')
sympy.pprint(delta__y_l)

看起来并不太好看,有什么想法吗?

1个回答

13

你可以使用命令行Python解释器中的sympy.printing.latex。例如,

import sympy as sym
import sympy.printing as printing
delta__y_l = sym.symbols('Delta__y_l')
print(printing.latex(delta__y_l))

打印

\Delta^{y}_{l}
或者,使用IPython笔记本,调用sym.init_printing()启用漂亮打印: enter image description here

嗯...对我没有用。LaTeX输出是正常的,但不幸的是ipython方法并不行。它显示为'{Deltasymbol} _ l_ _ y'。使用python 3.5.3,ipython 5.1.0,sympy 1.0. - laolux
哇,现在考虑一下:你的方法在我的Jupyter笔记本中可以工作,但在我从终端启动的IPython中却不能...我想我应该在某个地方报告这个问题。非常感谢! - laolux
直接使用pprint可以用于符号。 但是作为表达式的一部分,它仍然显示不正确。 - Alexander Rakhmaev

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