MathJax для MediaWiki

Материал из свободной русской энциклопедии «Традиция»
(перенаправлено с «MathJax for MediaWiki»)
Перейти к: навигация, поиск
MathJax
Реализует:
ΤΕΧ и MathML
Язык программирования:
PHP



Системные требования:
MediaWiki
Разработчик:
Mithgol the Webmaster и Александр Машин



Дата появления:
2010
Текущая версия:
1.62
Дата выхода текущей версии:
20 сентября 2015
Статус:
стабильно


Предыдущая версия:
1.61
Лицензия:
MIT license

MathJax — расширение для MediaWiki, позволяющее показывать формулы в форматах ΤΕΧ и MathML путём вызова JavaScript-инструментария MathJax, созданное специально для «Традиции» Мицголом-вебмастером и Александром Машиным в 20102012 гг.

Это расширение было разработано для «Традиции», в связи с нехваткой мощности её web-сервера для преобразования формул в изображения с помощью \(\mathrm{L\!\!^{{}_{\scriptstyle A}} \!\!\!\!\!\;\; T\!_{\displaystyle E} \! X}\), сейчас установлено на её сервере и обеспечивает единственный способ вывода формул.

Использование расширения[править]

Когда расширение установлено с настройками по умолчанию, в формулы преобразуется викитекст внутри определённых тегов:

Формат Режим вывода
внутристрочный выносной
ΤΕΧ <math>...</math> : <math>...</math> в начале строки
или <math display="block">...</math>
MathML <math xmlns="http://www.w3.org/1998/Math/MathML">...</math> <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">...</math>

Кроме того, распознаётся не обрамлённый тегом код ΤΕΧ, наподобие \begin{pmatrix}...\end{pmatrix}.

MathJax для MediaWiki в «Традиции»[править]

Порядок работы с формулами в «Традиции» описан на странице Справка:Формулы, а также на странице Традиция:Примеры оформления формул.

Расширения ΤΕΧ от MathJax и локализация формул[править]

Дополнительно к операторам ΤΕΧ, реализованным MathJax, с помощью сообщений MediaWiki определяются макросы:

Разделённый запятыми список макросов находится в сообщении mathjax-macros, а значения макросов — в сообщениях с названиями вида mathjax-macro-(название макроса), например, значение макроса \ctg для котангенса находится в сообщении mathjax-macro-ctg.

Расширение понимает викиссылки внутри уравнения: например, <math>[[Скорость света|c]]^2</math> даст \({ \href {//traditio.wiki/%D0%A1%D0%BA%D0%BE%D1%80%D0%BE%D1%81%D1%82%D1%8C_%D1%81%D0%B2%D0%B5%D1%82%D0%B0}{ \texttip {c}{ Скорость света }}}^2\). Кроме того, на функции из перечня в сообщении mathjax-pages автоматически ставятся викиссылки, указывающие на страницы об этих функциях, определяемые в сообщениях с названиями вида mathjax-page-(название функции), например, название функции \ctg для котангенса находится в сообщении mathjax-page-ctg.

Технические особенности[править]

Особенность расширения — то, что формулы выводятся на экран JavaScript'ом на стороне клиента с помощью инструмента MathJax, не загружая сервер.

Если формул на странице нет, конфигурационный JavaScript и скрипты MathJax к ней добавлены не будут.

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

  • Расширения, экспортирующие страницы вики в форматы PDF, ODT или Microsoft Word, например, DocExport и Collection, не показывают формулы, так как они выводятся уже на стороне клиента браузером. Возможным решением этой проблемы мог бы быть перенос кода, вызывающего \(\mathrm{L\!\!^{{}_{\scriptstyle A}} \!\!\!\!\!\;\; T\!_{\displaystyle E} \! X}\) для генерации изображений формул, в эти расширения.

Настройки[править]

Администратору сервера MediaWiki доступны следующие настройки расширения:

  • путь к локальному и CDN-дистрибутивам MathJax и переменная для выбора между ними,
  • тег для формул, по умолчанию, <math>,
  • пространства имён XML для MathML, по умолчанию, только одно — http://www.w3.org/1998/Math/MathML,
  • промежуточные символы обрамления внутристрочных и выносных формул ΤΕΧ, по умолчанию, соответственно, \(...\) и $$...$$,
  • список тегов (<script>, <noscript>, <style>, <textarea>, <pre>, <code>, <nowiki>, <kbd>, <tt>) и классов (diff), где формулы не распознаются,
  • список допустимых тегов MathML, по умолчанию, все теги из спецификации.

С помощью системных сообщений MediaWiki настраиваются:

История версий[править]

Версия Дата Изменения
1.62 20 сентября 2015 Возможность использовать совместно с HTTPS
1.61 17 сентября 2015 Подключение расширения MathJax cancel, изменение реализации всплывающих подсказок
1.6 22 июня 2015 Автоматическая вставка викиссылок на страницы об определённых функциях в формулы; оптимизация
1.51 22 июня 2015 Поддержка обратных гиперболических функций
1.5 15 февраля 2014 Подключение в конфигурацию по умолчанию расширений MathJax color для вывода цветных формул, action для интерактивных формул и AMScd для показа коммутативных диаграмм.
1.4 6 сентября 2012 Возможность вставлять в формулы ΤΕΧ викиссылки в формате [[Скорость света|c]], вынос конфигурации MathJax в отдельное сообщение MediaWiki, контроль допустимости названия окружения в командах \begin {...} и \end {...}, поддержка нумерации уравнений.
1.3 3 сентября 2012 Возможность вставлять в формулы ΤΕΧ гиперссылки в формате \href{http://traditio-ru.org/wiki/Скорость_света}{c}.
1.2 1 сентября 2012 Запись дополнительно определяемых макросов ΤΕΧ в системные сообщения MediaWiki.
1.11 27 августа 2012 Устранение ошибки, из-за которой, после правки раздела без формул страницы с формулами, к странице переставали прикрепляться конфигурация и сценарии MathJax.
1.1 23 августа 2012 Замена <displaymath>...</displaymath> для выносного ΤΕΧ на <math display="block">...</math>.
1.0 23 августа 2012 Стабильный выпуск. Распознавание традиционного для вики формата : <math>...</math> (в начале строки) в качестве выносной формулы ΤΕΧ.
0.9 23 августа 2012 Конфигурирование макросов (включая русификацию тригонометрических и логарифмических функций) без вмешательства в код расширения
0.8 5 августа 2012 Пересмотр архитектуры: переход к определению пользовательского тега MediaWiki
0.7 5 августа 2012 Заявленная поддержка MathML реализована. Последняя публично доступная версия.
0.6 21 июля 2012 Поддержка формул ΤΕΧ вне тега <math>, а также выносных формул
0.5 февраль 2012 Совместимость с MathJax 2.0
0.3 осень 2011 Добавление некоторых недостающих символов
0.2 2011 Переход на внешний CDN-дистрибутив MathJax по адресу http://cdn.mathjax.org/mathjax/latest/MathJax.js
0.1 30 октября 2010 Первая версия