Конвертировать латекс в HTML в Java или C ++? - PullRequest
8 голосов
/ 19 ноября 2009

Существует множество инструментов для преобразования латекса в html . Я ищу Java или C ++ программу для этого. Это должно будет работать на нескольких операционных системах. Решение будет использоваться в научных статьях, поэтому в идеале оно должно быть в состоянии интерпретировать такие вещи, как bibtex.

Я нашел htmltolatex , который является «Java-программой для преобразования HTML-страниц в LaTeX», но, похоже, не работает в другом направлении.

Похожие вопросы:

Обновление: Просто для пояснения: я хочу распространить пакет на другом языке, который будет принимать любой документ LaTeX и производить вывод HTML (в основном из академических работ). Я не могу ожидать, что что-то еще будет установлено (например, ghostscript, perl, latex2html, tth) на машинах, и оно должно работать на кроссплатформенном уровне. Другими словами, если я могу найти что-то, что имеет компилируемый исходный код (или код на Java или C ++), то я бы предпочел пойти по этому пути, чтобы приложение было автономным. В качестве альтернативы я просто буду использовать latex2html или tth и потребую, чтобы пользователь установил их отдельно (хотя это не идеально).

Ответы [ 5 ]

7 голосов
/ 10 декабря 2009

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

  • отлично работает,
  • это часть TeX
  • это относительно мало, что вы можете связать исполняемый файл с вашим приложением
  • это открытый исходный код (GPL), так что вы можете также попытаться связать его внутри своей программы и не иметь внешней зависимости (хотя вам нужно выпустить с лицензией, совместимой с GPL)
  • поддержка bibtex из коробки,
  • понимать гиперссылки (если вы конвертируете из постскриптума, вы потеряете гиперссылки)

Я считаю, что он компилируется на всех основных платформах (Linux, Windows, Mac) - но, честно говоря, у меня есть только Linux, поэтому я не могу сказать наверняка.

2 голосов
/ 11 декабря 2009

Я использую LyX в качестве интерфейса к латексу, что делает редактирование намного более удобным, и в некотором роде создает свой собственный вкус латекса. Плюс в том, что для LyX существует отдельный экспорт HTML, который использует всю дополнительную информацию, представленную в LyX. Инструмент называется eLyxer.

Домашняя страница сообщает:

Есть несколько инструментов для TeX -> HTML преобразование ... но результаты, как правило, быть бедным и жестким. eLyXer предназначен для создать приемлемый для красивого HTML код, в зависимости от вашего браузера Преимущества рендеринга в Юникоде и CSS.

Я не могу действительно сравнить вывод elyxer с инструментами tex2html, но могу подтвердить, что elyxer производит чистый, красивый HTML-код, который, вероятно, выполняет то, что вы хотите. Если вы готовы дать LyX шанс:)

2 голосов
/ 07 декабря 2009

На мой взгляд, существует пять довольно распространенных инструментов для конвертации латекса в html (есть , гораздо больше, которые используются менее активно ):

  • Latex2Hmtl представляет собой набор сценариев Perl.
  • TtH компилируется и пишется на языке C.
  • Гевея скомпилирована и написана на OCaml (с общедоступной лицензией библиотеки GNU).
  • TeX4ht скомпилирован и написан на C (с лицензией LPPL).
  • Другой интересный вариант - plasTeX , написанный на Python.

У USENIX есть хорошая страница , показывающая, как использовать некоторые из них.

Пока что мой лучший вариант - TtH , так как я могу легко скомпилировать источник C в свое приложение C ++.

2 голосов
/ 19 ноября 2009

Я не знаю родной библиотеки Java или C ++ для этого. Но если вы все равно генерируете HTML, вы всегда можете использовать JavaScript для преобразования латекса в HTML в документе.

JSMath хорош в этом:

http://www.math.union.edu/~dpvc/jsMath/

1 голос
/ 06 декабря 2009

Почему бы вам просто не запустить Latex и не преобразовать результат (postscript? Pdf) в HTML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...