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