MathML

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(MathML) Mathematical Markup Language
Тип Компьютерная вёрстка
Разработчик Консорциум W3C
Написана на Изначально WEB
Первый выпуск 1996[1]
Состояние Поддерживается
Сайт w3.org/Math/

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

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

MathML имеет 2 версии — Presentation MathML и Content MathML.

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

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

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

Пример

В TeX описание

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

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

[math]\displaystyle{ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} }[/math]

Ниже приведено описание этой формулы с помощью 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 поддерживается многими современными браузерами[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].

Примечания

  1. 1,0 1,1 1,2 Peter Krautzberger, MathML Forges On. Дата обращения: 2 ноября 2013. Архивировано 3 ноября 2013 года.
  2. http://www.w3.org/TR/html5/embedded-content-0.html#mathml Архивировано 6 июня 2013 года. 4.8.15 MathML]
  3. 3,0 3,1 Can I use MathML. Дата обращения: 22 февраля 2013. Архивировано 28 августа 2013 года.
  4. Chromium Blog: A web developer’s guide to the latest Chrome Beta. Дата обращения: 28 октября 2013. Архивировано 11 ноября 2012 года.
  5. Chrome no longer supports MathML | The Aperiodical. Дата обращения: 28 октября 2013. Архивировано 29 октября 2013 года.
  6. Использование панели математического ввода для ввода и исправления математических уравнений (недоступная ссылка). Дата обращения: 29 октября 2012. Архивировано 4 ноября 2012 года.

Литература

  • Kleinfeld, S. MathML for Publishers // HTML5 for Publishers. — O'Reilly Media, 2011. — 56 p. — ISBN 9781449314613.

Ссылки