MathML

Легко с примерами

Стивен Букаро

2022

перевод В.Айсин

Введение

HTML и Всемирная паутина (WWW) были изобретены в 1989 году британским учёным Тимом Бернерсом-Ли с целью обмена информацией между учёными и университетами по всему миру. Вы могли бы подумать, что HTML отлично подойдет для отображения математических формул и уравнений, но нет, его возможности отображать математические выражения сильно ограничены.

Лишь десять лет спустя, в 1999 году, MathML версии 1 была выпущена в качестве стандарта W3C для решения этой проблемы. MathML — это расширение HTML, которое может отображать математические выражения, формулы и уравнения. Как вы знаете, математика — бесконечно сложная область, и хотя разработчики браузеров не спешат делать свои продукты совместимыми с MathML, действительно удивительно видеть, на что способен MathML.

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

Вы научитесь кодировать дроби, радикалы, матрицы и различные символы исчисления. Вы узнаете, как отображать числа с индексами и экспонентами, подстрочными и надстрочными индексами. Вы узнаете, как комбинировать все эти представления для создания очень сложных математических выражений. Думаю, вы будете удивлены.

Структура файла MathML

Возможно, вы знакомы с HTML (языком разметки гипертекста) — кодом, который используется для структурирования веб-страницы. HTML состоит из тегов, определяющих элементы структуры веб-страницы. Тег состоит из открывающего символа < и закрывающего символа >. Между этими двумя символами находится имя элемента. Наиболее распространенным элементом HTML является абзац, определяемый тегом <p>. Это открывающий тег абзаца. После чего идет текст абзаца. Затем закрывающий абзац тег </p>.

HTML состоит из более чем 100 тегов, определяющих все, от заголовка до таблицы. Но, несмотря на широкий набор HTML-элементов, с помощью HTML очень сложно создавать сложные математические выражения. По этой причине был создан совершенно другой набор тегов для определения структуры математического выражения. Эти теги называются MathML (язык математической разметки).

Хотя почти все веб-браузеры могут интерпретировать HTML-теги, по сути только Firefox может интерпретировать MathML-теги. (На начало 2024 года поддержка значительно улучшилась, см. caniuse.com. Прим. пер.) Чтобы просмотреть выражения, закодированные MathML, в других браузерах, вам необходимо создать ссылку на исходный файл JavaScript MathML в разделе заголовка любого HTML-файла, в который включены математические выражения. Этот исходный файл обычно называется MathJax в честь сообщества, которое его разработала. Необходимая ссылка показана ниже.

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/MathJax.js?config=TeX-MML-AM_CHTML"></script>

Имейте в виду, что хотя веб-страницы иногда создаются с помощью сложных текстовых редакторов, HTML сам по себе всегда представляет собой простой текст. Чтобы создать HTML-страницу, содержащую встроенный MathML, все, что вам нужно, — это простой текстовый редактор. На самом деле сложное приложение для обработки текста не будет работать, поскольку оно будет размещать в документе дополнительные коды управления и форматирования.

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

<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/MathJax.js?config=Tex-MML-AM_CHTML"></script>
</head>
<body>

веб-страница и код MathML находятся здесь.

</body>
</html>

В этот файл можно вводить HTML-теги. Везде, где вы хотите разместить математическое выражение, вам необходимо разместить открывающий и закрывающий математические теги, как показано ниже.

<math>

</math>

Ниже показан пример отображения выражения x + y = 3 на веб-странице.

<math>
  <mi>x</mi>
  <mo>+</mo>
  <mi>y</mi>
  <mo>=</mo>
  <mn>3</mn>
</math>

Чтобы создать этот пример, откройте файл в обычном текстовом редакторе, например в Блокноте Windows, введите код веб-страницы HTML5, содержащий ссылку на исходный файл MathJax, в разделе тела типа веб-страницы в коде MathML, показанном выше. Обратите внимание, что некоторые теги имеют отступ. Это форматирование, позволяющее сделать код более понятным для человека. В будущих примерах, добавляя больше элементов, вы создадите больше уровней отступов.

(Если не указано иное, примеры работают без библиотеки MathJax, т.е. простым копипастом кода. Исключения помечены значком . Прим. пер.)

Сохраните файл с именем файла и расширением .htm. Когда вы откроете файл в веб-браузере, он отобразит результат, показанный ниже.

x + y = 3

Элемент HTML отображается либо встроенным, либо блочным. Встроенный элемент отображается на базовой линии вместе с другими элементами по мере того, как анализатор обрабатывает HTML-код. Блочный элемент всегда начинается с новой строки и всегда растягивается влево и вправо, насколько это возможно, чтобы занять всю ширину окна браузера. Элемент Math является встроенным элементом, поэтому кодируемое вами выражение будет соответствовать любому тексту, который вы вводите на странице. Если вы хотите, чтобы выражение начиналось с новой строки, просто завершите предыдущий текст тегами абзаца или поместите тег разрыва перед элементом Math.

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

Основные элементы MathML

Наиболее базовыми элементами MathML являются <mn>, <mi> и <mo>.

mn Используйте этот элемент для указания числового литерала.

mi Используйте этот элемент для указания идентификатора, например имени переменной.

mo Используйте этот элемент для указания оператора, например +, , =. Скобки также считаются операторами.

Примеры:

y + 4 = 5
<math>
  <mi>y</mi>
  <mo>+</mo>
  <mn>4</mn>
  <mo>=</mo>
  <mn>5</mn>
</math>

Большинство основных математических выражений могут быть отображены с помощью этих трех элементов.

2 x 14 + 3 ( x + 2 ) = −4
<math>
  <mn>2</mn>
  <mi>x</mi>
  <mo>−</mo>
  <mn>14</mn>
  <mo>+</mo>
  <mn>3</mn>
  <mo>(</mo>
  <mi>x</mi>
  <mo>+</mo>
  <mn>2</mn>
  <mo>)</mo>
  <mo>=</mo>
  <mn>−4</mn>
</math>

Обратите внимание, что оператор mo используется для расстановки круглых скобок.

6 ( 2 x + 2 4 ( 4 x 2 ) )
<math>
  <mn>6</mn>
  <mo>(</mo>
  <mn>2</mn>
  <mi>x</mi>
  <mo>+</mo>
  <mn>2</mn>
  <mo>−</mo>
  <mn>4</mn>
  <mo>(</mo>
  <mn>4</mn>
  <mi>x</mi>
  <mo>−</mo>
  <mn>2</mn>
  <mo>)</mo>
  <mo>)</mo>
</math>

В приведенном выше примере используются вложенные круглые скобки — набор круглых скобок внутри другого набора. Конечно, чтобы оценить вложенные круглые скобки, начните с оценки внутреннего набора, а затем продвигайтесь наружу.

Дроби

Элемент mfrac используется для отображения дроби.

y 3
<math>
  <mfrac>
    <mi>y</mi>
    <mn>3</mn>
  </mfrac>
</math>

Если дробь содержит один элемент в числителе и один в знаменателе, то простой код, показанный выше, будет работать.

3 y 12
<math>
  <mfrac>
    <mrow>
      <mn>3</mn>
      <mi>y</mi>
    </mrow>
    <mrow>
      <mn>12</mn>
    </mrow>
  </mfrac>
</math>

Если числитель, знаменатель или оба содержат несколько элементов, используйте элемент mrow, чтобы указать, какие элементы входят в числитель, а какие — в знаменатель.

2 x 14 + 3 ( x + 2 ) 6 ( 2 x + 2 4 ( 4 x 2 ) )
<math>
  <mfrac>
    <mrow>
      <mn>2</mn>
      <mi>x</mi>
      <mo>−</mo>
      <mn>14</mn>
      <mo>+</mo>
      <mn>3</mn>
      <mo>(</mo>
      <mi>x</mi>
      <mo>+</mo>
      <mn>2</mn>
      <mo>)</mo>
    </mrow>
    <mrow>
      <mn>6</mn>
      <mo>(</mo>
      <mn>2</mn>
      <mi>x</mi>
      <mo>+</mo>
      <mn>2</mn>
      <mo>−</mo>
      <mn>4</mn>
      <mo>(</mo>
      <mn>4</mn>
      <mi>x</mi>
      <mo>−</mo>
      <mn>2</mn>
      <mo>)</mo>
      <mo>)</mo>
    </mrow>
  </mfrac>
</math>

Используя элемент mrow и элемент mo для определения круглых скобок, вы можете определить некоторые довольно сложные дробные выражения, как показано выше.

y 3 12
<math>
  <mfrac>
    <mfrac bevelled="true">
      <mi>y</mi>
      <mn>3</mn>
    </mfrac>
    <mn>12</mn>
  </mfrac>
</math>

Вкладывая элементы mfrac, вы можете создавать многоуровневые дроби. Многоуровневую дробь иногда можно сделать более понятной, используя косую дробную черту. Чтобы ее создать, добавьте атрибут bevelled со значением true к открывающему тегу mfrac.

Атрибут bevelled на данный момент не реализован.

Корни

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

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

В MathML есть два разных элемента, используемых для отображения радикалов. Элемент msqrt используется для указания квадратного корня и не имеет индекса. Элемент mroot используется для указания радикала с более высоким индексом и отображает этот индекс.

x
<math>
  <msqrt>
    <mi>x</mi>
  </msqrt>
</math>

Выше показан пример использования элемента msqrt для отображения квадратного корня.

x 3
<math>
  <mroot>
    <mi>x</mi>
    <mn>3</mn>
  </mroot>
</math>

Выше показан пример использования элемента mroot для отображения корня большей степени. Обратите внимание, что база стоит в коде первой.

6 ( 2 x + 2 4 ( 4 x 2 ) )
<math>
  <msqrt>
    <mn>6</mn>
    <mo>(</mo>
    <mn>2</mn>
    <mi>x</mi>
    <mo>+</mo>
    <mn>2</mn>
    <mo>−</mo>
    <mn>4</mn>
    <mo>(</mo>
    <mn>4</mn>
    <mi>x</mi>
    <mo>−</mo>
    <mn>2</mn>
    <mo>)</mo>
    <mo>)</mo>
  </msqrt>
</math>

Выше показано как сложное выражение используется в качестве корня элемента msqrt.

6 ( 2 x + 2 ) 3 y
<math>
  <mroot>
    <mrow>
      <mn>6</mn>
      <mo>(</mo>
      <mn>2</mn>
      <mi>x</mi>
      <mo>+</mo>
      <mn>2</mn>
      <mo>)</mo>
    </mrow>
    <mrow>
      <mn>3</mn>
      <mi>y</mi>
    </mrow>
  </mroot>
</math>

Обратите внимание: при использовании корня и/или индекса с несколькими элементами используйте элемент mrow, чтобы указать, какие элементы входят в корень, а какие — в индекс.

y x 3
<math>
  <mfrac>
    <mi>y</mi>
    <mroot>
      <mi>x</mi>
      <mn>3</mn>
    </mroot>
  </mfrac>
</math>

Выше показан элемент mroot, вложенный в элемент mfrac. Один или оба элемента mroot и mfrac можно сделать настолько сложными, насколько это необходимо, с помощью элемента mrow.

y 4 3
<math>
  <mroot>
    <mfrac>
      <mi>y</mi>
      <mn>4</mn>
    </mfrac>
    <mn>3</mn>
  </mroot>
</math>

Выше показан элемент mfrac, вложенный в элемент mroot. Любой элемент mfrac и элемент mroot или оба могут быть настолько сложными, насколько это необходимо, с помощью элемента mrow.

Нижние и верхние индексы

Индекс — это маленькая буква или цифра, расположенная немного ниже обычного текста, идентифицирующего переменную. Иногда переменная может обозначать определенное свойство, например давление, но, скажем, в разных местах. Тогда буква P может обозначать давление, а P1, P2 и P3 могут быть переменными, которые представляют определенные значения в разных местах.

Надстрочный индекс (также называемый «показатель степени» или «степень») — это маленькая буква или цифра, расположенная немного выше обычного текста. Расположенный справа от выражения, он определяет, сколько раз использовать значение этого выражения при умножении.

msub Используйте этот элемент, чтобы прикрепить нижний индекс к базе. Пример:

x i
<math>
  <msub>
    <mi>x</mi>
    <mi>i</mi>
  </msub>
</math>

msup Используйте этот элемент, чтобы прикрепить верхний индекс к базе. Пример:

x j
<math>
  <msup>
    <mi>x</mi>
    <mi>j</mi>
  </msup>
</math>

msubsup Используйте этот элемент, чтобы присоединить к базе как нижний, так и верхний индекс. Пример:

x i j
<math>
  <msubsup>
    <mi>x</mi>
    <mi>i</mi>
    <mi>j</mi>
  </msubsup>
</math>

Обратите внимание, что для всех вышеперечисленных элементов базовым является первый дочерний элемент.

x 3 y
<math>
  <mfrac>
    <msup>
      <mi>x</mi>
      <mi>3</mi>
    </msup>
    <mi>y</mi>
  </mfrac>
</math>

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

y 6 ( x + y 2 )
<math>
  <mfrac>
    <mi>y</mi>
    <mrow>
      <mn>6</mn>
      <mo>(</mo>
      <mi>x</mi>
      <mo>+</mo>
      <msup>
        <mi>y</mi>
        <mn>2</mn>
      </msup>
      <mo>)</mo>
    </mrow>
  </mfrac>
</math>

Выше показана переменная, показатель степени которой используется в знаменателе дроби. Переменная с показателем степени является частью сложного выражения. Сложное выражение создается с использованием элемента mrow, чтобы указать, какие элементы идут в числителе, а какие в знаменателе.

6 ( x + y 2 ) 3
<math>
  <mroot>
    <mrow>
      <mn>6</mn>
      <mo>(</mo>
      <mi>x</mi>
      <mo>+</mo>
      <msup>
        <mi>y</mi>
        <mn>2</mn>
      </msup>
      <mo>)</mo>
    </mrow>
    <mn>3</mn>
  </mroot>
</math>

Аналогичным образом, выше показана переменная, показатель степени которой используется в основании радикала. Переменная с показателем степени является частью сложного выражения. Сложное выражение создается с использованием элемента mrow, чтобы указать, какие элементы входят в базу, а какие — в индекс.

Подстрочные и надстрочные индексы

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

Используйте элемент mover для отображения надстрочного текста поверх базового.

v
<math>
  <mover>
    <mi>v</mi>
    <mo>→</mo>
  </mover>
</math>

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

Используйте элемент munder для отображения подстрочного индекса под основанием.

x
<math>
  <munder>
    <mi>x</mi>
    <mo>─</mo>
  </munder>
</math>

В приведенном выше примере показано, как элемент munder используется для отображения подчеркивания основания горизонтальной линией.

Используйте элемент munderover для отображения подстрочного и надстрочного индекса. Обратите внимание на порядок элементов, вложенных в элемент munderover: база, низ, верх.

0
<math>
  <munderover>
    <mo>∫</mo>
    <mn>0</mn>
    <mi>∞</mi>
  </munderover>
</math>

Подстрочные и надстрочные индексы часто используются в математическом анализе. В приведенном выше примере показан элемент munderover, используемый для отображения символа интеграла в качестве основы (с использованием кода символа &#x222B;) со знаком бесконечности в качестве верхнего индекса (с использованием кода символа &#x221E;) и 0 в качестве подстрочного индекса. (В коде на странице используются сами символы и в кодировке UTF-8. Прим. пер.)

x + y + z
<math>
  <munder accentunder="true">
    <mrow>
      <mi>x</mi>
      <mo>+</mo>
      <mi>y</mi>
      <mo>+</mo>
      <mi>z</mi>
    </mrow>
    <mo>⏟</mo>
  </munder>
</math>

В примере, показанном выше, элемент munderover используется для отображения фигурной скобки под основой. Обратите внимание, что атрибут accentunder, если он установлен в значение true, приводит к выделению нижней фигурной скобки и ее расположению ближе к основе. Чтобы отобразить меньшую фигурную скобку ниже, установите для accentunder значение false.

На данный момент подстрочные и надстрочные индексы в браузерах на основе Chrome не растягиваются на всю ширину базового элемента (в Firefox — растягиваются).

Операторы элемента mo

Элемент mo является, возможно, самой важной частью MathML. Потому, что он определяет математические операции, а математика, по сути, и занимается операциями. Для указания некоторых операций вам придется использовать коды символов, поскольку на клавиатуре компьютера нет, например, клавиш . (Или копировать из таблицы Unicode. Прим. пер.)

a b
<math>
  <mi>a</mi>
  <mo>≠</mo>
  <mi>b</mi>
</math>

В приведенном выше примере используется оператор неравенства, чтобы указать, что a не равно b. Ниже показаны коды символов для некоторых других операторов неравенства.

Символ Значение Символьный код
Не равно &#X2260;
Приблизительно равно &#x2248;
< Меньше &#x003c;
Меньше или равно &#x2264;
> Больше &#x003e;
Больше или равно &#x2265;
± Плюс или минус &#x00b1;

Ниже показаны коды символов для некоторых символов тригонометрии.

Символ Значение Символьный код
° Градус &#x00B0;
Угол &#X2220;
Прямой угол &#8735;
−1 +1 d x x
<math>
  <mrow>
    <munderover>
      <mo>∫</mo>
      <mn>−1</mn>
      <mn>+1</mn>
    </munderover>
    <mfrac>
      <mrow>
        <mi>d</mi>
        <mi>x</mi>
      </mrow>
      <mi>x</mi>
    </mfrac>
  </mrow>
</math>

В приведенном выше примере показано математическое выражение, использующее интегральный оператор. Ниже приведены коды символов для некоторых других математических операторов.

Символ Значение Символьный код
Суммирование &#x2211;
Δ Приращение &#x0394;
Интегрирование &#x222B;
Бесконечность &#x221E;

Матрицы

В MathML кодирование матрицы очень похоже на кодирование таблицы в HTML. Итак, если вы понимаете код таблицы HTML, матрицы MathML будут для вас простыми. К сожалению, большинство людей не понимают код таблицы HTML. Итак, давайте сделаем это шаг за шагом.

Матрица MathML состоит из сетки блоков, каждый из которых создается элементом <mtd></mtd>. td означает «table data» (табличные данные). Таким образом, внутри каждого поля mtd находится одно матричное число, переменная или элемент выражения. Поля mtd, в свою очередь, располагаются в ряды путем вложения их в элементы <mtr></mtr>. tr означает «table row» (строка таблицы).

1
<math>
  <mtable>
    <mtr><mtd><mn>1</mn></mtd></mtr>
  </mtable>
</math>

Выше показан код минимальной матрицы, состоящей из одной строки, содержащей один элемент данных матрицы.

10 01
<math>
  <mtable>
    <mtr>
      <mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd>
    </mtr>
    <mtr>
      <mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd>
    </mtr>
  </mtable>
</math>

Выше показан код матрицы 2x2, состоящей из 2 строк, каждая из которых содержит 2 элемента данных матрицы.

[ 10 01 ]
<math>
  <mrow>
    <mo>[</mo>
    <mtable>
      <mtr>
        <mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd>
      </mtr>
      <mtr>
        <mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd>
      </mtr>
    </mtable>
    <mo>]</mo>
  <mrow>
</math>

По умолчанию элемент mtable не имеет границ. Поэтому вам нужно будет поместить элемент mtable внутри элемента <mo>, чтобы отобразить нужные скобки, как показано выше.

На данный момент в браузерах на основе Chrome скобки не растягиваются на всю высоту матрицы (в Firefox — растягиваются).

Текст

Элементы тегов, используемые в MathML, позволяют процессору MathML правильно отображать различные математические элементы. Кроме того, они позволяют анализатору математических выражений правильно обрабатывать различные элементы. Но что, если вы просто хотите добавить к выражению некоторый общий текст? Одно из мест, где текст может использоваться в математическом выражении, — это условный оператор.

Элемент mtext используется для отображения обычного текста. Ниже показан пример условного оператора.

if n is a positive integer then ( n 2 n + 41 ) is a prime number
<math>
  <mrow>
    <mtext>if</mtext>
    <mspace width="0.5ex" />
    <mi>n</mi>
    <mspace width="0.5ex" />
    <mtext>is a positive integer</mtext>
    <mspace width="0.5ex" linebreak="newline" />
    <mtext>then</mtext>
    <mspace width="0.5ex" />
    <mo>(</mo>
    <msup>
      <mi>n</mi>
      <mn>2</mn>
    </msup>
    <mo>−</mo>
    <mi>n</mi>
    <mo>+</mo>
    <mn>41</mn>
    <mo>)</mo>
    <mspace width="0.5ex" />
    <mtext>is a prime number</mtext>
  </mrow>
</math>

При использовании элемента mtext обычно требуется добавить некоторое пространство до и после текста. Обратите внимание на использование элемента mspace в коде. Каждый элемент mspace имеет атрибут with, который указывает, сколько места нужно добавить. Единица, которую я использовал для этого, — это ex. Единица ex — это высота строчной буквы.

Атрибут linebreak (для переноса строки) на данный момент не работает. К тому же, похоже, что он устарел.

Кстати, в показанном выше условном операторе в случае, когда n = 41, утверждение ложно, поэтому утверждение ложно.

x maps to y
<math>
  <mi>x</mi>
  <munder>
    <mo>→</mo>
    <mtext>maps to</mtext>
  </munder>
  <mi>y</mi>
</math>

В приведенном ниже примере показано, как использовать элементы munder и mtext для размещения текста под символом. &#x2192; — шестнадцатеричный код стрелки вправо. Обратите внимание, как mo растягивается по горизонтали, чтобы покрыть размер текста.

На данный момент в браузерах на основе Chrome содержимое элемента mo не растягиваtтся (в Firefox — растягивается).

Ниже показаны коды некоторых других символов стрелок.

Символ Значение Символьный код
Стрелка вправо &#x2192;
Стрелка влево &#x2190;
Двойная стрелка &#x2194;

Стиль

Используйте элемент mstyle для указания таких атрибутов, как mathvariant (стиль шрифта), mathsize (размер шрифта), mathcolor (цвет шрифта) и mathbackground (цвет фона). Установленные вами атрибуты будут унаследованы всеми потомками элементов mstyle. Другими словами, всеми элементами, вложенными в элемент mstyle.

Атрибут mathvariant

y = m x + b
<math>
  <mstyle mathvariant="sans−serif">
    <mi>y</mi>
    <mo>=</mo>
    <mi>m</mi>
    <mi>x</mi>
    <mo>+</mo>
    <mi>b</mi>
  </mstyle>
</math>

На данный момент атрибут mathvariant в браузерах на основе Chrome не реализован (в Firefox — реализован).

Вы можете узнать вышеприведенное уравнение как уравнение наклона-пересечения для прямой. В данном случае я установил атрибут mathvariant на sans-serif (без засечек). По какой-то причине в большинстве приложений по умолчанию используется шрифт serif (с засечками). Засечки ставились на шрифты в те времена, когда чернила печатали на бумаге, чтобы гарантировать, что края шрифта будут напечатаны. Но на современных ЖК-экранах засечки затрудняют чтение. Ниже показаны некоторые другие значения, которые вы можете использовать для атрибута mathvariant.

normal
bold
italic
bold-italic
sans-serif
bold-sans-serif
sans-serif-italic
sans-serif-bold-italic

Атрибут mathsize

A = 2 m ( r + h )
<math>
  <mi>A</mi>
  <mo>=</mo>
  <mn>2</mn>
  <mo>m</mo>
  <mo>(</mo>
  <mstyle mathsize="30px">
    <mi>r</mi>
    <mo>+</mo>
    <mi>h</mi>
  </mstyle>
  <mo>)</mo>
</math>

Вы можете узнать вышеприведенное уравнение как уравнение площади поверхности цилиндра. В этом случае я вложил выражение (r + h) в элемент mstyle с атрибутом mathsize, установленным в 30px. Это увеличило размер символов выражения по сравнению с остальной частью уравнения. Ниже показаны некоторые другие значения, которые вы можете использовать для атрибута mathsize.

small
normal
big
number (a font-size, eg: 12px)

Атрибут mathcolor

V = 4 π r 3 3
<math>
  <mi>v</mi>
  <mo>=</mo>
  <mfrac>
    <mstyle mathcolor="red">
      <mrow>
        <mn>4</mn>
        <mo>m</mo>
        <msup>
          <mi>r</mi>
          <mn>3</mn>
        </msup>
      </mrow>
    </mstyle>
    <mo>3</mo>
  </mfrac>
</math>

Вы можете узнать вышеприведенное уравнение как уравнение объема сферы. В этом случае я вложил выражение 4pi r^2 в элемент mstyle с атрибутом mathcolor, установленным в red. Ниже показаны некоторые другие значения, которые вы можете использовать для атрибута mathcolor.

#rrggbb (a hex RGB color, eg: #0022dd)
#rgb (a short hex RGB color, eg: #02d)
a color name (one of the named CSS colors)

Атрибут mathbackground

F = G m 1 m 2 d 2
<math>
  <mi>F</mi>
  <mo>=</mo>
  <mi>G</mi>
    <mstyle mathbackground="#ffd3f1">
      <mfrac>
        <mrow>
          <msub>
            <mi>m</mi>
            <mn>1</mn>
          </msub>
          <msub>
            <mi>m</mi>
            <mn>2</mn>
          </msub>
        </mrow>
        <mrow>
          <msub>
            <mi>d</mi>
            <mn>2</mn>
          </msub>
        </mrow>
      </mfrac>
    </mstyle>
</math>

Вы можете узнать в вышеуказанном закон гравитации Ньютона. В этом случае я вложил часть формулы, связанную с двумя массами и их расстоянием друг от друга, внутри элемента mstyle с атрибутом mathbackground, установленным в #ffd3f1. Другие значения, которые вы можете использовать для атрибута mathbackground, такие же, как и для атрибута mathcolor.

Элемент mspace

if x = y then a x = a y
<math>
  <mtext>if</mtext>
  <mi>x</mi>
  <mo>=</mo>
  <mi>y</mi>
  <mtext>then</mtext>
  <mi>a</mi>
  <mi>x</mi>
  <mo>=</mo>
  <mi>a</mi>
  <mi>y</mi>
</math>

В приведенном выше примере после слова «if» и вокруг слова «then» должно быть некоторое пространство. Добавление пробельных символов в элемент mtext не поможет, поскольку начальные и конечные пробельные символы автоматически удаляются из элементов mi, mo, mn и mtext процессором MathML.

if x = y then a x = a y
<math>
  <mtext>if</mtext>
  <mspace depth="0.5ex" heigh="0.5ex" width="1ex" />
    <mi>x</mi>
    <mo>=</mo>
    <mi>y</mi>
  <mspace depth="0.5ex" heigh="0.5ex" width="1ex" />
    <mtext>then</mtext>
  <mspace depth="0.5ex" heigh="0.5ex" width="1ex" />
    <mi>a</mi>
    <mi>x</mi>
    <mo>=</mo>
    <mi>a</mi>
    <mi>y</mi>
</math>

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

width определяет ширину элемента mspace.

height определяет высоту над базовой линией элемента mspace.

depth определяет высоту ниже базовой линии элемента mspace.

Единицы измерения, используемые этими атрибутами:

Единица измерения Описание
em Размер относительно текущего шрифта
ex Размер относительно символа x текущего шрифта
px Пиксели
in Дюймы
cm Сантиметры
mm Миллиметры
pt Точки
pc Пики
if x = y then a x = a y
<math>
  <mtext>if</mtext>
  <mspace depth="0.5ex" height="0.5ex" width="1ex" />
    <mi>x</mi>
    <mo>=</mo>
    <mi>y</mi>
  <mspace width="0.5ex" linebreak="newline" />
    <mtext>then</mtext>
  <mspace depth="0.5ex" height="0.5ex" width="1ex" />
    <mi>a</mi>
    <mi>x</mi>
    <mo>=</mo>
    <mi>a</mi>
    <mi>y</mi>
</math>

Элемент mspace часто используется с атрибутом linebreak="newline" для создания разрыва строки, как показано выше.

Как уже указывалось выше, атрибут linebreak на данный момент не работает ни в Chrome, ни в Firefox.

Обратите внимание, что элемент mspace обычно используется как самозакрывающийся тег.

Элемент menclose

Элемент menclose позволяет рисовать линии рядом с дочерними элементами или вокруг них.

x + y
<math>
  <menclose>
    <mi>x</mi>
    <mo>+</mo>
    <mi>y</mi>
  </menclose>
</math>

Выше показан пример элемента menclose без определенного атрибута, другими словами, он использует атрибут по умолчанию — notation="longdiv".

На данный момент атрибут menclose в браузерах на основе Chrome не работает (в Firefox работает).

x + y
<math>
  <menclose notation="box">
    <mi>x</mi>
    <mo>+</mo>
    <mi>y</mi>
  </menclose>
</math>

Выше показан пример элемента menclose с атрибутом notation, установленным в box.

x + y
<math>
  <menclose notation="roundedbox">
    <mi>x</mi>
    <mo>+</mo>
    <mi>y</mi>
  </menclose>
</math>

Выше показан пример элемента menclose с атрибутом notation, установленным в roundedbox.

x + y
<math>
  <menclose notation="left">
    <mi>x</mi>
    <mo>+</mo>
    <mi>y</mi>
  </menclose>
</math>

Выше показан пример элемента menclose с атрибутом notation, установленным в left.

x + y
<math>
  <menclose notation="right left">
    <mi>x</mi>
    <mo>+</mo>
    <mi>y</mi>
  </menclose>
</math>

Выше показан пример элемента menclose с атрибутом notation, установленным в right left.

Атрибут notation элемента menclose имеет много других полезных значений, наиболее полезные значения перечислены ниже.

longdiv
box
roundedbox
circle
left
right
top
bottom
right left
horizontalstrike
updiagonalarrow

Ручное кодирование

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


( −1 ) n θ 2 n + 1
<math>
  <msup>
    <mrow>
      <mo>(</mo>
      <mn>−1</mn>
      <mo>)</mo>
    </mrow>
    <mrow>
      <mi>n</mi>
      <mi>&#x03B8;</mi>
      <mn>2</mn>
      <mi>n</mi>
      <mo>+</mo>
      <mn>1</mn>
    </mrow>
  </msup>
</math>

Сначала напишите код числителя дроби, содержащего комплексный показатель степени.


( 2 n + 1 ) !
<math>
  <mo>(</mo>
  <mn>2</mn>
  <mi>n</mi>
  <mo>+</mo>
  <mn>1</mn>
  <mo>)</mo>
  <mo>!</mo>
</math>

Далее напишите код знаменателя дроби.


( −1 ) n θ 2 n + 1 ( 2 n + 1 ) !
<math>
  <mfrac>
    <msup>
      <mrow>
        <mo>(</mo>
        <mn>−1</mn>
        <mo>)</mo>
      </mrow>
      <mrow>
        <mi>n</mi>
        <mi>&#x03B8;</mi>
        <mn>2</mn>
        <mi>n</mi>
        <mo>+</mo>
        <mn>1</mn>
      </mrow>
    </msup>
    <mrow>
      <mo>(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo>+</mo>
      <mn>1</mn>
      <mo>)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
</math>

Затем используйте элемент <mfrac> для создания дроби.


( −1 ) n θ 2 n + 1 ( 2 n + 1 ) !
<math>
  <mo>&#x2211;</mo>
  <mfrac>
    <mrow>
      <msup>
        <mrow>
          <mo>(</mo>
          <mn>−1</mn>
          <mo>)</mo>
        </mrow>
        <mrow>
          <mi>n</mi>
          <mi>&#x03B8;</mi>
          <mn>2</mn>
          <mi>n</mi>
          <mo>+</mo>
          <mn>1</mn>
        </mrow>
      </msup>
    </mrow>
    <mrow>
      <mo>(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo>+</mo>
      <mn>1</mn>
      <mo>)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
</math>

Затем поместите код символа суммирования перед дробью.


n0 ( −1 ) n θ 2 n + 1 ( 2 n + 1 ) !
<math>
  <munder>
    <mrow><ms lquote=" " rquote=" ">&#x2211;</ms></mrow>
    <mrow><mi>n</mi><mo>&#x2265;</mo><mn>0</mn></mrow>
  </munder>
  <mfrac>
    <mrow>
      <msup>
        <mrow>
          <mo>(</mo>
          <mn>−1</mn>
          <mo>)</mo>
        </mrow>
        <mrow>
          <mi>n</mi>
          <mi>&#x03B8;</mi>
          <mn>2</mn>
          <mi>n</mi>
          <mo>+</mo>
          <mn>1</mn>
        </mrow>
      </msup>
    </mrow>
    <mrow>
      <mo>(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo>+</mo>
      <mn>1</mn>
      <mo>)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
</math>

Затем используйте элемент <munder>, чтобы поместить диапазон под символом суммирования.


sin θ = n0 ( −1 ) n θ 2 n + 1 ( 2 n + 1 ) !
<math>
  <mi>sin</mi>
  <mi>&#x03B8;</mi>
  <mo>=</mo>
  <munder>
    <mrow><ms lquote=" " rquote=" ">&#x2211;</ms></mrow>
    <mrow><mi>n</mi><mo>&#x2265;</mo><mn>0</mn></mrow>
  </munder>
  <mfrac>
    <mrow>
      <msup>
        <mrow>
          <mo>(</mo>
          <mn>−1</mn>
          <mo>)</mo>
        </mrow>
        <mrow>
          <mi>n</mi>
          <mi>&#x03B8;</mi>
          <mn>2</mn>
          <mi>n</mi>
          <mo>+</mo>
          <mn>1</mn>
        </mrow>
      </msup>
    </mrow>
    <mrow>
      <mo>(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo>+</mo>
      <mn>1</mn>
      <mo>)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
</math>

Затем закодируйте левую часть и знак равенства уравнения.


sin θ = n0 ( −1 ) n θ 2 n + 1 ( 2 n + 1 ) !
<math>
  <mi>sin</mi>
  <mi>θ</mi>
  <mo>=</mo>
  <munder>
    <mrow><ms lquote=" " rquote=" ">∑</ms></mrow>
    <mrow><mi>n</mi><mo>≥</mo><mn>0</mn></mrow>
  </munder>
  <mfrac>
    <mrow>
      <msup>
        <mrow>
          <mo>(</mo>
          <mn>−1</mn>
          <mo>)</mo>
        </mrow>
        <mstyle mathsize="big">
          <mrow>
            <mi>n</mi>
            <mi>θ</mi>
            <mn>2</mn>
            <mi>n</mi>
            <mo>+</mo>
            <mn>1</mn>
          </mrow>
        </mstyle>
      </msup>
    </mrow>
    <mrow>
      <mo>(</mo>
      <mn>2</mn>
      <mi>n</mi>
      <mo>+</mo>
      <mn>1</mn>
      <mo>)</mo>
      <mo>!</mo>
    </mrow>
  </mfrac>
</math>

Возможно, вы заметили, что размер текста показателя степени в числителе дроби очень мал. Вы можете исправить это, используя элемент <mstyle> с атрибутом mathsize, установленным в big.

На данный момент для атрибута mathsize в Chrome работают только значения px, %, em и ex. В Firefox работают только значения px и ex. Значения small, normal и big не работают в обоих браузерах.

Примеры

Закон гравитации Ньютона

F = G m 1 m 2 d 2
<math>
  <mi>F</mi>
  <mo>=</mo>
  <mi>G</mi>
  <mfrac>
    <mrow>
    <msub>
      <mi>m</mi>
      <mn>1</mn>
    </msub>
    <msub>
      <mi>m</mi>
      <mn>2</mn>
    </msub>
    </mrow>
    <mrow>
      <msub>
        <mi>d</mi>
        <mn>2</mn>
      </msub>
    </mrow>
  </mfrac>
</math>

Квадратичная формула

x = b ± b 2 4 a c 2 a
<math>
  <mi>x</mi>
  <mo>=</mo>
  <mfrac>
    <mrow>
      <mo>−</mo>
      <mi>b</mi>
      <mo>&#x00B1;</mo>
      <msqrt>
        <mrow>
          <msup>
            <mi>b</mi>
            <mo>2</mo>
          </msup>
          <mo>−</mo>
          <mn>4</mn>
          <mi>a</mi>
          <mi>c</mi>
        </mrow>
      </msqrt>
    </mrow>
    <mrow>
      <mo>2</mo>
      <mi>a</mi>
    </mrow>
  </mfrac>
</math>

Середина прямой

( x m , y m ) = ( x 1 + x 2 2 , y 1 + y 2 2 )
<math>
  <mo>(</mo>
  <msub>
    <mi>x</mi>
    <mi>m</mi>
  </msub>
  <mo>,</mo>
  <msub>
    <mi>y</mi>
    <mi>m</mi>
  </msub>
  <mo>)</mo>
  <mo>=</mo>
  <mo>(</mo>
  <mfrac>
    <mrow>
      <msub>
        <mi>x</mi>
        <mo>1</mo>
      </msub>
      <mo>+</mo>
      <msub>
        <mi>x</mi>
        <mo>2</mo>
      </msub>
    </mrow>
    <mo>2</mo>
  </mfrac>
  <mo>,</mo>
  <mfrac>
    <mrow>
      <msub>
        <mi>y</mi>
        <mo>1</mo>
      </msub>
      <mo>+</mo>
      <msub>
        <mi>y</mi>
        <mo>2</mo>
      </msub>
    </mrow>
    <mo>2</mo>
  </mfrac>
  <mo>)</mo>
</math>

Площадь поверхности конуса

r = радиус основания

h = высота конуса

A = π r ( r + h 2 + r 2 )
<math>
  <mi>A</mi>
  <mo>=</mo>
  <mo>&#x03C0;</mo>
  <mi>r</mi>
  <mo>(</mo>
  <mi>r</mi>
  <mo>+</mo>
  <msqrt>
    <mrow>
      <msup>
        <mi>h</mi>
        <mn>2</mn>
      </msup>
      <mo>+</mo>
      <msup>
        <mi>r</mi>
        <mn>2</mn>
      </msup>
    </mrow>
  </msqrt>
  <mo>)</mo>
</math>

Нормальное распределение вероятностей

φ ( x ) = 1 2 π σ e ( x μ ) 2 2 σ 2
<math>
  <mrow>
    <mi>&#x03C6;</mi>
    <mo>(</mo>
    <mi>x</mi>
    <mo>)</mo>
    <mo>=</mo>
  </mrow>
  <msup>
    <mrow>
    <mfrac>
      <mn>1</mn>
      <msqrt>
        <mrow>
          <mn>2</mn>
          <mo>&#x03C0;</mo>
          <mo>&#x03C3;</mo>
        </mrow>
      </msqrt>
    </mfrac>
    </mrow>
    <mrow>
      <msup>
        <mi>e</mi>
        <mrow>
          <mfrac>
          <mrow>
            <msup>
              <mrow>
              <mo>(</mo>
              <mi>x</mi>
              <mo>−</mo>
              <mi>&#x03BC;</mi>
              <mo>)</mo>
              </mrow>
              <mn>2</mn>
            </msup>
          </mrow>
          <mrow>
            <mn>2</mn>
            <msup>
              <mo>&#x03C3;</mo>
              <mn>2</mn>
            </msup>
          </mrow>
          </mfrac>
        </mrow>
      </msup>
    </mrow>
    </msup>
</math>

Интеграл с ограничениями

a b ( 5 x + 2 sin ( x ) ) dx
<math>
  <munderover>
    <mo>&#x222B;</mo>
    <mi>a</mi>
    <mi>b</mi>
  </munderover>
  <mrow>
    <mo>(</mo>
    <mn>5</mn>
    <mi>x</mi>
    <mo>+</mo>
    <mn>2</mn>
    <mi>sin</mi>
    <mo>(</mo>
    <mi>x</mi>
    <mo>)</mo>
    <mo>)</mo>
    <mi>dx</mi>
  </mrow>
</math>

Тригонометрические тождества

sin θ 2 = ± 1 cos θ 2
<math>
  <mi>sin</mi>
  <mfrac>
    <mi>&#x03B8;</mi>
    <mn>2</mn>
  </mfrac>
  <mo>=</mo>
  <mo>&#x00B1;</mo>
  <msqrt>
    <mfrac>
      <mrow>
        <mn>1</mn>
        <mo>−</mo>
        <mi>cos</mi>
        <mi>&#x03B8;</mi>
      </mrow>
      <mn>2</mn>
    </mfrac>
  </msqrt>
</math>

cos θ 2 = ± 1 cos θ 2
<math>
  <mi>cos</mi>
  <mfrac>
    <mi>&#x03B8;</mi>
    <mn>2</mn>
  </mfrac>
  <mo>=</mo>
  <mo>&#x00B1;</mo>
  <msqrt>
    <mfrac>
      <mrow>
        <mn>1</mn>
        <mo>−</mo>
        <mi>cos</mi>
        <mi>&#x03B8;</mi>
      </mrow>
      <mn>2</mn>
    </mfrac>
  </msqrt>
</math>

tan θ 2 = sin θ 1 + cos θ = 1 cos θ sin θ
<math>
  <mi>tan</mi>
  <mfrac>
    <mi>&#x03B8;</mi>
    <mn>2</mn>
  </mfrac>
  <mo>=</mo>
  <mfrac>
    <mrow>
      <mi>sin</mi>
      <mi>&#x03B8;</mi>
    </mrow>
    <mrow>
      <mn>1</mn>
      <mo>+</mo>
      <mi>cos</mi>
      <mi>&#x03B8;</mi>
    </mrow>
  </mfrac>
  <mo>=</mo>
  <mfrac>
    <mrow>
      <mn>1</mn>
      <mo>−</mo>
      <mi>cos</mi>
      <mi>&#x03B8;</mi>
    </mrow>
    <mrow>
      <mi>sin</mi>
      <mi>&#x03B8;</mi>
    </mrow>
  </mfrac>
</math>

Количество способов разрезать правильный многоугольник на треугольники

C n 4 n n 3 2 π
<math>
  <msub>
    <mi>C</mi>
    <mi>n</mi>
  </msub>
  <mo>≈</mo>
  <mfrac>
    <msup>
      <mn>4</mn>
      <mi>n</mi>
    </msup>
    <mrow>
      <msup>
        <mi>n</mi>
        <mfrac>
          <mn>3</mn>
          <mn>2</mn>
        </mfrac>
      </msup>
      <msqrt>
        <mo>π</mo>
      </msqrt>
    </mrow>
  </mfrac>
</math>

Приложение

Греческий алфавит

Буква Entity Hex
Α α &Alpha; &alpha; &#x0391; &#x03B1;
Β β &Beta; &beta; &#x0392; &#x03B2;
Γ γ &Gamma; &gamma; &#x0393; &#x03B3;
Δ δ &Delta; &delta; &#x0394; &#x03B4;
Ε ε &Epsilon; &epsilon; &#x0395; &#x03B5;
Ζ ζ &Zeta; &zeta; &#x0396; &#x03B6;
Η η &Eta; &eta; &#x0397; &#x03B7;
Θ θ &Theta; &theta; &#x0398; &#x03B8;
Ι ι &Iota; &iota; &#x0399; &#x03B9;
Κ κ &Kappa; &kappa; &#x039A; &#x03BA;
Λ λ &Lambda; &lambda; &#x039B; &#x03BB;
Μ μ &Mu; &mu; &#x039C; &#x03BC;
Ν ν &Nu; &nu; &#x039D; &#x03BD;
Ξ ξ &Xi; &xi; &#x039E; &#x03BE;
Ο ο &Omicron; &omicron; &#x039F; &#x03BF;
Π π &Pi; &pi; &#x03A0; &#x03C0;
Ρ ρ &Rho; &rho; &#x03A1; &#x03C1;
Σ σ &Sigma; &sigma; &#x03A3; &#x03C3;
Τ τ &Tau; &tau; &#x03A4; &#x03C4;
Υ υ &Upsilon; &upsilon; &#x03A5; &#x03C5;
Φ φ &Phi; &phi; &#x03A6; &#x03C6;
Χ χ &Chi; &chi; &#x03A7; &#x03C7;
Ψ ψ &Psi; &psi; &#x03A8; &#x03C8;
Ω ω &Omega; &omega; &#x03A9; &#x03C9;

Операторы

Символ Entity Hex Описание
&minus; &#x2212; Вычитание
× &times; &#x00D7; Умножение
÷ &divide; &#x00F7; Деление
&ne; &#x2260; Неравно
&asymp; &#x2248; Подобно
< &lt; &#x003C; Меньше
&le; &#x2264; Меньше или равно
> &gt; &#x003E; Больше
&ge; &#x2265; Больше или равно
± &plusmn; &#x00B1; Плюс или минус
&prop; &#x221D; Пропорционально
&sum; &#x2211; Сумма
&prod; &#x220F; Продукт

Дифференциал/Интеграл

Символ Entity Hex Описание
&prime; &#x2032; Первая производная
&Prime; &#x2033; Вторая производная
&tprime; &#x2034; Третья производная
&qprime; &#x2057; Четвертая производная
&part; &#x2202; Частная производная
Δ &Delta; &#x0394; Прирост
&Del; &#x2207; Градиент
&int; &#x222B; Интеграл
&Int; &#x222C; Двойной интеграл
&tint; &#x222D; Тройной интеграл
&qint; &#x2A0C; Квадрупельный интеграл
&conint; &#x222E; Криволинейный интеграл
&cwconint; &#x2232; Линейный интеграл по часовой стрелке
&awconint; &#x2233; Линейный интеграл против часовой стрелки
&Conint; &#x222F; Интеграл поверхности
&Cconint; &#x2230; Интеграл объема
&infin; &#x221E; Бесконечность

Точки

Символ Entity Hex Описание
&hellip; &#x2026; Горизонтальные точки
&vellip; &#x22EE; Вертикальные точки
&ctdot; &#x22EF; Горизонтальные точки по центру
&utdot; &#x22F0; Диагональные точка справа вверху
&dtdot; &#x22F1; Диагональные точки справа внизу

Геометрия

Символ Entity Hex Описание
° &deg; &#x00B0; Степень
&ang; &#x2220; Угол
&angmsd; &#x2221; Измеренный угол
&angrt; &#x221F; Прямой угол
&vangrt; &#x299C; Прямой угол с квадратом ( не отображается)
&lrtri; &#x22BF; Треугольник
&cir; &#x25CB; Круг
&xutri; &#x25B3; Треугольник
&squ; &#x25A1; Площадь
&fltns; &#x25B1; Параллелограмм
&spar; &#x2225; Параллель
&npar; &#x2226; Не параллельно
&perp; &#x22A5; Ортогонально
&cong; &#x2245; Конгруэнтно
&rarr; &#x2192; Strahl
&harr; &#x2194; Луч
- (n/a) &#x002D; Сегмент линии

Логика

Символ Entity Hex Описание
¬ &not; &#x00AC; Отрицание
&and; &#x2227; И
&or; &#x2228; ИЛИ
&veebar; &#x22BB; Исключающее ИЛИ
&forall; &#x2200; Для всех
&exist; &#x2203; Существует
&rArr; &#x21D2; Вовлечение
&hArr; &#x21D4; Эквивалентный
&EmptySmallSquare; &#x25FB; Необходимый
&loz; &#x25CA; Возможный
&vdash; &#x22A2; Поддающийся проверке
&vDash; &#x22A8; Следует
&there4; &#x2234; От этого

Множества

Символ Entity Hex Описание
&empty; &#x2205; Пустое множество
&isin; &#x2208; Элемент из
&notin; &#x2209; Не элемент
&sube; &#x2286; подмножества
&nsube; &#x2288; Не подмножество
&sub; &#x2282; Строгое подмножество
&nsub; &#x2284; Не строгое подмножество
&supe; &#x2287; надмножество
&nsupe; &#x2289; Не надмножество
&sup; &#x2283; Строгое надмножество
&nsup; &#x2285; Не строгое надмножество
&cap; &#x2229; Пересечение
&cup; &#x222A; Союз
&ssetmn; &#x2216; Дополнительный

Векторы

Символ Entity Hex Описание
&sdot; &#x22C5; Скалярное произведение
&Cross; &#x2A2F; Перекрестное произведение
&Vert; &#x2016; Норма
&lang; &#x27E8; Левая скобка
&rang; &#x27E9; Правая скобка
&compfn; &#x2218; Внутреннее произведение
&rarr; &#x2192; Общее отображение
&mapsto; &#x21A6; Отображение
ı &imath; &#x0131; i без точки
ȷ &jmath; &#x0237; j без точки