20070905

formula2png: как сделать картинку с формулой

Набирать математические формулы в LaTeX легко. Получается в результате документ PDF или PS. А вот что делать, если нужно показать одну-две формулы на веб-странице? Самый простой (и работающий везде) способ: поместить на сайт картинку, на которой и будет формула. Этот пост, рассказывает, как можно быстро делать такие картинки.

Дополнение: несколько ещё более лёгких способов поместить формулу в блоге или на форуме перечислено здесь.


Для этого, кроме LaTeX, Ghostscript и Netpbm потребуется скрипт textogif Джона Уокера. Вот прямая ссылка на textogif_1.1.tar.gz.

К этому скрипту я использую вот такую обвязку, чтобы не создавать файл TeX каждый раз вручную: formula2png. Обвязка создаёт файл LaTeX, в который и помещает нужную формулу, и скармливает этот файл textogif. Использую я её так:
$ formula2png imagename formula
Например:
$ formula2png schröd 'i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi + V\psi'
После этого в текущем каталоге у меня появляется файл schröd.png с прозрачным фоном.

Schrödinger equation: i\hbar\frac{\partial}{\partial t}\psi=-\frac{\hbar^2}{2m}\nabla^2\psi + V\psi

В данном случае формула набрана 12 пунктом, и изображение отрисовано из расчёта на разрешение 120 dpi. Эти параметры, а также уровень серого для фона, на котором предполагается размещать формулу, задаются в параметрах textogif (см. примеры внутри formula2png).

Другой способ размещения формул на веб-страницах — MathML, но он работает не со всеми браузерами и сложнее в использовании. Есть ещё конвертеры, вроде latex2html, но для одной–двух формул — они «тяжеловаты».