Как стать автором
Обновить

Рендеринг формул LaTeX средствами matplotlib на Python

В одном из проектов потребовалось получить множество изображений формул, написанных в формате LaTeX…

Поскольку сам проект пишется на Python, то и конвертер решено было писать на нём-же. В итоге конвертер приобрел следующий вид:

import matplotlib.pyplot as plt

tex = '$\\frac{1}{\\sqrt{2\\sqrt{2\\pi}}} \\exp\\left(-\\frac{(x-\\mu)^2}{2\\sigma^2}\\right)$'

### Создание области отрисовки
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.set_axis_off()

### Отрисовка формулы
t = ax.text(0.5, 0.5, tex,
        horizontalalignment='center',
        verticalalignment='center',
        fontsize=20, color='black')
        
### Определение размеров формулы
ax.figure.canvas.draw()
bbox = t.get_window_extent()
print bbox.width, bbox.height

# Установка размеров области отрисовки
fig.set_size_inches(bbox.width/80,bbox.height/80) # dpi=80

### Отрисовка или сохранение формулы в файл
#plt.show()
plt.savefig('test.svg')
#plt.savefig('test.png', dpi=300)


Как видно, используется библиотека matplotlib, чья многогранность и широта возможностей поражает воображение.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.