MathJax - MathJax

MathJax
MathJax.svg
Разработчики)Американское математическое общество
Стабильный выпуск
3.1.2[1] / 12 сентября 2020 г.; 2 месяца назад (2020-09-12)
Репозиторий Отредактируйте это в Викиданных
Написано вJavaScript
Операционная системаКроссплатформенность
ТипМатематическое программное обеспечение
ЛицензияЛицензия Apache 2.0
Интернет сайтwww.mathjax.org

MathJax это кроссбраузерность Библиотека JavaScript что отображает математическая запись в веб-браузеры, с помощью MathML, Латекс и ASCIIMathML разметка.[2][3][4] MathJax выпущен как программное обеспечение с открытым исходным кодом под Лицензия Apache.

Проект MathJax стартовал в 2009 году как преемник более ранней библиотеки форматирования математики JavaScript, jsMath,[5] и управляется Американское математическое общество.[6] Проект был основан Американским математическим обществом, Наука о дизайне, а Общество промышленной и прикладной математики и поддерживается многочисленными спонсорами, такими как Американский институт физики и Обмен стеком.[7]

MathJax используется веб-сайтами, включая arXiv,[8] Эльзевир с ScienceDirect,[9] MathSciNet,[10] кафе n категории, MathOverflow, Википедия (на бэкэнде),[11][12] Scholarpedia, Проект Евклид журналы,[13] IEEEXplore,[14] Publons, Coursera, а Всероссийский математический портал.[15]

Функции

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

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

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

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

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

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

Архитектура MathJax разработана для поддержки добавления языков ввода и методов отображения в будущем через динамически загружаемые модули. MathJax также включает JavaScript API для перечисления и взаимодействия с математическими экземплярами на странице.

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

MathJax обрабатывает математику в большинстве популярных браузеров, включая Internet Explorer 6+, Fire Fox 3+, Гугл Хром 0.3+, Сафари 2.0+, Опера 9.5+, iPhone /iPad Сафари и Android браузер. Некоторые старые версии браузеров не поддерживают веб-шрифты (с @ font-face CSS construct), поэтому они должны использовать режим шрифта изображения MathJax. Список совместимых браузеров доступен на официальном сайте.[20]

Поддержка плагинов

MathJax можно легко добавить на многие популярные веб-платформы.[21]

Node.js

MathJax можно использовать в NodeJS с версии 3 [22]; для версии 2 библиотека MathJax-node[23] обеспечивает совместимость с NodeJS.

Совместимость редактора формул

Любое уравнение MathJax, отображаемое в поддерживаемом браузере, можно скопировать в MathML или же Латекс форматирование с помощью подменю «Показать математику как», если щелкнуть его правой кнопкой мыши или удерживать нажатой клавишу «Control». Потом его можно наклеить в любой редактор формул который поддерживает MathML или LaTeX, например Mathematica, MathType, MathMagic, Математика огня для повторного использования.[24]

Уравнения, созданные в MathML или же Латекс формат любой третьей стороной редактор формул может использоваться на веб-страницах с поддержкой MathJax.

Поддержка TeX

MathJax копирует команды математической среды LaTeX. AMS-LaTeX математические команды поддерживаются через расширения. MathJax также поддерживает макросы TeX и разное форматирование, например цвет и подчеркивание.[25]

Поддержка MathML

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

CDN серверы

Сайт MathJax предоставляет сеть доставки контента (CDN), где JavaScript, необходимый для работы MathJax, может быть загружен браузером во время выполнения из CDN. Это упрощает установку и гарантирует, что всегда будет использоваться последняя версия библиотеки. Со временем использование сервера выросло с 1,3 ТБ в месяц в 2011 году до 70 ТБ в месяц в 2017 году. Из-за увеличения стоимости размещения сервера основной сервер CDN отключился в конце апреля 2017 года. Альтернативные сторонние серверы CDN доступны.[27]

Смотрите также

  • Категория: Символические гарнитуры
  • Google Chart API
  • KaTeX - Альтернатива JavaScript для MathJax

Рекомендации

  1. ^ "MathJax v3.1.2". MathJax. 2020-09-12.
  2. ^ «MathJax: отображение расширенных математических функций из LaTeX и MathML».
  3. ^ "Поддержка MathJax AsciiMath". Архивировано из оригинал на 2018-03-23. Получено 2013-04-07.
  4. ^ Куэльяр, Осень; Топпинг, Пол (июнь 2013 г.). Мэтьюз, Боб (ред.). "Что вам нужно знать о Maths Stack". XML Лондон 2013: 63–68. Дои:10.14337 / XMLLondon13.Cuellar01. ISBN  978-0-9926471-0-0.
  5. ^ Хейс, Брайан (2009), «Написание математики в Интернете: Интернет превратился бы в классную доску, если бы мы могли набросать уравнение», Американский ученый, 92 (2): 98, Дои:10.1511/2009.77.98.
  6. ^ «AMS становится управляющим партнером MathJax Consortium». 2013-03-20.
  7. ^ "Спонсорство MathJax".
  8. ^ "Справка arXiv.org - Что такое MathJax?".
  9. ^ «Архивная копия». Архивировано из оригинал на 2014-08-26. Получено 2014-08-24.CS1 maint: заархивированная копия как заголовок (связь)
  10. ^ "Что нового в MathSciNet".
  11. ^ Шуботц, Мориц; Вик, Габриэль (01.01.2014). «Mathoid: надежный, масштабируемый, быстрый и доступный математический рендеринг для Википедии». Интеллектуальная компьютерная математика. Конспект лекций по информатике. 8543. С. 224–235. arXiv:1404.6179. Дои:10.1007/978-3-319-08434-3_17. ISBN  978-3-319-08434-3.
  12. ^ «Расширение: математика - MediaWiki». www.mediawiki.org. Получено 2017-04-06.
  13. ^ "Что такое MathJax?".
  14. ^ Новые функции в IEEE Xplore, получено 20 апреля 2015.
  15. ^ «Всероссийский математический портал».
  16. ^ а б Червоне, Давиде (2012), "Math Jax: платформа для математики в Интернете" (PDF), Уведомления Американского математического общества, 59 (2): 312–316, Дои:10.1090 / noti794
  17. ^ «MathJax v2.0-beta теперь доступен на CDN». 11 февраля 2012 г.
  18. ^ Справка по шрифтам MathJax В архиве 2012-07-28 в Wayback Machine доступ 2012-08-14.
  19. ^ «MathJax: доступность».
  20. ^ «MathJax: Совместимость с браузером». Архивировано из оригинал на 2015-04-06. Получено 2017-06-05.
  21. ^ «Использование MathJax на популярных веб-платформах». Архивировано из оригинал на 2017-08-31. Получено 2017-06-05.
  22. ^ «Что нового в MathJax 3».
  23. ^ "mathjax-узел".
  24. ^ "Копировать и вставлять математику".
  25. ^ «MathJax: Поддерживаемые команды LaTeX». Архивировано из оригинал на 2018-12-16. Получено 2017-06-05.
  26. ^ «Поддержка MathJax MathML - документация MathJax 2.3». Архивировано из оригинал на 2018-12-15. Получено 2014-02-14.
  27. ^ «MathJax CDN закрывается 30 апреля 2017 г.». MathJax. 31 марта 2017.

внешняя ссылка