【发布时间】:2016-04-11 22:21:02
【问题描述】:
我正在终端中运行一些 python 代码,我想输出一个漂亮的 ASCII 表示的 LaTeX 表达式。我意识到我可以使用 matplotlib 弹出一个单独的窗口,但我不希望在单独的窗口中显示文本。 Sympy 在打印方面做得很好,但似乎没有导入 LaTeX(至少不是我发现的)。
理想情况下,它会像这样工作:
print('$x^2$')
会在控制台输出:
2
x
就像 sympy 一样,如果我制作一个 sympy 符号 x 并打印 x**2。
必须适当处理更复杂的表达式。例如:
\lim_{n \to \inf} \sum_{x=1}^{n} \frac{1}{x}
可以呈现为:
n
-----
\ 1
lim > -----
n->inf / x
-----
x=1
ASCII 中不支持的字符(例如 $\alpha$)可以扩展为 ASCII 等价物,例如“alpha”,否则可能会引发错误。
【问题讨论】:
-
你能列出你想要转换的乳胶表达式的种类,然后将它们转换为 sympy 字符串......你的例子可以很容易地转换......
-
如果输入包含 LaTeX 的许多特性中的任何一个,这些特性很难或不可能用纯 ASCII 表示?希腊字母、不同大小的字符等。像
$lim_{n \to \inf} \sum_{x=1}^{n} \frac{1}{x}$这样的东西完全行不通。 -
我将编辑问题以解决更复杂的表达式。