MathML
MathML (от англ. Mathematical Markup Language — «язык математической разметки») — это язык разметки на основе XML для представления математических символов и формул в документах WWW. MathML рекомендован математической группой W3C.
(MathML) Mathematical Markup Language | |
---|---|
Тип | Компьютерная вёрстка |
Разработчик | Консорциум W3C |
Написана на | Изначально WEB |
Первый выпуск | 1996[1] |
Состояние | Поддерживается |
Сайт | w3.org/Math/ |
![]() |
MathML рассматривает не только представление, но и смысл элементов формулы. Также разрабатывается система разметки математической семантики, призванная дополнить MathML. Она называется OpenMath.
MathML имеет 2 версии — Presentation MathML и Content MathML.
История версий
MathML был предложен в 1995 году в виде тега <math>
как часть стандарта HTML 3. Однако, этот стандарт оказался нереализованным в браузерах, и MathML не нашлось места в стандарте HTML 3.2[1].
Пример
В TeX описание
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
используется для представления формулы
Ниже приведено описание этой формулы с помощью MathML:
<?xml version="1.0" encoding="UTF-8"?>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mrow>
<mo>-</mo>
<mi>b</mi>
</mrow>
<mo>±</mo>
<msqrt>
<mrow>
<mrow>
<mi>b</mi>
<msup>
<mn>2</mn>
</msup>
</mrow>
<mo>-</mo>
<mrow>
<mn>4</mn>
<mi>a</mi>
<mi>c</mi>
</mrow>
</mrow>
</msqrt>
</mrow>
<mrow>
<mn>2</mn>
<mi>a</mi>
</mrow>
</mfrac>
</mrow>
</math>
XML-структура MathML обеспечивает широкую область использования и позволяет быстро отображать формулы в приложениях, таких как браузеры, а также легко интерпретировать их значения в математических программных продуктах.
Поддержка программного обеспечения
Следует с осторожностью относиться к информации о том, что программный продукт поддерживает MathML, поскольку, как правило, не сообщается о версии поддерживаемого MathML.
Существует множество утилит для преобразования математических выражений в MathML, включая конвертеры между TeX и MathML.
Язык разметки MathML поддерживается многими современными браузерами[3]:
- Mozilla Firefox поддерживает MathML 2.0, начиная с версии Firefox 1.5. В настоящее время в разработке - поддержка MathML 3.0.
- Opera частично[3] поддерживала MathML начиная с версии 9.5 (сборки 9656) (от 16 ноября 2007), но после перехода на WebKit поддержка была прекращена.
Google Chrome официально поддерживал MathML в версии 24[4], но позже поддержка была прекращена.[5] Многие другие браузеры поддерживают этот формат при установке соответствующих плагинов.
MathJax позволяет поддерживать MathML в браузерах, не имеющих родной поддержки формата, при помощи JavaScript.
Кроме того, MathML поддерживается основными офисными программами, такими как Microsoft Word и OpenOffice.org, а также математическими программными продуктами, например, Mathematica, Maple.
В Windows 7 реализована поддержка рукописного ввода формул. Результат распознавания представлен в виде выражения MathML[6].
Примечания
- Peter Krautzberger, MathML Forges On
- http://www.w3.org/TR/html5/embedded-content-0.html#mathml Архивировано 6 июня 2013 года. 4.8.15 MathML]
- Can I use MathML
- Chromium Blog: A web developer’s guide to the latest Chrome Beta
- Chrome no longer supports MathML | The Aperiodical
- Использование панели математического ввода для ввода и исправления математических уравнений (недоступная ссылка). Дата обращения: 29 октября 2012. Архивировано 4 ноября 2012 года.
Литература
- Kleinfeld, S. MathML for Publishers // HTML5 for Publishers. — O'Reilly Media, 2011. — 56 p. — ISBN 9781449314613.
Ссылки
- MathML на сайте W3C — спецификации, FAQ, список поддерживаемого ПО
- MathML в Mozilla
- Мануал для MathML Presentation
- Поддержка MathML браузерами
- MathPlayer— плагин для Internet Explorer.
- Стандарт OpenMath