2016-07-03 2 views
1

Я пытаюсь сделать латексный текст с помощью python. Это то, что я пытался сделать:Render Latex text with python

import matplotlib.pyplot as plt 

txte = r""" 
The \emph{characteristic polynomial} $\chi(\lambda)$ of the 
$3 \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() 

При визуализации правильно, он должен вывести: enter image description here

Однако, это то, что я получаю: enter image description here

Любые идеи?

Спасибо!

ответ

1

You нужно добавить в код следующие строки, чтобы сделать латексную текст вашим собственным установленным программным обеспечением (по умолчанию Matplotlib использовать MathText: http://matplotlib.org/api/mathtext_api.html):

from matplotlib import rcParams 
rcParams['text.usetex'] = True 

Вторая проблема заключается в том, что вы должны положить латекс строку в одну строку (и вы забудете $ -решетки для матрицы):

import matplotlib.pyplot as plt 
from matplotlib import rcParams 
rcParams['text.usetex'] = True 

txte = r"The \emph{characteristic polynomial} $\chi(\lambda)$ of the $3 \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() 

enter image description here

1

Может быть, вы schould Трти, чтобы автоматически компилировать его в формате PNG с вызовом командной строки консоли из питона так: https://tex.stackexchange.com/questions/11866/compile-a-latex-document-into-a-png-image-thats-as-short-as-possible и затем выводить PNG, но это требует, чтобы латекс установлен на компьютере пользователя