Каков наилучший способ встраивания LaTeX в веб-страницу?

Я не спрашиваю о преобразовании документа LaTeX в html.

то, что я хотел бы сделать, это каким-то образом использовать команды LaTeX math в html-документе и правильно отображать их в браузере. Это может быть сделано на стороне сервера или клиента.

9 ответов


MediaWiki может делать то, что вы ищете. Он использует Texvc (http://en.wikipedia.org/wiki/Texvc) который " проверяет (AMS) латексные математические выражения и преобразует их в HTML, MathML или PNG-графику."Похоже на то, что вы ищете.

Проверьте статью Википедии о том, как они обрабатывают математические уравнения здесь:http://en.wikipedia.org/wiki/Help:Formula. Они также имеют обширную ссылку на латекс и плюсы / минусы различного рендеринга типы (PNG / MathML / HTML).

MediaWiki использует подмножество разметки TeX, включая некоторые расширения из латекса и AMS-латекс, для математического формулы. Он генерирует либо PNG изображения или простая разметка HTML, в зависимости от предпочтений пользователя и сложность выражения. В будущее, поскольку больше браузеров умнее, он сможет генерировать расширенные HTML или даже MathML во многих случаях. (См. blahtex для получения информации о текущая работа по добавлению MathML поддержка.)

точнее, MediaWiki фильтрует разметка через Texvc, которая в свою очередь передает команды в TeX для фактический рендеринг. Таким образом, только ограниченное часть полная язык Текс поддерживается; см. ниже для деталей. ...

плюсы HTML

  • встроенные HTML-формулы всегда правильно выравниваются с остальной частью HTML текст.
  • фон формулы, размер шрифта и лицо соответствуют остальной части HTML содержание и внешний вид уважает CSS и настройки браузера.
  • страницы, использующие HTML, будут загружаться быстрее.

плюсы TeX

  • TeX семантически превосходит HTML. В TeX "x" означает "математическая переменная x", тогда как в HTML " x " может означать что угодно. Информация была безвозвратно утеряна. Это имеет несколько преимуществ:
    1. TeX можно преобразовать в HTML, но не наоборот. Это означает, что на этот на стороне сервера мы всегда можем преобразование формулы на основе ее сложность и место в текст, пользовательские настройки, тип браузер, и так далее. Поэтому, где возможно, все преимущества HTML могут сохранить вместе с преимущества TeX. Это правда, что нынешняя ситуация не идеальна, но это не повод бросать. информация/содержание. Это больше причина помочь улучшить ситуацию.
    2. TeX может быть преобразован в MathML для браузеров, которые поддержите его, таким образом сохраняя свою семантику и позволяя ей для отображения в виде вектора.
  • TeX специфически было конструировано для формул typesetting, поэтому входной сигнал проще и естественнее, а выход более эстетично.
  • при написании в TeX редакторам не нужно беспокоиться о поддержке браузера, так как он визуализируется в образ с помощью сервер. HTML-формулы, с другой стороны рука, может в конечном итоге быть оказана несовместимы намерения редактора (или не совсем), некоторыми браузерами или старые версии браузера.

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

MathJax-это движок рендеринга Javascript с открытым исходным кодом для математики. Он использует CSS и Webfonts вместо изображений или flash и может отображать LaTeX или MathML. Таким образом, у вас нет проблем с масштабированием, и он даже совместим с screenreader.


Я когда-то разработал плагин jQuery, который делает на самом деле это: jsLaTeX

вот самый простой пример того, как его можно использовать:

$(".latex").latex();


<div class="latex">  
    \int_{0}^{\pi}\frac{x^{4}\left(1-x\right)^{4}}{1+x^{2}}dx =\frac{22}{7}-\pi  
</div>

выше будет генерировать следующее уравнение LaTeX на Вашей странице:

уравнение http://img16.imageshack.us/img16/5462/gifwm.gif

на Демо-Страницы плагина содержит больше примеров кода и демо.


Если вы хотите встроить математику в виде изображений, вы можете взглянуть на MathTran.

Если вы предпочитаете, чтобы математика вставлялась на страницу в основном как текст (используя изображения только при необходимости), jsMath может быть то, что вы ищете.


исторически, рендеринг LaTeX и извлечение изображения были лучшим выбором для кросс-платформенной, кросс-браузерной математики. Все больше и больше MathML становится разумной альтернативой. здесь онлайн-конвертер, который будет испускать MathML из разметки Tex, которую вы можете встроить в свою веб-страницу. Я знаю, что браузеры на основе Gecko, такие как Firefox и Camino, хорошо играют с MathML, как и Opera. IE не работает из коробки, но есть доступные плагины (например,этот один).

Texvc-отличная находка! Вывод vanilla HTML должен работать хорошо, если вас в основном интересуют надписи / индексы / курсив / общие символы, но для более сложных вещей имейте в виду, что самые популярные математически ориентированные сайты там (например,Вольфрам) генерировать изображения, так что может быть только так много вы можете сделать, если вы заинтересованы в кросс-браузерной совместимости : - (


Я прочитал все ответы здесь, и я удивлен, что никто не упомянул конвертацию из PDF в HTML. Если вы используете pdf2htmlEX это создать идеальные веб-страницы из pdf. Вам просто нужно скомпилировать latex в pdf (pdflatex).

по умолчанию он генерирует один html-файл с содержимым вашего PDF, сделанным из CSS, javascript и html. Я пробовал много инструментов для преобразования latex в html, и это, безусловно,лучшее и простое решение I найдено.


можно попробовать LaTexRenderer. Не знаю, лучший ли он, но он работает.


Я бы определенно рекомендовал вам посмотреть на MathML, если это соответствует тому, что вы ищете, но немного поработать с JsTeX смогл дать вам все вам.


можно использовать tex2gif. Он берет фрагмент LaTeX, запускает LaTeX и создает PNG (или GIF). Легко вставлять, легко писать. Это работает на меня.

вы также можете проверить tex2png.