Есть ли рендеринг уравнения LaTeX для JavaScript?
Я ищу чисто клиентскую библиотеку JavaScript, которая отображает уравнения латекса в виде HTML/CSS. Я ненавижу, что все, что я вижу, - это утилиты, которые запрашивают изображение с сервера.
Пример использования:
latex('\frac{a}{b}')
выход:
<div style="position: relative; display: inline-block; height: 2em; width: 1em">
<div style="position: absolute; top: 0em">a</div>
<div style="position: absolute; top: 1em; border-top: 1px solid black">b</div>
</div>
Я спрашиваю, потому что, если этого не существует, я подумываю написать его, возможно, как плагин jQuery.
6 ответов
jsMath отображает форум TeX. Он также используется mathoverflow.net и веб-интерфейсом программного обеспечения по математике. Я предполагаю, что они знают, что они делают;)
С домашней страницы:
Пакет jsMath предоставляет метод включения математики в HTML-страницы, который работает в нескольких браузерах под Windows, Macintosh OS X, Linux и другими разновидностями unix. Он преодолевает ряд недостатков традиционного метода использования изображений для представления математики: jsMath использует собственные шрифты, поэтому они изменяют размер, когда вы изменяете размер текста в браузере, они печатаются с полным разрешением вашего принтера, и вы не нужно ждать загрузки десятков изображений, чтобы увидеть математику на веб-странице. У авторов веб-страниц также есть свои преимущества, поскольку нет необходимости предварительно обрабатывать ваши веб-страницы для создания каких-либо изображений, а математика вводится в форме TeX, что позволяет легко создавать и поддерживать ваши веб-страницы.
MathJax - это эволюция и замена jsMath того же главного разработчика, Дэвида Червоне, но с корпоративной поддержкой. Он не построен поверх jsMath, но по сути является его реинжинирингом. Он следует в основном тем же принципам, что и jsMath, но добавляет поддержку MathML и использует все преимущества современных браузеров, веб-шрифтов и технологии JavaScript. В то время как Davide ответит на вопросы о jsMath, дальнейшая разработка вряд ли произойдет, и пользователям настоятельно рекомендуется перейти на MathJax. Моя компания Design Science является одним из ее спонсоров.
Katex
Ханская академия только что выпустила свой открытый исходный код Katex. Это очень быстро ИМО это самый лучший вариант прямо сейчас.
Быстро: KaTeX отображает свою математику синхронно и не нуждается в переформатировании страницы.
Качество печати: макет KaTeX основан на TeX Дональда Кнута, золотого стандарта для математического набора текста.
Автономный: KaTeX не имеет никаких зависимостей и может быть легко связан с ресурсами вашего сайта.
Рендеринг на стороне сервера: KaTeX выдает один и тот же вывод независимо от браузера или среды, поэтому вы можете предварительно рендерить выражения с помощью Node.js и отправлять их в виде простого HTML.
Mathquill - это проект с открытым исходным кодом, который использует только javascript для анализа латекса и отображения математического уравнения. Вы можете проверить это здесь: ссылки
Существующие программы имеют очень разные скорости. Другие программы, которые я нашел:
- mathjax: https://www.mathjax.org/
- Катекс: https://khan.github.io/KaTeX/
- mathquill: http://mathquill.com/
- jsMath: http://www.math.union.edu/~dpvc/jsmath/