Работа в системе Moodle

6 Формулы в TeX

Многие наверняка знают, что писать математические формулы в тегах HTML не очень удобно, а для некоторых сложных формул это сделать просто невозможно. С другой стороны LaTeX даёт возможность набора красивых математических формул. Но как совместить код LaTeX с HTML? Для этого нужно преобразовать формулу в графическое изображение и вставлять формулу в страничку сайта или в сообщение форума уже в виде рисунка с прозрачным фоном. Для этого существуют специальные конвертеры. Один такой конвертер активируется на нашем сайте, если формулу в формате LaTeX (TeX) заключить в теги $.$ и $.$:

$.$z=x+y$.$ даёт результат:

Степени и индексы · Дроби · Скобки · Некоторые функции · Корни · Интегралы и дифференциалы · Нумерация формул · Цвета · Неравенства · Штрихи и многоточия · Некоторые символы · Греческие буквы · Символы бинарных операций · Символы бинарных отношений · Стрелки · Крышки, подчеркивания, перечёркивания · Шрифты · Таблицы и матрицы · Кириллица · Графика · Примеры · Вики

Степени и индексы

Степени и индексы набираются с помощью знаков ^ и _ соответственно. Если показатель степени или индекс являются выражением, состоящим более чем из одного символа, то их надо заключать в фигурные скобки { и }. Например, следующие выражения (далее теги $.$ и $.$ в коде опускаются) преобразуются в формулы:

a^2 + b^2 = c^2
a_2 + b_2 = c_2
a^{10} + b_{10} = c_10
a^{b^{c}} 

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

a_{10}^{20}
a^2_3

Если требуется, чтобы индексы располагались не один под другим, а на разных расстояниях от выражения, к которому они относятся, то нужно оформить часть индексов как индексы к "пустой" формуле (паре из открывающей и закрывающей фигурных скобок):

R_j{}^i{}_{kl}

Если требуется, чтобы индексы располагались не рядом, а над (под) выражением, то используются команды \underset{индекс}{выражение}, \overset{индекс}{выражение}, \sideset{левые индексы}{правые индексы}{выражение}, {выражение}^\substack{первая строка \\ вторая строка \\ третья строка}, {выражение}_\substack{первая строка \\ вторая строка \\ третья строка}:

\overset{0}{Ca}+2\overset{+1}{H_2}\overset{-2}{O}=\overset{+2}{Ca}
 
\underset{k=0}{N} 
 
\underset{i=1}{\overset{\infty}{X_i}}
 
\sideset{_1^2}{_3^4} \prod_k
 
\sum^{\substack{ первая \\ втора я \\ третья }}_{\substack{четвёртая \\ пятая}} \frac{x}{y}
 
\sum_{\substack{ n_1, n_2, \dots, n_r \\ n_1 + n_2 + \ldots + n_r = n \\ n_1, n_2, \dots, n_r > 0 }} \frac{n!}{n_1!\,n_2!\cdots n_r!}

Дроби

Дроби, обозначаемые косой чертой, набираются непосредственно:

x + 1/x

Дроби, в которых числитель расположен над знаменателем, набираются с помощью команды \frac{числитель}{знаменатель}. Эта команда имеет два аргумента — числитель и знаменатель:

\frac{(a+b )^2}{4} - \frac{(a-b )^2}{4} = ab

И ещё один тип дроби, доступный на нашем сайте (и только на нём), определяется командой \df{числитель}{знаменатель}:

\df{1-2x}{2x^2}
\df 12
\df мс
\df м{с^2}

Скобки

Круглые и квадратные скобки набираются непосредственно. Для набора фигурных скобок используются команды \{ \}. Например,

f\{x,y\}=(x^2+y^2)^2

Другие типы скобок набираются с помощью команд \lceil, \rceil, \lfloor, \rfloor, \langle, \rangle. Например,

\lceil X \rceil, \lfloor Y \rfloor, \langle Z \rangle

Для автоматического выбора размера скобок используются команды \left и \right, помещаемые перед открывающей и перед закрывающей скобками соответственно. Сравните:

( x + \frac{1}{1+\frac{1}{x}} )^{\frac{2}{3}}
\left( x + \frac{1}{1+\frac{1}{x}} \right)^{\frac{2}{3}}
\left| \frac{2x^2-a}{x+b} \right|
\left. \frac{dy}{dx} \right|_{x=0}^{n}

