В математике и физике встречаются интегралы двух типов: неопределённый и определённый. Различаются они наличием пределов интегрирования.
|
|
Неопределённый интеграл |
Определённый интеграл |
Неопределённый интеграл с помощью MathML отобразить проще всего — это символ ∫, который вставляется в элемент <mo>.
<math display="block">
<mo>∫</mo>
<mi>d</mi>
<mi>x</mi>
</math>
Для более сложных видов интегралов есть и другие математические символы:
- ∫ — интеграл;
- ∬ — двойной интеграл;
- ∭ — тройной интеграл.
В примере 1 показано использование неопределённого интеграла.
Пример 1. Неопределённый интеграл
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>MathML</title>
</head>
<body>
<p>Применяя формулу интегрирования по частям, найдите следующий
неопределённый интеграл:</p>
<math display="block">
<mo>∫</mo>
<mi>x</mi>
<mo>ln</mo>
<mi>x</mi>
<mi>d</mi>
<mi>x</mi>
<mtext>.</mtext>
</math>
</body>
</html>
Для написания определённого интеграла в MathML применяется элемент <munderover>, схематично его можно представить так.
<munderover>
∫
Нижний предел
Верхний предел
</munderover>
К примеру, код MathML для интеграла с пределами от 0 до 1 будет следующим.
<math display="block">
<munderover>
<mo>∫</mo>
<mn>0</mn>
<mn>1</mn>
</munderover>
</math>
В примере 2 показано использование элемента <munderover> для интеграла.
Пример 2. Определённый интеграл
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>MathML</title>
</head>
<body>
<p>Найдите производную следующей функции:</p>
<math display="block">
<mi>Φ</mi>
<mo fence="true" form="prefix" stretchy="false">(</mo>
<mi>x</mi>
<mo fence="true" form="postfix" stretchy="false">)</mo>
<mo>=</mo>
<munderover>
<mo>∫</mo>
<mn>0</mn>
<mi>x</mi>
</munderover>
<msup>
<mi>t</mi>
<mn>2</mn>
</msup>
<mi>sin</mi>
<mi>t</mi>
<mi>d</mi>
<mi>t</mi>
<mtext>.</mtext>
</math>
</body>
</html>
Для более компактного отображения определённых интегралов, вместо <munderover> можно использовать элемент <msubsup>. Он выводит пределы не сверху, а справа от символа интеграла и схематично пишется так.
<msubsup>
∫
Нижний предел
Верхний предел
</msubsup>
В примере 3 показано использование <msubsup> для отображения определённого интеграла.
Пример 3. Элемент <msubsup>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>MathML</title>
</head>
<body>
<p>Вычислите следующий интеграл:</p>
<math display="block">
<msubsup>
<mo>∫</mo>
<mrow>
<mo>−</mo>
<mi>π</mi>
<mo>/</mo>
<mn>4</mn>
</mrow>
<mrow>
<mi>π</mi>
<mo>/</mo>
<mn>3</mn>
</mrow>
</msubsup>
<mi>sin</mi>
<mi>x</mi>
<mi>d</mi>
<mi>x</mi>
<mtext>.</mtext>
</math>
</body>
</html>
Интеграл может отображаться в двух разных вариантах — обычном и компактном, что зависит от использования атрибута display элемента <math>.
|
|
Обычное написание |
Компактное написание |
- <math display="block"> — обычное написание.
- <math> — компактное написание.
При компактном написании интеграл отображается несколько уменьшенного размера, чтобы уместиться в строку текста (пример 4).
Пример 4. Интеграл в предложении
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>MathML</title>
</head>
<body>
<p>Найдите все решения уравнения
<math>
<munderover>
<mo>∫</mo>
<mn>0</mn>
<mi>⍺</mi>
</munderover>
<mi>cos</mi>
<mo fence="true" form="prefix" stretchy="false">(</mo>
<mi>x</mi>
<mo>+</mo>
<msup>
<mi>⍺</mi>
<mn>2</mn>
</msup>
<mo fence="true" form="postfix" stretchy="false">)</mo>
<mi>d</mi><mi>x</mi>
<mo>=</mo>
<mi>sin</mi>
<mi>⍺</mi>
</math>, принадлежащие отрезку [2; 3].</p>
</body>
</html>
Для стилизации интегралов к элементам <mo>, <munderover> (или <msubsup>) следует добавить класс .int и для него уже задавать оформление. Поскольку пределы интегрирования могут быть как числом, так и переменной, можно обращаться к ним по порядковому номеру. Для этого используем псевдокласс :nth-child().
.int :nth-child(3) {
color: blue;
}
С учётом псевдокласса у нас будут следующие селекторы для изменения стиля отдельных фрагментов интеграла.
.int { … } /* Стиль для всего интеграла */
.int > :nth-child(1) { … } /* Стиль для знака интеграла ∫ */
.int > :nth-child(2) { … } /* Стиль для нижнего предела */
.int > :nth-child(3) { … } /* Стиль для верхнего предела */
В примере 5 показано подключение математического шрифта для единообразного отображения формул в разных браузерах, а также изменения цвета пределов интегрирования.
Пример 5. Цвет текста
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>MathML</title>
<style>
@font-face {
font-family: STIXTwoMath;
src: url(/example/font/STIXTwoMath-Regular.woff2);
}
math {
font-family: STIXTwoMath; /* Шрифт */
}
.int :nth-child(2),
.int :nth-child(3) {
color: blue; /* Синий цвет */
}
</style>
</head>
<body>
<p>Доказать, что если функция <i>f(x)</i>,
<i>x ∈ [−a; a]</i>, нечётная, то</p>
<math display="block">
<munderover class="int">
<mo>∫</mo>
<mrow>
<mo>−</mo>
<mi>a</mi>
</mrow>
<mi>a</mi>
</munderover>
<mi>f</mi>
<mo fence="true" form="prefix" stretchy="false">(</mo>
<mi>x</mi>
<mo fence="true" form="postfix" stretchy="false">)</mo>
<mi>d</mi><mi>x</mi>
<mo>=</mo>
<mn>0</mn>
<mtext>.</mtext>
</math>
</body>
</html>