MathML

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Шаблон:Файловый формат

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

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

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

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

В HTML5 MathML стал частью языка разметки<ref>http://www.w3.org/TR/html5/embedded-content-0.html#mathml Шаблон:Webarchive 4.8.15 MathML]</ref><ref name=autogenerated1 />.

Пример

В [[TeX|Шаблон:TeX]] описание: <source lang="latex">x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}</source>

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

<math>x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}</math>

Эта же формула с помощью MathML: <source lang="xml"> <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> </source>

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

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

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

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

Язык разметки MathML поддерживается многими современными браузерами<ref name="autogenerated2">Шаблон:Cite web</ref>:

  • Mozilla Firefox поддерживает MathML 2.0 начиная с версии Firefox 1.5; поддержка MathML 3.0 — в разработке;
  • Opera частично<ref name=autogenerated2 /> поддерживала MathML начиная с версии 9.5 (сборки 9656) (от 16 ноября 2007), но после перехода на WebKit поддержка была прекращена;
  • Google Chrome официально поддерживал MathML в версии 2.4<ref>Шаблон:Cite web</ref>, но позже поддержка была прекращена.<ref>Шаблон:Cite web</ref>. Начиная с версии Chrome 109 поддержка вновь появилась.<ref>Шаблон:Cite web</ref>

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

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

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

В Windows 7 реализована поддержка рукописного ввода формул. Результат распознавания представлен в виде выражения MathML<ref>Шаблон:Cite web</ref>.

Примечания

Шаблон:Примечания

Литература

Ссылки

Ошибка скрипта: Модуля «Unsubst» не существует.

Шаблон:Языки разметки документов Шаблон:Стандарты W3C К:Приложения обобщённых языков разметки