我可以将 MathJax 集成到 Python 程序中吗?

Can I integrate MathJax into a Python program?

这可能是个愚蠢的问题,但是否可以将 MathJax 合并到 Python 代码中?很多次我希望程序输出看起来更整洁,老实说 MathJax 看起来很棒。

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

例如,如果:

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

可以格式化为:

,

那将是理想的。

我只能假设您可能想要将某些内容输出到显示器以供打印。因此,Python 中的常见用法可能是 Matplotlib(尽管 Gnuplot 是一个很好的替代方案,它与 python 兼容)。 如果您使用 Matplotlib 创建一个空白图,那么您可以输入普通的纯 LaTeX 数学指令(与 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$")

给出以下输出

它可以简单地保存为 .pdf,然后我的屏幕截图的明显颗粒感被移除。

根据oliversm的回答,可以使用mathplotlib的class数学文本:

from matplotlib import mathtext, font_manager
import matplotlib as mpl
mpl.rcParams['savefig.transparent'] = True

#texFont = font_manager.FontProperties(size=30, fname="./OpenSans-Medium.ttf")
texFont = font_manager.FontProperties(size=30, family='serif', math_fontfamily='cm')

mathtext.math_to_image(r"Maths $e = mc^2$", "output.png", prop=texFont, dpi=300, format='png')