Принудительное указание размера скобок:

\big( \Big( \bigg( \Bigg(
\big} \Big] \bigg{ \Bigg[
\big \langle \Bigg \rangle \bigg<

Некоторые функции

Функции, имена которых принято набирать прямым шрифтом, набираются с помощью специальных команд, причем команда, как правило, совпадает с именем функции. Приведем полный список функций

\arg, \cos, \cosh, \cot, \coth, \csc, \ctg
\det, \dim, \exp, \gcd, \hom, \inf,
\ker, \lg, \ln, \log, \max, \min,
\sec, \sin, \sinh, \sup, \tan, \tg, \tanh,
\arccos, \arcctg, \arcsin, \arctan, \arctg

Например, 

y=\cos x + \tg x

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

\log_{2}x
\min_{i \in [a, b]}

Корни

Корни набираются с помощью команды \sqrt[n]{выражение}, обязательным аргументом которой является подкоренное выражение. Кроме обязательного аргумента можно указать необязательный аргумент, заключаемый в квадратные скобки, который является показателем корня.

\sqrt{x+1}
\sqrt[3]{x+1}

Интегралы и дифференциалы

В этом разделе собраны символы, наиболее часто используемые в дифференциальном и интегральном исчислении.

\int интеграл
\iint двойной интеграл
\iiint тройной интеграл
\oint круговой интеграл
\partial частная производная
\infty бесконечность
\lim предел
\to стрелка (в пределах)

Примеры использования:

\int_{0}^{3} f(x) dx
\oint \vec{F} \cdot d\vec{s}=0
\iint_{x^2 + y^2 = 1} f(x, y) dx dy 
\iiint_{x^2 + y^2 + z^2 = 1} f(x, y, z) dx dy dz

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

\int \int_{x^2 + y^2 = 1} f(x, y) dx dy 
dz = \frac{\partial z}{\partial x} dx + \frac{\partial z}{\partial y} dy
\lim_{x \to \infty} \left(1 + \frac{1}{n} \right)^n = e

Нумерация формул

Номер формулы задаётся командой \tag{номер}:

x=A^{-1}b; \tag{2.5}
\begin{align}  
x & =A^{-1}b; \tag{*} \\  
b-x & > 0;  \\  
x^2-3x+2 & \le x_0; \tag{**} 
\end{align}

Цвета

Цветные символы вставляются в формулу директивой \color{название_цвета}. Если расцветить нужно не всю формулу целиком, а только некоторые символы, то эти символы вместе с директивой берут в фигурные скобки:

\color{Blue}{x^2}+{\color{DarkRed}{2x}}-{\color{Green}1}

В Википедии перечислены следующие доступные цвета:

Apricot Aquamarine Bittersweet Black Blue BlueGreen BlueViolet \begin{matrix}   & \color{Apricot}\blacksquare & \color{Aquamarine}\blacksquare & \color{Bittersweet}\blacksquare & \color{Black}\blacksquare & \color{Blue}\blacksquare & \color{BlueGreen}\blacksquare & \color{BlueViolet}\blacksquare\\   & \color{BrickRed}\blacksquare & \color{Brown}\blacksquare & \color{BurntOrange}\blacksquare & \color{CadetBlue}\blacksquare & \color{CarnationPink}\blacksquare & \color{Cerulean}\blacksquare & \color{CornflowerBlue}\blacksquare\\   & \color{Cyan}\blacksquare & \color{Dandelion}\blacksquare & \color{DarkOrchid}\blacksquare & \color{Emerald}\blacksquare & \color{ForestGreen}\blacksquare & \color{Fuchsia}\blacksquare & \color{Goldenrod}\blacksquare\\   & \color{Gray}\blacksquare & \color{Green}\blacksquare & \color{GreenYellow}\blacksquare & \color{JungleGreen}\blacksquare & \color{Lavender}\blacksquare & \color{LimeGreen}\blacksquare & \color{Magenta}\blacksquare\\   & \color{Mahogany}\blacksquare & \color{Maroon}\blacksquare & \color{Melon}\blacksquare & \color{MidnightBlue}\blacksquare & \color{Mulberry}\blacksquare & \color{NavyBlue}\blacksquare & \color{OliveGreen}\blacksquare\\   & \color{Orange}\blacksquare & \color{OrangeRed}\blacksquare & \color{Orchid}\blacksquare & \color{Peach}\blacksquare & \color{Periwinkle}\blacksquare & \color{PineGreen}\blacksquare & \color{Plum}\blacksquare\\   & \color{ProcessBlue}\blacksquare & \color{Purple}\blacksquare & \color{RawSienna}\blacksquare & \color{Red}\blacksquare & \color{RedOrange}\blacksquare & \color{RedViolet}\blacksquare & \color{Rhodamine}\blacksquare\\   & \color{RoyalBlue}\blacksquare & \color{RoyalPurple}\blacksquare & \color{RubineRed}\blacksquare & \color{Salmon}\blacksquare & \color{SeaGreen}\blacksquare & \color{Sepia}\blacksquare & \color{SkyBlue}\blacksquare\\   & \color{SpringGreen}\blacksquare & \color{Tan}\blacksquare & \color{TealBlue}\blacksquare & \color{Thistle}\blacksquare & \color{Turquoise}\blacksquare & \color{Violet}\blacksquare & \color{VioletRed}\blacksquare\\   & \color{White}\blacksquare & \color{WildStrawberry}\blacksquare & \color{Yellow}\blacksquare & \color{YellowGreen}\blacksquare & \color{YellowOrange}\blacksquare &  &\end{matrix}
BrickRed Brown BurntOrange CadetBlue CarnationPink Cerulean CornflowerBlue
Cyan Dandelion DarkOrchid Emerald ForestGreen Fuchsia Goldenrod
Gray  Green  GreenYellow  JungleGreen  Lavender  LimeGreen  Magenta
Mahogany  Maroon  Melon  MidnightBlue  Mulberry  NavyBlue  OliveGreen
Orange  OrangeRed  Orchid  Peach  Periwinkle  PineGreen  Plum
ProcessBlue  Purple  RawSienna  Red  RedOrange  RedViolet  Rhodamine
RoyalBlue  RoyalPurple  RubineRed  Salmon  SeaGreen  Sepia  SkyBlue
SpringGreen  Tan  TealBlue  Thistle  Turquoise  Violet  VioletRed
White  WildStrawberry  Yellow  YellowGreen  YellowOrange

Правда, из этой таблицы у меня работают не все, зато сработали некоторые отсутствующие. Так что, проверяйте!

Неравенства

Строгие неравенства набираются непосредственно: a < b, a > b, или командами \lt, \gt
Для нестрогих неравенств используются команды \leq и \geq, \le и \ge:

a\leq b
a\ge b

Штрихи и многоточия

По правилам штрих, обозначающий производную, набирается с помощью директивы \prime, однако знак ' (апостроф) выглядит точно так же, поэтому можно использовать и его. Но при этом если количество штрихов три и более, то апострофы необходимо взять в фигурные скобки: 

f^\prime(x)
f^{\prime\prime\prime}(x)
f'(x)
f''(x)
f{'''}(x)

Различают многоточия по центру строки (команда \cdots) и по низу строки (команда \ldots):

a_1 + a_2 + \cdots + a_n 
a_1 + a_2 + \ldots + a_n

Некоторые символы

\EDS
60\degree
23\celsius
\varnothing
25\%

Поскольку символ % является служебным (с его помощью оформляются комментарии), его необходимо «экранировать» (поставить перед ним обратный слэш \). Точно так же обратный слэш требуется ставить перед всеми служебными символами ({, }, \, $ и др.), когда необходимо, чтобы они отображались в формуле.

Греческие буквы

Имя команды, задающей греческую букву совпадает с английским названием этой буквы. Исключение составляет буква "o" (омикрон), она совпадает с латинской буквой "o", поэтому специальной команды для нее не предусмотрено. Кроме того, некоторые греческие буквы имеют по два варианта написания.

\alpha \beta \gamma
\delta \epsilon \varepsilon
\zeta \eta \theta
\vartheta \iota \kappa
\lambda \mu \nu
\xi \pi \varpi
\rho \varrho \sigma
\varsigma \tau \upsilon
\phi \varphi \chi
\psi \omega

Большинство прописных греческих букв совпадает по начертанию с латинскими буквами, поэтому специальных команд для них не предусмотрено — надо просто использовать соответствующую латинскую букву. Приведем перечень прописных греческих букв, не совпадающих с латинскими:

\Gamma, \Delta, \Theta, \Lambda, \Xi, \Pi, \Sigma, \Upsilon, \Phi, \Psi, \Omega

Символы бинарных операций

При выводе символов бинарных операций оставляются небольшие пробелы по обе стороны от знака. Вот список символов бинарных операций:

+ - *
\pm \mp \times
\div \setminus \cdot
\circ \bullet \cap
\cup \uplus \sqcap
\sqcup \vee \wedge
\oplus \ominus \otimes
\odot \oslash \triangleleft
\triangleright \amalg \diamond
\wr \star \dagger
\ddagger \bigtriangleup \bigcirc
\bigtriangledown

Символы бинарных отношений

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

< > =
: \le \ge
\ne \sim \simeq
\approx \equiv
\ll \gg \lll \ggg
\parallel \perp \in
\notin \ni \subset
\subseteq \supset \supseteq
\succ \prec \succeq
\preceq \asymp \sqsubseteq
\sqsupseteq \vdash
\dashv \smile \frown
\mid \sqsubset \sqsupset

Стрелки

В LaTeX существует достаточно много различных стрелок. Большинство из них собрано в следующей таблице:

\to \longrightarrow
\Rightarrow \Longrightarrow
\mapsto
\leftarrow \longleftarrow
\Letfarrow \Longleftarrow
\leftrightarrow \longleftrightarrow
\Leftrightarrow \Longleftrightarrow
\uparrow \Uparrow
\downarrow \Downarrow
\nearrow \searrow
\swarrow \nwarrow
\leftharpoondown \leftharpoonup
\rightharpoondown \rightharpoonup
\rightleftharpoons

Крышки, подчеркивания, перечёркивания

Команды для создания крышек, подчеркиваний и других подобных знаков имеют вид \<имя>{выражение}, где <имя> — имя команды. Вот они:

\hat{A} \check{A} \breve{A} \acute{A} \grave{A}
\tilde{A} \bar{A} \vec{A} \dot{A} \ddot{A}

Можно использовать также следующие команды:

\widetilde{ABC} \widehat{ABC} \overline{ABC}
\overbrace{ABC} \underbrace{ABC} \underline{ABC}
\hat{ABC} \widehat{ABC}
\tilde{ABC} \widetilde{ABC}

И для перечёркивания:

\cancel{abc}
\bcancel{abc}
\xcancel{abc}
\cancelto{H_2}{H_2O}

Шрифты

Для смены шрифтов используются команды вида \<тип шрифта>, приведенные в следующей таблице:

\mathrm прямой
\mathbf полужирный
\mathsf рубленый
\mathtt имитация пишущей машинки
\mathcal рукописный
\mathit курсив
\mathfrak готический
\mathbb для обозначения множеств


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

Имеется восемь размеров шрифта, эти размеры соответствуют следующим директивам TeX:

0 \tiny  
1 \small  
2 \normalsize  по умолчанию
3 \large
4 \Large  
5 \LARGE  
6 \huge  
7 \Huge  

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

abcdefg -{\huge abcdefg}- abcdefg

Пример уменьшения шрифта в формуле:

m_{\small{H_2O}}=V\rho_{\small{H_2O}}
y=e^{x^2}
та же формула с директивами размера:
\Large y=e^{\large x^{\tiny2}}

Таблицы и матрицы

Для набора таблиц используются команды \begin{array}{xx...x} и \end{array}. Первая команда открывает таблицы, а вторая - закрывает ее. Аргумент команды \begin{array} описывает сколько и каких столбцов будет в таблице. В аргументе можно использовать следующие символы:
l - столбец выровнен по левому краю,
c - столбец выровнен по центру,
r - столбец выровнен по правому краю.
Для того, чтобы столбцы были разделены вертикальной чертой, в аргументе команды \begin{array} эти столбцы нужно разделить символом |. Для разделения строк используется команда \hline. Применение этих команд для создания таблиц должно быть понятно из следующего примера:

\begin{array}{|lcr.l|c|r|}
\hline \\
 1 &  2 &  3 &  4 &  5 &  6 \\
\hline \\
 7 &  8 &  9 & 10 & 11 & 12 \\
\cdots & \cdots\\
13 & 14 & 15 & 16 & 17 & 18 \\
\hline
\end{array}

Cимволы & разделяют столбцы таблицы, а \\ означает конец строки.

Команды \begin{array}{xx...x} и \end{array} можно использовать и для набора матриц: нужно только заключить таблицу в скобки командами \left( и \right). Однако, для этого существуют более удобные команды:

\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}
\begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}
\begin{Bmatrix} 1 & 2 \\ 3 & 4 \end{Bmatrix}
\begin{vmatrix} 1 & 2 \\ 3 & 4 \end{vmatrix}
\begin{Vmatrix} 1 & 2 \\ 3 & 4 \end{Vmatrix}
A = \begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n} \\
a_{21} & a_{22} & \cdots & a_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
a_{n1} & a_{n2} & \cdots & a_{nn}
\end{pmatrix}
\begin{cases}
x + y + z & = & 3 \\
2y & = & x+z\\
2x + y & = & z
\end{cases}

Кириллица

С кириллицей сложно. Разные фильтры (MimeTeX, LATEX, MathJax) требуют разных директив для отображения кириллицы. На этой странице формулы отображает фильтр MathJax, который прекрасно понимает кириллические символы, а также директиву \text:

\text {На дворе трава, на траве дрова}
M_{масло}=\frac{\rho_{масло}}{\rho_{керосин}}M_{керосин}
R_{смятие поперёк}
R_{\text{смятие поперёк}}

А вот на этой странице работает фильтр MimeTeX.

Графика

%%масштаб%%
\unitlength{1.5}
%% размеры картинки %%
\picture(400,200){
%% отрезки %%
(0,0){ \line(0,80)}
(0,0){ \line(120,0)} (120,0){ \line(0,80)} (0,80){ \line(120,0)} 
%% окружность %%
(60,120){\circle(60)}
%% точка в центре окружности и подпись %%
(60,120){\circle(1)} (62,122){\small 0}
%% эллипс %%
(60,40){\circle(120,80)}
%% дуга в градусах %%
(60,40){\circle(90,50;-60,120)}
%% дуга в формате 1234 (четверти) %%
(60,40){\circle(60,40;24)}
%% кривая %%
(250,40){\bezier(100,10)(60,-40)}
%% угол, ограничивающий кривую%%
(250,40){ \line(60,-40)} (310,0){ \line(40,50)}
%% кривая %%
(140,10){\bezier(10,100)(40,40)}
%% опорные точки кривой %%
(140,10){\circle(2)}(180,50){\circle(2)}(150,110){\circle(2)}
}

Несколько замечаний:

  • начало координат находится в левом нижнем углу, ось абсцисс направлена вправо, ось ординат — вверх;
  • для окружности указывается диаметр;
  • градусы при построении дуги откладываются от положительного направления оси абсцисс против часовой стрелки;
  • для кривой Безье указывается:
    1. начальная точка кривой;
    2. смещение от начальной точки к конечной;
    3. смещение от начальной точки к узловой точке;
  • если на кривой Безье есть горизонтальные участки, она строится некорректно (это видно на правой кривой):
    • горизонтальный участок отсутствует;
    • кривая смещена в вертикальном направлении (угол под кривой показывает, где она должна бы находиться).

Примеры

f(x)=\int\limits_{-\infty}^x e^{-t^2}dt
x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
\sum\limits_{n=0}^\infty\frac{x^n}{n!}
f^\prime(x)\ =\lim\limits_{\Delta x\to0}\frac{f(x+\Delta x)-f(x)}{\Delta x}
e^x=\lim\limits_{n\to\infty} \left(1+\frac{x}{n}\right)^n
A\ =\ 
\tiny\left(\begin{array} {c.cccc}&1&2&\cdots&n \\
\cdots\\1&a_{11}&a_{12}&\cdots&a_{1n} \\
2&a_{21}&a_{22}&\cdots&a_{2n} \\
\vdots&\vdots&\vdots&\ddots&\vdots \\
n&a_{n1}&a_{n2}&\cdots&a_{nn} 
\end{array}\right)