TeX, размер и веб

Oct 10, 2010 02:56


Другие записи: "Наша Раша" грозит художнице тюремным сроком | Голозадый Дима Билан | Статья Рейнина | Клин

Часто возникает необходимость вставить в письмо или в тот же ЖЖ математическую формулу. Набирать в каком-либо визуальном редакторе формул? Создавать маленький TeX-овский документик и компилировать? Долго и неудобно.

Вот, нашел недавно программку mimetex, которая частично решила эту проблему. Распространяется в виде исходного кода. В отличие от больших проектов, тут нет тысячи маленьких файлов, а лишь два исходника на C, исходник утилиты для замены шрифтов и пара h-файлов, один из которых содержит описание шрифта (к слову, его можно заменить на другой с помощью упомянутой утилиты).

Компилируется вся эта радость при помощи gcc (под Windows в том числе: Visual C++ почему-то не захотел компилировать, но я и не сильно разбирался). В зависимости от настроек (дефолтовые, кстати, тоже хороши), передаваемых через параметр -D компилятора можно немного изменять функциональность программы (о ней чуть ниже) и даже добавить свои команды.

Размер без оптимизации (с оптимизацией версия под Windows работала нестабильно) получался 1МБ. После упаковки UPX'ом -- 300КБ!

И что мы имеем в этих трех сотнях?
- практически точная поддержка синтаксиса формул TeX и LaTeX,
- шрифты разного размера, включающие курсивное, полужирное начертания, греческие буквы и практически все общеупотребимые символы,
- возможность рисовать диаграммы и схемы, поворачивать рисунок и т.д.,
- ввод матриц и многострочных формул (в том числе и с выравниванием),
- вывод в форматах gif, pbm в том числе с прозрачностью и антиалиасингом (матрицу фильтрования можно задать самому),
- возможность кэширования формул,
- возможность работать как cgi-приложение (mimetex для этого, в общем-то, и задумывался) с фильтрацией запросов по ip,
- встроенный календарик в виде таблички (не сильно нужно, но приятно),
- возможность сокращенного ввода команд.
Остальные подробности на родном сайте утилиты.

Для более, чем скромного по нынешним меркам размера, это очень и очень неплохо.

Конечно качество немного хуже, чем у какого-нибудь дистрибутива TeX (у меня стоит MikTeX и 80% пакетов из дистрибутива -- это 500МБ, линуксовый tetex тоже не маленький), поэтому ему не тягаться в качестве с latexrender, который просто обращается к дистрибутиву. Но зачем ставить целый дистрибутив, если потребности не так велики -- встроить, например, возможность вставки формул в форум. Да и к чему полиграфическое качество в письме?

В качестве подобных cgi-программ можно использовать также textogif или gladTeX, но все они требуют наличия других приложений.

Вот примеры работы программы.













Размеры изображений 868, 302, 746 и 1318 байт соответственно. Можно меньше (раза в два), если отключить антиалиасинг.

Для сравнения последнее изображение, полученное при помощи LaTeX.




Выглядит лучше (а на бумаге -- так вообще замечательно). Лучше размещение элементов, формула стала более сбалансированной, да и шрифты покачественнее прорисованы. Но для веба не подходит -- при масштабировании формула «размылась» (так как прогонялась через цепочку tex→dvips→gs), да и размер изображения побольше будет -- 2900 байт.

По-моему, неплохо. Немаловажно и то, что программа распространяется по GPL, а значит ее исходник с чистой совестью можно использовать в своих целях. Написать плагин, например, к почтовой программе.

приложений, Распространяется, например, прогонялась, изображение

Previous post Next post
Up