MathJax
MathJax — кроссбраузерная библиотека JavaScript, которая отображает математические обозначения в веб-браузерах с использованием разметки MathML, LaTeX и ASCIIMathML.[5][6][7]
MathJax | |
---|---|
Тип | Математическое программное обеспечение |
Разработчики | Американское математическое общество |
Написана на | JavaScript |
Операционная система | Кроссплатформенность |
Первый выпуск | 2009[1] |
Последняя версия | 3.2.2[2] (8 июня 2022) |
Кандидат в релизы | |
Бета-версия |
|
Альфа-версия | 4.0.0[4] (2 октября 2022) |
Состояние | активное |
Лицензия | Apache 2.0 |
Сайт | www.mathjax.org |
MathJax используется различными известными сайтами, включая ArXiv[8] а также раньше использовалась Википедией[9].
MathJax может использоваться в Node.JS начиная с версии 3.0;[10] для версии 2.0 небходима библиотека MathJax-node[11]
MathJax можно легко добавить на многие популярные веб-платформы.[12]
ХарактеристикиПравить
MathJax загружается как часть веб-страницы, сканирует страницу на предмет математической разметки и соответствующим образом набирает математическую информацию. Таким образом, MathJax не требует установки программного обеспечения или дополнительных шрифтов в системе чтения. Это позволяет запускать MathJax в любом браузере с поддержкой JavaScript, включая мобильные устройства.[13]
MathJax может отображать математические данные, используя комбинацию HTML и CSS или используя встроенную поддержку MathML в браузере, когда она доступна. Точный метод, который MathJax использует для набора математических данных, определяется возможностями браузера пользователя, шрифтами, доступными в системе пользователя, и настройками конфигурации. MathJax v2.0-бета-версия представила SVG-рендеринг.[14]
В случае верстки HTML и CSS MathJax максимизирует качество отображения математики, используя математические шрифты, если они доступны, и прибегая к изображениям для старых браузеров. Для новых браузеров, поддерживающих веб-шрифты, MathJax предоставляет полный набор веб-шрифтов, которые MathJax загружает по мере необходимости. Если браузер не поддерживает веб-шрифты, MathJax проверяет, доступны ли допустимые шрифты в системе пользователя. Если это не работает, MathJax предоставляет изображения любых необходимых символов.[уточнить] MathJax можно настроить для включения или отключения веб-шрифтов, локальных шрифтов и графических шрифтов.
MathJax использует шрифты STIX для включения математики на веб-страницы. Установка шрифтов на локальный компьютер повышает скорость набора текста MathJax.[уточнить]
MathJax может отображать математические обозначения, написанные в разметке LaTeX или MathML. Поскольку MathJax предназначен только для отображения математики, в то время как LaTeX является языком компоновки документов, MathJax поддерживает только подмножество LaTeX, используемое для описания математической нотации.[13]
MathJax также поддерживает доступность математики, предоставляя MathML через свой API для программного обеспечения вспомогательных технологий, а также базовые атрибуты WAI-ARIA "роль" и более старые атрибуты "altext".[15]
Совместимость с браузерамиПравить
MathJax отображает математические данные в большинстве популярных браузеров, включая Internet Explorer 6+, Firefox 3+, Google Chrome 0.3+, Safari 2.0+, Opera 9.5+, iPhone/iPad Safari и Android. Некоторые старые версии браузеров не поддерживают веб-шрифты (с помощью CSS-конструкции @font-face
), поэтому им приходится использовать режим шрифта MathJax image. Список совместимости браузеров доступен на официальном сайте.[16]
Совместимость с редактором уравненийПравить
Любое уравнение MathJax, отображаемое в поддерживаемом браузере, может быть скопировано в формате MathML или LaTeX через подменю Snow math as, если щелкнуть по нему правой кнопкой мыши или кнопкой управления. Затем его можно вставить в любой редактор уравнений, поддерживающий MathML или LaTeX, такой как Mathematica, MathType, MathMagic[en], Firemath[en] для повторного использования.[17]
Поддержка TeXПравить
MathJax копирует команды математической среды LaTeX. Математические команды AMS-LaTeX поддерживаются с помощью расширений. MathJax также поддерживает макросы TeX и разное форматирование, например \color
и \underline
.
Поддержка MathMLПравить
MathJax добавил частичную поддержку MathML 2.0 и некоторых конструкций MathML 3.0 в бета-версии 2. MathJax поддерживает презентационный MathML и, начиная с версии 2.2, предоставляет экспериментальную поддержку контента MathML.[18]
CDN-серверыПравить
Сайт MathJax предоставляет сеть доставки контента (CDN), где JavaScript, необходимый для работы MathJax, может быть загружен браузером во время выполнения из CDN. Это упрощает установку и гарантирует, что всегда используется последняя версия библиотеки. Со временем использование сервера выросло с 1,3 ТБ трафика в месяц в 2011 году до 70 ТБ в месяц в 2017 году. В связи с увеличением стоимости размещения сервера, основной сервер CDN был закрыт в конце апреля 2017 года. Доступны альтернативные сторонние CDN-серверы.
ПримечанияПравить
- ↑ История MathJax (англ.). mathjax.org.
- ↑ MathJax v3.2.2 (англ.). MathJax (8 июня 2022).
- ↑ 1 2 3 npmjs
- ↑ MathJax v4.0.0-alpha.1 (англ.). MathJax (2 октября 2022).
- ↑ MathJax: Rich Math display from LaTeX and MathML (англ.) (17 ноября 2015).
- ↑ MathJax AsciiMath support (англ.). Дата обращения: 7 апреля 2013. Архивировано 23 марта 2018 года.
- ↑ Cuellar, Autumn; Topping, Paul (June 2013). Mathews, Bob, ed. “What you need to know about the Maths Stack”. XML London 2013 [англ.]: 63—68. DOI:10.14337/XMLLondon13.Cuellar01. ISBN 978-0-9926471-0-0.
- ↑ arXiv.org help - What is MathJax? (англ.).
- ↑ Расширение:MathJax (англ.). mediawiki.org (15 ноября 2010).
- ↑ What's New in MathJax 3 (англ.).
- ↑ mathjax-node (англ.).
- ↑ Using MathJax in popular web platforms (англ.). Дата обращения: 5 июня 2017. Архивировано 31 августа 2017 года.
- ↑ 1 2 Cervone, Davide (2012), Math Jax: A Platform for Mathematics on the Web, Notices of the American Mathematical Society Т. 59 (2): 312–316, doi:10.1090/noti794, <https://www.ams.org/notices/201202/rtx120200312p.pdf>
- ↑ MathJax v2.0-beta now available on CDN (англ.) (11 февраля 2012).
- ↑ MathJax: Accessibility (англ.).
- ↑ MathJax: Browser Compatibility (англ.). Дата обращения: 5 июня 2017. Архивировано 6 апреля 2015 года.
- ↑ Copy and Paste Math (англ.).
- ↑ MathJax MathML Support — MathJax 2.3 documentation (англ.). Дата обращения: 14 февраля 2014. Архивировано 15 декабря 2018 года.
СсылкиПравить
- Официальный сайт
- Расширения MediaWiki: