Скобки и разделители в MathML

Скобки

Скобки в математике применяются для задания приоритета операций, записи матриц, обозначения интервалов, систем уравнений и не только.

Правильное использование скобок в математике важно, поскольку оно позволяет точно передать смысл выражения.

2 · ( 3 + 4 ) = 14 [ 0 ; 3 ]

В математике используются скобки нескольких видов:

  • круглые (5);
  • квадратные [5];
  • фигурные {5};
  • угловые <5>;
  • прямые |5|;
  • двойные ║5║.

Для обозначения скобок в MathML применяется элемент <mo>. Вот как, к примеру, скобки будут комбинироваться с числом.

<math>
  <mo>[</mo> <!-- Открывающая скобка -->
  <mn>5</mn> <!-- Число -->
  <mo>]</mo> <!-- Закрывающая скобка -->
</math>

Для придания семантического смысла к элементу <mo> рекомендуется добавить атрибут fence со значением true и атрибут form со значением prefix или postfix, в зависимости от типа скобки.

Открывающая скобка

<mo fence="true" form="prefix">(</mo>

Закрывающая скобка

<mo fence="true" form="postfix">)</mo>

В качестве примера рассмотрим следующее выражение.

36 : 3 ( 8 6 )

Здесь у нас имеются операторы деления и вычитания, а также открывающая и закрывающая круглые скобки, которые тоже являются операторами.

Вот итоговый результат.

<math>
  <mn>36</mn><mo>:</mo><mn>3</mn>
  <mo fence="true" form="prefix">(</mo>
  <mn>8</mn><mo>−</mo><mn>6</mn>
  <mo fence="true" form="postfix">)</mo>
</math>

Размер скобок зависит от выражения, где эти скобки применяются. К примеру, скобка, содержащая дробь, будет больше, чем скобка с десятичным числом.

( 1 2 ) и ( 2 )

Автоматическое растягивание скобок не всегда полезно и в некоторых ситуациях не требуется. Для отмены этого поведения к элементу <mo> следует добавить атрибут stretchy со значением false.

Открывающая скобка

<mo fence="true" form="prefix" stretchy="false">(</mo>

Закрывающая скобка

<mo fence="true" form="postfix" stretchy="false">)</mo>

Разделители

Разделитель отделяет одну часть выражения от другой. К примеру, в интервалах применяется точка с запятой.

( a ; b ]

Для нескольких уравнений используется запятая.

{ x + y = 7 , x y = 3

Для обозначения разделителя также применяется элемент <mo>. Чтобы придать ему семантический смысл, для разделителя добавляется атрибут separator со значением true.

<mo separator="true">;</mo>

Рассмотрим следующий пример.

[ 1 ; 5 ]

Вот как будет выглядеть MathML со скобками и разделителями.

<math> <mo fence="true" form="prefix">[</mo> <mn>1</mn> <mo separator="true">;</mo> <mn>5</mn> <mo fence="true" form="postfix">]</mo> </math>

Текст

Не всегда запятая, точка или другой текст относится к математическому выражению. Во многих ситуациях та же точка является частью предложения и завершает его. В таком случае точку следует поместить в элемент <mtext>. Он позволяет хранить текст, который нельзя назвать математическим оператором, символом, функцией или числом.

<p>Решить уравнение</p> <math display="block"> <mi>ctg</mi> <mi>x</mi> <mo>+</mo> <mi>sin</mi> <mn>2</mn> <mi>x</mi> <mo>=</mo> <mi>ctg</mi> <mn>3</mn> <mi>x</mi> <mtext>.</mtext> </math>

Группа элементов

Иногда несколько элементов MathML требуется объединить в одну группу. Это нужно при использовании дробей, степеней, индексов, вычислении корней, когда выражения должны интерпретироваться как целое.

Для обозначения группы применяется элемент <mrow>, он может содержать несколько элементов.

<mrow>
  <mi>i</mi>
  <mo>+</mo>
  <mn>1</mn>
</mrow>

Использование элемента <mrow> на практике подробнее рассмотрим в следующих уроках.

Итоги

  • Элемент <mo> с атрибутами fence и form применяется для разметки скобок в MathML.
  • Атрибут stretchy элемента <mo> позволяет автоматически растягивать скобки или, наоборот, запрещать их растягивание.
  • Для обозначения разделителей, вроде запятой или точки с запятой, также применяется элемент <mo> с атрибутом separator.
  • Обычный текст вкладывается в элемент <mtext>.
  • Для группирования элементов используется элемент <mrow>.

Перейти к заданиям

Автор: Влад Мержевич
Последнее изменение: 15.04.2024

Создайте выражение с помощью MathML, как показано на рис. 1.

Рис. 1

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>MathML</title> </head> <body> <p>Синус суммы углов α и β определяется следующим образом:</p> <math display="block"> <mi>sin</mi> <mo fence="true" form="prefix">(</mo> <mi>α</mi> <mo>+</mo> <mi>β</mi> <mo fence="true" form="postfix">)</mo> <mo>=</mo> <mi>sin</mi> <mi>α</mi> <mo>·</mo> <mi>cos</mi> <mi>β</mi> <mo>+</mo> <mi>cos</mi> <mi>α</mi> <mo>·</mo> <mi>sin</mi> <mi>β</mi> </math> </body> </html>

Создайте выражение с помощью MathML, как показано на рис. 1.

Рис. 1

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>MathML</title> </head> <body> <p>Докажите тождество:</p> <math display="block"> <mi>cos</mi> <mo fence="true" form="prefix" stretchy="false">(</mo> <mi>π</mi> <mo>+</mo> <mi>x</mi> <mo fence="true" form="postfix" stretchy="false">)</mo> <mo>=</mo> <mo>−</mo> <mi>cos</mi> <mi>x</mi> <mtext>.</mtext> </math> </body> </html>

Создайте выражение с помощью MathML, как показано на рис. 1.

Рис. 1

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <title>MathML</title> </head> <body> <p>Вычислите следующее выражение:</p> <math display="block"> <mn>8</mn> <mo>÷</mo> <mn>4</mn> <mo fence="true" form="prefix" stretchy="false">(</mo> <mn>3</mn> <mo>−</mo> <mn>1</mn> <mo fence="true" form="postfix" stretchy="false">)</mo> <mtext>.</mtext> </math> </body> </html>