Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

MathJax используется веб-сайтами, включая arXiv , [8] Elsevier 's ScienceDirect , [9] MathSciNet , [10] кафе n-категорий , MathOverflow , Wikipedia (на бэкэнд), [11] [12] Scholarpedia , журналы Project Euclid. , [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 может отображать математические обозначения, написанные в разметке LaTeX или MathML . Поскольку MathJax предназначен только для отображения математики, тогда как LaTeX - это язык макета документа, MathJax поддерживает только подмножество LaTeX, используемое для описания математической записи. [16]

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

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

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

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

Поддержка плагинов [ править ]

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

Node.js [ править ]

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

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

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

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

Поддержка TeX [ править ]

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

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Расширения MediaWiki:
    • SimpleMathJax
    • MathJax