[go: up one dir, main page]

MathML

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

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 учитывает не только представление, но и смысловое содержание элементов формул, в связи с чем разделён на две ветви — 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}

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

 

Эта же формула с помощью 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.

Ссылки

править