MathML

MathML
Расширение .mml[2]
MIME-тип application/mathml+xml[3][2], application/mathml-presentation+xml[3][4], application/mathml-content+xml[3][5] и math/mml[6]
Разработчик Консорциум Всемирной паутины
Опубликован 1996[1]
Последний выпуск
Тип формата На основе XML
Сайт w3.org/Math/ (англ.)
Логотип Викисклада Медиафайлы на Викискладе

MathML (от англ. Mathematical Markup Language — язык математической разметки) — язык разметки на основе XML для представления математических символов и формул в веб-документах. Разрабатывается и пропагандируется математической группой W3C.

MathML учитывает не только представление, но и смысловое содержание элементов формул, в связи с чем разделён на две ветви — Presentation MathML и Content MathML. Также разрабатывается система разметки математической семантики OpenMath, призванная дополнить MathML смысловой информацией.

История версий

MathML был предложен в 1995 году в виде тега <math> как часть стандарта HTML версии 3. Однако этот стандарт оказался нереализованным в браузерах, и MathML не нашлось места в стандарте HTML 3.2[1]. Версии:

В HTML5 MathML стал частью языка разметки[8][1].

Пример

В ΤΕΧ описание:

x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

используется для представления формулы:

x = b ± b 2 4 a c 2 a {\displaystyle x={\frac {-b\pm {\sqrt {b^{2}-4ac}}}{2a}}}

Эта же формула с помощью MathML:

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mi>x</mi> <mo>=</mo>
  <mrow>
    <mfrac>
      <mrow>
        <mo></mo>
        <mi>b</mi>
        <mo>±</mo>
        <msqrt>
          <msup><mi>b</mi><mn>2</mn></msup>
          <mo></mo>
          <mn>4</mn><mi>a</mi><mi>c</mi>
        </msqrt>
      </mrow>
      <mrow> <mn>2</mn><mi>a</mi> </mrow>
    </mfrac>
  </mrow>
  <mtext>.</mtext>
</math>

XML-структура MathML обеспечивает широкую область использования и позволяет быстро отображать формулы в приложениях, таких как браузеры, а также легко интерпретировать их значения в математических программных продуктах.

Поддержка программного обеспечения

Информация от программных продуктов о поддержке MathML не всегда соответствует ожиданиям, поскольку, как правило, не указывается о версии поддерживаемого MathML и полнота поддержки.

Существует множество утилит для преобразования математических выражений в MathML, включая конвертеры между TeX и MathML.

Язык разметки MathML поддерживается многими современными браузерами[9]:

  • Mozilla Firefox поддерживает MathML 2.0 начиная с версии Firefox 1.5; поддержка MathML 3.0 — в разработке;
  • Opera частично[9] поддерживала MathML начиная с версии 9.5 (сборки 9656) (от 16 ноября 2007), но после перехода на WebKit поддержка была прекращена;
  • Google Chrome официально поддерживал MathML в версии 2.4[10], но позже поддержка была прекращена.[11]. Начиная с версии Chrome 109 поддержка вновь появилась.[12]

Многие другие браузеры поддерживают этот формат при установке соответствующих плагинов.

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

Кроме того, MathML поддерживается основными офисными программами, такими как Microsoft Word и OpenOffice.org, а также математическими программными продуктами, например, Mathematica, Maple.

В Windows 7 реализована поддержка рукописного ввода формул. Результат распознавания представлен в виде выражения MathML[13].

Примечания

  1. 1 2 3 Peter Krautzberger, MathML Forges On  (неопр.). Дата обращения: 2 ноября 2013. Архивировано 3 ноября 2013 года.
  2. 1 2 B.2 Media type for Generic MathML // Mathematical Markup Language (MathML) Version 3.0 2nd Edition — 2014.
  3. 1 2 3 6.2.4 Names of MathML Encodings // Mathematical Markup Language (MathML) Version 3.0 2nd Edition — 2014.
  4. B.3 Media type for Presentation MathML // Mathematical Markup Language (MathML) Version 3.0 2nd Edition — 2014.
  5. B.4 Media type for Content MathML // Mathematical Markup Language (MathML) Version 3.0 2nd Edition — 2014.
  6. https://docs.mathjax.org/en/v2.7-latest/advanced/model.html
  7. https://www.w3.org/TR/2014/REC-MathML3-20140410/
  8. http://www.w3.org/TR/html5/embedded-content-0.html#mathml Архивировано 6 июня 2013 года. 4.8.15 MathML]
  9. 1 2 Can I use MathML  (неопр.). Дата обращения: 22 февраля 2013. Архивировано 28 августа 2013 года.
  10. Chromium Blog: A web developer’s guide to the latest Chrome Beta  (неопр.). Дата обращения: 28 октября 2013. Архивировано 11 ноября 2012 года.
  11. Chrome no longer supports MathML | The Aperiodical  (неопр.). Дата обращения: 28 октября 2013. Архивировано 29 октября 2013 года.
  12. New in Chrome 109 (англ.). Chrome Developers. Дата обращения: 20 января 2023. Архивировано 21 января 2023 года.
  13. Использование панели математического ввода для ввода и исправления математических уравнений  (рус.). Дата обращения: 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
Перейти к шаблону «Языки разметки документов»
Офисные
документы
  • Compound Document Format
  • OOXML (SpreadsheetML, PresentationML, WordprocessingML)
  • ODF
  • UOF
Общеизвестные
Менее
известные
Перейти к шаблону «Стандарты W3C»
Продукты
и стандарты
Рекомендации
ООСО
  • IndieAuth[англ.]
  • XAdES[англ.]
  • XBL[англ.]
  • XHTML+SMIL[англ.]
  • XUP[англ.]
Рабочие проекты
Руководства
  • Руководящие принципы доступности веб-контента[англ.]
Инициативы
  • Markup Validation Service[англ.]
  • Web Accessibility Initiative[англ.]
  • WebPlatform[англ.]
Выведенные
из использования
Устаревшие
Организации
Рабочие группы
  • TAG[англ.]
  • CSS
  • SVG[англ.]
  • WebAuthn[англ.]
  • WHATWG
Группы сообщества и бизнеса
  • Web Advertising BG[англ.]
Закрывшиеся группы
  • Device Description (DDWG)[англ.]
  • HTML[англ.]
  • Multimodal Interaction Activity (MMI)[англ.]
ПО
Браузеры
  • Line Mode (1990–)[англ.]
  • Arena (1993–98)[англ.]
  • Agora (1994–97)[англ.]
  • Argo (1994–97)[англ.]
  • Amaya (браузер/редактор, 1996–2012)
Конференции