MathJax — кроссбраузерная библиотека JavaScript, которая отображает математические обозначения в веб-браузерах с использованием разметки MathML, LaTeX и ASCIIMathML.[4][5][6]

MathJax
Тип Математическое программное обеспечение
Разработчик Американское математическое общество
Написана на JavaScript
Операционная система Кроссплатформенность
Первый выпуск 2009[1]
Последняя версия 3.2.2[2] (8 июня 2022)
Альфа-версия 4.0.0[3] (2 октября 2022)
Репозиторий github.com/mathjax/MathJ…
Состояние активное
Лицензия Apache 2.0
Сайт www.mathjax.org

MathJax используется различными известными сайтами, включая ArXiv[7] а также раньше использовалась Википедией[8].

MathJax может использоваться в Node.JS начиная с версии 3.0;[9] для версии 2.0 необходима библиотека MathJax-node[10]

Характеристики

править

MathJax загружается как часть веб-страницы, сканирует страницу на предмет математической разметки и соответствующим образом набирает математическую информацию. Таким образом, MathJax не требует установки программного обеспечения или дополнительных шрифтов в системе чтения. Это позволяет запускать MathJax в любом браузере с поддержкой JavaScript, включая мобильные устройства.[11]

MathJax может отображать математические данные, используя комбинацию HTML и CSS или используя встроенную поддержку MathML в браузере, когда она доступна. Точный метод, который MathJax использует для набора математических данных, определяется возможностями браузера пользователя, шрифтами, доступными в системе пользователя, и настройками конфигурации. MathJax v2.0-бета-версия представила SVG-рендеринг.[12]

В случае верстки HTML и CSS MathJax максимизирует качество отображения математики, используя математические шрифты, если они доступны, и прибегая к изображениям для старых браузеров. Для новых браузеров, поддерживающих веб-шрифты, MathJax предоставляет полный набор веб-шрифтов, которые MathJax загружает по мере необходимости. Если браузер не поддерживает веб-шрифты, MathJax проверяет, доступны ли допустимые шрифты в системе пользователя. Если это не работает, MathJax предоставляет изображения любых необходимых символов.[уточнить] MathJax можно настроить для включения или отключения веб-шрифтов, локальных шрифтов и графических шрифтов.

MathJax использует шрифты STIX для включения математики на веб-страницы. Установка шрифтов на локальный компьютер повышает скорость набора текста MathJax.[13]

MathJax может отображать математические обозначения, написанные в разметке LaTeX или MathML. Поскольку MathJax предназначен только для отображения математики, в то время как LaTeX является языком компоновки документов, MathJax поддерживает только подмножество LaTeX, используемое для описания математической нотации.[11]

MathJax также поддерживает доступность математики, предоставляя MathML через свой API для программного обеспечения вспомогательных технологий, а также базовые атрибуты WAI-ARIA «роль» и более старые атрибуты «altext».[уточнить]

Совместимость с браузерами

править

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. Список совместимости браузеров доступен на официальном сайте.[14]

Совместимость с редактором уравнений

править

Любое уравнение MathJax, отображаемое в поддерживаемом браузере, может быть скопировано в формате MathML или LaTeX через подменю Snow math as, если щелкнуть по нему правой кнопкой мыши или кнопкой управления. Затем его можно вставить в любой редактор уравнений, поддерживающий MathML или LaTeX, такой как Mathematica, MathType, MathMagic[англ.], Firemath[англ.] для повторного использования.[15]

Поддержка TeX

править

MathJax копирует команды математической среды LaTeX. Математические команды AMS-LaTeX поддерживаются с помощью расширений. MathJax также поддерживает макросы TeX и разное форматирование, например \color и \underline.

Поддержка MathML

править

MathJax добавил частичную поддержку MathML 2.0 и некоторых конструкций MathML 3.0 в бета-версии 2. MathJax поддерживает презентационный MathML и, начиная с версии 2.2, предоставляет экспериментальную поддержку контента MathML.[16]

Примечания

править
  1. История MathJax (англ.). mathjax.org. Дата обращения: 9 августа 2022. Архивировано 2 февраля 2021 года.
  2. MathJax v3.2.2 (англ.). MathJax (8 июня 2022). Дата обращения: 27 февраля 2023. Архивировано 28 октября 2022 года.
  3. MathJax v4.0.0-alpha.1 (англ.). MathJax (2 октября 2022). Дата обращения: 28 февраля 2023. Архивировано 28 февраля 2023 года.
  4. MathJax: Rich Math display from LaTeX and MathML (англ.) (17 ноября 2015). Дата обращения: 9 августа 2022. Архивировано 9 августа 2013 года.
  5. MathJax AsciiMath support (англ.). Дата обращения: 7 апреля 2013. Архивировано из оригинала 23 марта 2018 года.
  6. 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. Архивировано из оригинала 13 июня 2019. Дата обращения: 9 августа 2022.
  7. arXiv.org help - What is MathJax? (англ.). Дата обращения: 9 августа 2022. Архивировано 8 августа 2022 года.
  8. Расширение:MathJax (англ.). mediawiki.org (15 ноября 2010). Дата обращения: 9 августа 2022. Архивировано 18 июня 2022 года.
  9. What's New in MathJax 3 (англ.). Дата обращения: 9 августа 2022. Архивировано 24 августа 2022 года.
  10. mathjax-node (англ.). Дата обращения: 9 августа 2022. Архивировано 17 мая 2020 года..
  11. 1 2 Cervone, Davide (2012), "Math Jax: A Platform for Mathematics on the Web" (PDF), Notices of the American Mathematical Society (англ.), 59 (2): 312—316, doi:10.1090/noti794, Архивировано (PDF) 8 августа 2022, Дата обращения: 9 августа 2022
  12. MathJax v2.0-beta now available on CDN (англ.) (11 февраля 2012). Дата обращения: 9 августа 2022. Архивировано 5 мая 2020 года.
  13. MathJax Font Help (англ.). Архивировано 28 июля 2012 года.
  14. MathJax: Browser Compatibility (англ.). Дата обращения: 5 июня 2017. Архивировано из оригинала 6 апреля 2015 года.
  15. Copy and Paste Math (англ.). Дата обращения: 9 августа 2022. Архивировано 24 октября 2019 года.
  16. MathJax MathML Support — MathJax 2.3 documentation (англ.). Дата обращения: 14 февраля 2014. Архивировано из оригинала 15 декабря 2018 года.

Ссылки

править