воскресенье, 1 июля 2012 г.

Трансляторы latex в html


Нашёл 3 пакета, умеющих это делать, оба давно не разрабатываются.
  • latex2html. Это perl-скрипт, последний релиз в 2008. Работает медленно, имеет проблемы с юникодом, документация недописана.
  • hevea. Написан на OCaml, заброшен в 2007. Работает пошустрее, нет проблем с юникодом, но наблюдаются проблемы с отображением формул.
  • tex4ht. Даже не открывал, но случайно нашёл.
Пока не понял что из них лучше на практике, но буду пробовать.

5 комментариев:

  1. Все криво работают. Поддерживают ограниченное множество команд, не поддерживает \def и старые теховские команды, у всех проблемы с include и import.
    tex4ht --- жуть. Генерит нечто не очень внятное.
    Вообще не очень понятно зачем они вообще нужны.
    Если хочется что-то универсальное с html уклоном, лучше docbook, желательно с никсовым платным (не обязательно проприетарным) совтом. Но pdf все равно получится кривой. Переводы страниц придется руками расставлять.

    Имхо бумага и веб --- вещи разной природы, и работать с ними универсально не получится.
    + Html и компания --- имеют грамматику, а TeX ее нет. При конвертации, всего скорее кто-то просто выбирает подмножество языка. Иногда не то, к которому привык. Мне кажется удобнее написать свой конвертер. Но к этому велосипеду я еще не подступился.

    ОтветитьУдалить
    Ответы
    1. То что придётся себя резко ограничивать в множестве команд TeX - это понятно, иначе бы пришлось просто ещё один интерпретатор TeX'a реализовывать.

      Из применений - например вот эта http://shamil.free.fr/comp/ocaml/ книга написана в LaTeX, но в html переводится при помощи hevea.

      Ещё есть забавное применение - latex2man. Сейчас планирую брать его на вооружение, он ещё и html документацию генерит - хоть на сайт выкладывай :)

      С конвертером всё не так просто - можно быстро (почти на regexp'ах) конвертировать структуру документа: секции, таблицы, в некоторых случаях картинки. А вот как ты заметил, \def - это уже почти свой язык программирования реализовать, а генерировать картинку из формул не используя TeX это уже что-то совсем нереальное

      Удалить
    2. Кстати, подробнее про latex2html можно здесь почитать
      http://tex.imm.uran.ru/maindoc/doclad.html

      Удалить
  2. > генерировать картинку из формул

    TeX -(1)-> SVG -(2)-> PNG
    1) hevea или что-то иное на OCaml, есть в исходниках mediawiki или
    http://chart.apis.google.com/chart?cht=tx&chl=\LaTeX
    2) ImageMagic или конверторы на Java

    Остальное регеспами, а вот, что делать с векторными графиками --- хз.

    ОтветитьУдалить
    Ответы
    1. > hevea
      > ImageMagic

      Это уже не совсем свой велосипед )

      Удалить