2016-06-10 53 views
1

这可能是一个愚蠢的问题,但是可以将MathJax合并到Python代码中吗?很多时候我都希望程序输出看起来更整齐,老实说MathJax看起来很棒。我可以将MathJax集成到Python程序中吗?

我知道MathJax运行Javascript,但我没有放弃希望。如果答案是否定的,是否有一些简单的模块可以使用?

例如,如果:

1.234/e^23 [and] (I^-)_(aq) +I _(2(s)) -> (I^-)_3(aq) 

可能被格式化为:

Formatting example

这将是理想的。

+1

程序输出是什么意思?一个GUI?你的命令行? – rawbeans

+0

@rawbeans,要么足以:)。 GUI甚至可能是首选(例如tkinter)。 –

+2

你使用ipython/Jupyter笔记本吗?你看过sympy吗?看看[这个答案](http://stackoverflow.com/questions/20979993/how-to-pretty-print-in-ipython-notebook-via-sympy-pprint-only-prints-unicode-ve)和[this其他答案](http://stackoverflow.com/questions/20979993/how-to-pretty-print-in-ipython-notebook-via-sympy-pprint-only-prints-unicode-ve) –

回答

3

我只能假设你可能想输出一些东西到显示器进行打印。因此,Python中的常见用法可能是Matplotlib(尽管Gnuplot是一个很好的替代方案,它与python兼容)。 如果使用Matplotlib创建空白情节然后可以输入正常纯乳胶数学指令(接近相同MathJax):

一个小例子:

import matplotlib 
matplotlib.use('TkAgg') 
import pylab 
import matplotlib.pyplot as plt 
from matplotlib import rc 

plt.clf() 
plt.rc('text', usetex=True) 
plt.rcParams["figure.figsize"] = (8, 5) 
plt.rc('font', **{'family':'serif', 'serif':['Computer Modern Roman'], 'size': 16}) 
plt.axis("off") 
plt.text(0.5, 0.5, "Maths $e = mc^2$") 

给出以下输出

enter image description here

它可以轻松保存,作为.pdf,然后我的屏幕截图的明显粒度被删除。

+0

即使这似乎是我所希望的,有没有办法在我的命令行中以类似的方式格式化文本?只是为了将来的参考 –

+1

我不确定你想达到什么:我给出了一个使用Python的例子,我们可以生成使用Latex格式化的输出,而且这仅仅在生成图形和图形时非常有用(以我的经验)我想将一些格式良好的文本叠加到它们上面,并且通常以pdf格式输出结果。你能举一个你想要什么样的输入和输出的例子吗?对于数学中Python格式良好的控制台输出,可能需要查看诸如sympy之类的东西,尽管这与MathJax相去甚远。 @LinearChristmas – oliversm

+0

抱歉的延迟。我想知道是否确实可以在Python命令行中很好地格式化数学(当使用函数print时东西的位置)。 GUI选项是我最初寻找的;命令行更多是出于好奇。我可以在接下来的几周看看这些模块。再次感谢您分享您的知识! –

相关问题