Конвертировать Latex в MathJax-HTML

Конвертировать Latex в MathJax-HTML

Есть ли какой-либо инструмент, который может преобразовывать документы Latex в документы HTML, чтобы все математические данные были представлены вMathJax?

(Очевидно, что довольно легко написать быстрый скрипт на Perl, способный выполнить грубое преобразование, но меня интересуют более надежные решения — по крайней мере, они должны автоматически корректно обрабатывать все перекрестные ссылки.)

решение1

Обновление 07/2020:

Код ниже больше не нужен. TeX4ht теперь полностью поддерживает вывод MathJax. Эквивалент кода ниже:

make4ht filename.tex "mathml,mathjax"

Если вы хотите сохранить математические данные LaTeX в виде обычного текста, используйте просто:

make4ht filename.tex "mathjax"

make4htявляется заменой для htlatexтого, что по умолчанию преобразуется в HTML5 и UTF-8, поэтому никаких специальных настроек, как в старом ответе, не требуется.


Оригинальный ответ:

Вы можете использовать TeX4ht. Он может выводить математику как, mathmlкоторая затем может быть отображена с помощью mathjax. Вы также можете настроить htmlзаголовок для загрузки mathjaxскрипта из mathjax's cdn:

\Preamble{xhtml,mathml}
\Configure{VERSION}{}
\Configure{DOCTYPE}{\HCode{<!DOCTYPE html>\Hnewline}}
\Configure{HTML}{\HCode{<html>\Hnewline}}{\HCode{\Hnewline</html>}}
\Configure{@HEAD}{}
\Configure{@HEAD}{\HCode{<meta charset="UTF-8" />\Hnewline}}
\Configure{@HEAD}{\HCode{<meta name="generator" content="TeX4ht
(http://www.cse.ohio-state.edu/\string~gurari/TeX4ht/)" />\Hnewline}}
\Configure{@HEAD}{\HCode{<link
         rel="stylesheet" type="text/css"
         href="\expandafter\csname aa:CssFile\endcsname" />\Hnewline}}
\Configure{@HEAD}{\HCode{<script type="text/javascript"\Hnewline
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"\Hnewline
></script>\Hnewline}}
\Configure{@HEAD}{\HCode{<style type="text/css">\Hnewline
  .MathJax_MathML {text-indent: 0;}\Hnewline
</style>\Hnewline}}
\begin{document}
\EndPreamble

С помощью этого файла конфигурации мы запрашиваем вывод математики как mathml, затем настраиваем htmlзаголовок так, чтобы результирующий файл был html5. Сохраните его как, например, ht5mjlatex.cfgи затем вызовите из командной строки:

htlatex filename.tex "ht5mjlatex.cfg, charset=utf-8" " -cunihtf -utf8"

или вы можете использовать Уильяма Ф. Хэммондасценарий(внизу страницы)

решение2

Я бы лично предпочел использоватьpandocдля этой задачи это одношаговое решение, и результат, на мой взгляд, гораздо лучше.

Для преобразования файлов из одного формата разметки в другой pandoc — ваш швейцарский армейский нож.

Эта команда подойдет для большинства целей:

pandoc document.tex --standalone --mathjax --output document.html

Он создаст один HTML-файл с javascript-ссылкой на mathjax.js. Pandoc подробно документирован идругие методы отображения математики в HTMLдоступны.

Связанный контент