我正在尝试在 Sympy 中 pprint() 一个我称之为 barphi 的变量。我想要得到的是
$\bar{\phi}$
当打印为 pprint(barphi)
时。
我试试
barphy = Symbol('\bar{phi}')
但它不起作用。有什么帮助吗?提前致谢。
最佳答案
这在 SymPy mailing list 上得到了回答.
你写的有两个问题
首先,Python将字符串中的\
+字符转换为转义。字符串中的 \b
变成退格键(参见 https://en.wikipedia.org/wiki/ASCII#ASCII_control_code_chart )。
您需要转义 \
,即使用 '\\bar{\\phi}$'
,或者,如果您不这样做,则更容易关心转义,使用原始字符串,这只是意味着在引号前面放一个 r
,比如 r'\bar{\phi}'
。
其次,如果你想获得 LaTeX,pprint()
不会这样做(pprint
漂亮地打印到 2D 文本)。您应该使用 init_printing()
在笔记本中启用 LaTeX 打印。
最后,正如 Julien Rioux 在邮件列表中指出的那样,您只需将符号命名为 phibar
,SymPy 将自动将其呈现为 \bar{\phi}
,正如您在这里看到的,甚至是 Unicode 格式
In [11]: Symbol('phibar')
Out[11]: φ̅
关于python - 如何使用 sympy.pprint() 在 ipython 中进行精美打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841113/