使用 python 渲染 Latex 文本
Render Latex text with python
我正在尝试使用 python 渲染 Latex 文本。这是我尝试做的:
import matplotlib.pyplot as plt
txte = r"""
The \emph{characteristic polynomial} $\chi(\lambda)$ of the
\times 3$~matrix
\[ \left( \begin{array}{ccc}
a & b & c \
d & e & f \
g & h & i \end{array} \right)\]
is given by the formula
\[ \chi(\lambda) = \left| \begin{array}{ccc}
\lambda - a & -b & -c \
-d & \lambda - e & -f \
-g & -h & \lambda - i \end{array} \right|.\]
"""
plt.text(0.0,0.0, txte,fontsize=10)
fig = plt.gca()
fig.axes.get_xaxis().set_visible(False)
fig.axes.get_yaxis().set_visible(False)
plt.draw() #or savefig
plt.show()
如果渲染正确,它应该输出:
然而,这是我得到的:
有什么想法吗?
谢谢!
也许您应该尝试通过从 python like is done here 调用控制台命令行来自动将其编译为 png,
然后渲染png。此方法需要在用户计算机上安装 Latex。
您必须将这些行添加到您的代码中,以通过您自己安装的软件呈现乳胶文本(默认情况下 matplotlib 使用 MathText:http://matplotlib.org/api/mathtext_api.html):
from matplotlib import rcParams
rcParams['text.usetex'] = True
第二个问题是你必须把你的乳胶字符串放在一行中(你忘记了矩阵的 $-brackets):
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['text.usetex'] = True
txte = r"The \emph{characteristic polynomial} $\chi(\lambda)$ of the \times 3$~matrix \ $\left( \begin{array}{ccc} a & b & c \ d & e & f \g & h & i \end{array} \right) $ \is given by the formula\ $ \chi(\lambda) = \left| \begin{array}{ccc} \lambda - a & -b & -c \ -d & \lambda - e & -f \ -g & -h & \lambda - i \end{array} \right|. $"
plt.text(0.0, 0.0, txte, fontsize=14)
ax = plt.gca()
ax.axes.get_xaxis().set_visible(False)
ax.axes.get_yaxis().set_visible(False)
plt.show()
我正在尝试使用 python 渲染 Latex 文本。这是我尝试做的:
import matplotlib.pyplot as plt
txte = r"""
The \emph{characteristic polynomial} $\chi(\lambda)$ of the
\times 3$~matrix
\[ \left( \begin{array}{ccc}
a & b & c \
d & e & f \
g & h & i \end{array} \right)\]
is given by the formula
\[ \chi(\lambda) = \left| \begin{array}{ccc}
\lambda - a & -b & -c \
-d & \lambda - e & -f \
-g & -h & \lambda - i \end{array} \right|.\]
"""
plt.text(0.0,0.0, txte,fontsize=10)
fig = plt.gca()
fig.axes.get_xaxis().set_visible(False)
fig.axes.get_yaxis().set_visible(False)
plt.draw() #or savefig
plt.show()
如果渲染正确,它应该输出:
然而,这是我得到的:
有什么想法吗?
谢谢!
也许您应该尝试通过从 python like is done here 调用控制台命令行来自动将其编译为 png, 然后渲染png。此方法需要在用户计算机上安装 Latex。
您必须将这些行添加到您的代码中,以通过您自己安装的软件呈现乳胶文本(默认情况下 matplotlib 使用 MathText:http://matplotlib.org/api/mathtext_api.html):
from matplotlib import rcParams
rcParams['text.usetex'] = True
第二个问题是你必须把你的乳胶字符串放在一行中(你忘记了矩阵的 $-brackets):
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams['text.usetex'] = True
txte = r"The \emph{characteristic polynomial} $\chi(\lambda)$ of the \times 3$~matrix \ $\left( \begin{array}{ccc} a & b & c \ d & e & f \g & h & i \end{array} \right) $ \is given by the formula\ $ \chi(\lambda) = \left| \begin{array}{ccc} \lambda - a & -b & -c \ -d & \lambda - e & -f \ -g & -h & \lambda - i \end{array} \right|. $"
plt.text(0.0, 0.0, txte, fontsize=14)
ax = plt.gca()
ax.axes.get_xaxis().set_visible(False)
ax.axes.get_yaxis().set_visible(False)
plt.show()