Перейти к содержанию

MathJax

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

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

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 через подменю Show 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. (2013-06) «What you need to know about the Maths Stack». XML London 2013: 63–68. doi:10.14337/XMLLondon13.Cuellar01.
  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. 11,0 11,1 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>. Проверено 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 года.

Ссылки