MathML расшифровывается как язык математической разметки и представляет собой приложение на основе XML. Используется для описания математических и научных обозначений. Его версии 1 и 2 были созданы и разработаны Рабочей группой по математике, которая является одной из старейших рабочих групп W3C в течение 1996-2004 годов. Версия 3 MathML была создана во время второго периода деятельности Рабочей группы по математике (2006-2016) и является стандартом ISO.
Математика в Сети
MathML основан на XML и имеет ограниченное количество тегов, которые можно использовать для разметки математического уравнения с точки зрения формата и его семантики. MathML намеревается уловить смысл синтаксиса, а также форматирование уравнения. Учитывая тот факт, что математические уравнения часто имеют смысл для многих приложений, поэтому написание их с использованием MathML обрабатывает как форматирование, так и значение уравнения. MathML предоставляет низкоуровневый формат для описания математики в качестве основы для связи между машинами.
Различные приложения, такие как системы алгебры, наборщики печати, могут использовать MathML для кодирования математической записи для высококачественного визуального отображения, а также математическое содержание и научное программное обеспечение, синтезаторы голоса могут использовать MathML для семантики.
MathML предоставляет два способа представления математической нотации.
Presentational Way — использует разметочные метки, такие как mrow, mi, mo, а также математические операторы и т. Д.
Semantic Way — использует разметочные метки, такие как apply, eq, power и т. Д.
Presentational Way — использует разметочные метки, такие как mrow, mi, mo, а также математические операторы и т. Д.
Semantic Way — использует разметочные метки, такие как apply, eq, power и т. Д.
Мы используем библиотеку MathJax для визуализации синтаксиса MathML, чтобы он мог работать во всех основных браузерах. В настоящее время он поддерживает только презентационный способ.
<maction> — Предоставляет возможность привязать действия к подвыражениям / выражениям.
<math> — это элемент верхнего или корневого уровня, используемый для инкапсуляции каждого экземпляра экземпляра MathML. Каждое допустимое выражение MathML должно быть заключено во внешний тег <math>. Он может содержать любое количество дочерних элементов. Один математический элемент не может содержать другой тег математического элемента.
<menclose> — отображает его содержимое во вложенной нотации, указанной атрибутом нотации.
<merror> — используется для отображения содержимого в виде сообщения об ошибке.
<mfenced> — Предоставляет возможность добавлять настраиваемые открывающие и закрывающие скобки и разделители в выражение.
<mfrac> — используется для отображения дробей.
<mglyph> — используется для отображения нестандартных символов, если существующие символы Юникода недоступны.
<mi> — Используется для указания идентификатора, такого как имя переменной, функции или константы и т. д. Например, <mi> PI </ mi>.
<mlabeledtr> — Используется для представления метки в строке слева или справа, используя атрибут стороны mtable. Дочерние элементы mlabeledtr должны быть элементами mtd.
<mmultiscripts> — предоставляет опции для создания тензороподобных объектов.
<mn> — используется для указания числового литерала, например 3.14 и т. д. Например, <mn> 3.14 </ mn>.
<mo> — Используется для указания оператора, такого как +, — и т. д. Например, <mo> + </ mo>.
<mover> — используется для добавления акцента или ограничения к выражению.
<mpadded> — Используется для добавления дополнительного отступа и для настройки общего положения и размера вложенного содержимого.
<mphantom> — Используется для создания пространства, поскольку оно отображается невидимым, сохраняя высоту, ширину и положение базовой линии без изменений.
<mroot> — используется для отображения корней с явным индексом.
<mrow> — Используется для группировки любого количества подвыражений по горизонтали.
<ms> — Используется для представления строкового литерала, предназначенного для интерпретации языками программирования и системами компьютерной алгебры.
<mspace> — Используется для отображения пустого пространства, где его размер устанавливается с помощью его атрибутов.
<msqrt> — используется для отображения квадратного корня.
<mstyle> — используется для применения стиля к его дочерним элементам .
<msub> — Используется для прикрепления индекса к выражению. Он использует следующий синтаксис: <msub> базовый индекс </ msub>.
<msubsup> — используется для присоединения как выражения, так и надстрочного индекса вместе к выражению. Он использует следующий синтаксис: <msubsup> надстрочный индекс нижнего индекса </ msubsup>.
<msup> — Используется для прикрепления верхнего индекса к выражению. Он использует следующий синтаксис: msup base superscript </ msup>.
<mtable> — предоставляет опции для создания таблиц или матриц.
<mtd> — для представления ячейки в таблице или матрице.
<mtext> — используется для визуализации текста без нотационного значения, такого как комментарии или аннотации.
<mtr> — представляет строку в таблице или матрице.
<munder> — предоставляет возможность добавить акцент или ограничение под выражением. Он использует следующий синтаксис: <munder> базовый индекс </ munder>
<munderover> — Предоставляет возможность добавлять акценты или ограничивать как под, так и над выражением. Используется следующий синтаксис: </ munderover> базовый нижний индекс </ munderover>
<семантика> — <семантика>, <annotation> и <annotation-xml> используются для добавления представления и разметки содержимого и предоставляют как информацию макета, так и семантическое значение математических выражений.
<maction> — Предоставляет возможность привязать действия к подвыражениям / выражениям.
<math> — это элемент верхнего или корневого уровня, используемый для инкапсуляции каждого экземпляра экземпляра MathML. Каждое допустимое выражение MathML должно быть заключено во внешний тег <math>. Он может содержать любое количество дочерних элементов. Один математический элемент не может содержать другой тег математического элемента.
<menclose> — отображает его содержимое во вложенной нотации, указанной атрибутом нотации.
<merror> — используется для отображения содержимого в виде сообщения об ошибке.
<mfenced> — Предоставляет возможность добавлять настраиваемые открывающие и закрывающие скобки и разделители в выражение.
<mfrac> — используется для отображения дробей.
<mglyph> — используется для отображения нестандартных символов, если существующие символы Юникода недоступны.
<mi> — Используется для указания идентификатора, такого как имя переменной, функции или константы и т. д. Например, <mi> PI </ mi>.
<mlabeledtr> — Используется для представления метки в строке слева или справа, используя атрибут стороны mtable. Дочерние элементы mlabeledtr должны быть элементами mtd.
<mmultiscripts> — предоставляет опции для создания тензороподобных объектов.
<mn> — используется для указания числового литерала, например 3.14 и т. д. Например, <mn> 3.14 </ mn>.
<mo> — Используется для указания оператора, такого как +, — и т. д. Например, <mo> + </ mo>.
<mover> — используется для добавления акцента или ограничения к выражению.
<mpadded> — Используется для добавления дополнительного отступа и для настройки общего положения и размера вложенного содержимого.
<mphantom> — Используется для создания пространства, поскольку оно отображается невидимым, сохраняя высоту, ширину и положение базовой линии без изменений.
<mroot> — используется для отображения корней с явным индексом.
<mrow> — Используется для группировки любого количества подвыражений по горизонтали.
<ms> — Используется для представления строкового литерала, предназначенного для интерпретации языками программирования и системами компьютерной алгебры.
<mspace> — Используется для отображения пустого пространства, где его размер устанавливается с помощью его атрибутов.
<msqrt> — используется для отображения квадратного корня.
<mstyle> — используется для применения стиля к его дочерним элементам .
<msub> — Используется для прикрепления индекса к выражению. Он использует следующий синтаксис: <msub> базовый индекс </ msub>.
<msubsup> — используется для присоединения как выражения, так и надстрочного индекса вместе к выражению. Он использует следующий синтаксис: <msubsup> надстрочный индекс нижнего индекса </ msubsup>.
<msup> — Используется для прикрепления верхнего индекса к выражению. Он использует следующий синтаксис: msup base superscript </ msup>.
<mtable> — предоставляет опции для создания таблиц или матриц.
<mtd> — для представления ячейки в таблице или матрице.
<mtext> — используется для визуализации текста без нотационного значения, такого как комментарии или аннотации.
<mtr> — представляет строку в таблице или матрице.
<munder> — предоставляет возможность добавить акцент или ограничение под выражением. Он использует следующий синтаксис: <munder> базовый индекс </ munder>
<munderover> — Предоставляет возможность добавлять акценты или ограничивать как под, так и над выражением. Используется следующий синтаксис: </ munderover> базовый нижний индекс </ munderover>
<семантика> — <семантика>, <annotation> и <annotation-xml> используются для добавления представления и разметки содержимого и предоставляют как информацию макета, так и семантическое значение математических выражений.
MathML — Основные элементы
Существует пять основных элементов выражения MathML.
Элемент <math> — это элемент верхнего или корневого уровня, используемый для инкапсуляции каждого экземпляра экземпляра MathML. Каждое допустимое выражение MathML должно быть заключено во внешний тег <math>. Он может содержать любое количество дочерних элементов. Один математический элемент не может содержать другой тег математического элемента.
Элемент <mrow> — используется для группировки любого количества подвыражений по горизонтали.
Элемент <mi> — используется для указания идентификатора, такого как имя переменной, функции или константы и т. д. Например, <mi> PI </ mi>.
Элемент <mo> — используется для указания оператора, такого как +, — и т. д. Например, <mo> + </ mo>.
Элемент <mn> — используется для указания числового литерала, например 3.14 и т. д. Например, <mn> 3.14 </ mn>.
Элемент <math> — это элемент верхнего или корневого уровня, используемый для инкапсуляции каждого экземпляра экземпляра MathML. Каждое допустимое выражение MathML должно быть заключено во внешний тег <math>. Он может содержать любое количество дочерних элементов. Один математический элемент не может содержать другой тег математического элемента.
Элемент <mrow> — используется для группировки любого количества подвыражений по горизонтали.
Элемент <mi> — используется для указания идентификатора, такого как имя переменной, функции или константы и т. д. Например, <mi> PI </ mi>.
Элемент <mo> — используется для указания оператора, такого как +, — и т. д. Например, <mo> + </ mo>.
Элемент <mn> — используется для указания числового литерала, например 3.14 и т. д. Например, <mn> 3.14 </ mn>.
пример
Давайте построим простое математическое уравнение a + b = 5 с использованием нотации MathML.
Шаг 1: Идентификация
Здесь a, b переменные. + является оператором, а 5 является числом. Мы заключим их как <mi> a </ mi>, <mi> b </ mi>, <mo> + </ mo> и <mn> + </ mn>