Википедия:Формулы

Короткая ссылка-перенаправление
Написание статей
Тематические статьи
Техническая справка
Общие правила и руководства Список

Для математических формул MediaWiki использует разметку ΤΕΧ’а. В зависимости от пользовательских настроек они могут отображаться как PNG-рисунки, в MathJax-разметке[1] или иным способом.

В данной статье даны лишь первоначальные сведения о разметке математических формул в ΤΕΧ. Примеры написания конкретных формул приводятся в статье «Примеры оформления формул». Список поддерживаемых конструкций (с английскими пояснениями) также дан на странице m:Help:Displaying a formula.

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

Общие положения

[править код]
  • Исходный код математической формулы записывается внутри тегов <math>...</math>[2], химической — <chem>...</chem>.
  • Шаблоны, переменные и параметры MediaWiki не функционируют внутри этого тега.
  • Пробелы игнорируются (ТеХ их сделает сам).
  • Пустые строки не разрешаются.
  • Символы и сложные конструкции записываются с помощью «команд»[3], которые начинаются с «обратного слеша» (\) и состоят либо из командного слова из латинских букв, либо из символа (не буквы). В первом случае после командного слова должен быть обязательно пробел или другая команда.
  • Команды могут иметь аргументы: {обязательные} и [необязательные].
  • Каждая буква считается переменной и воспроизводится курсивом, а цифры — прямым шрифтом (исключение — название функций и операций).
  • Одиночные переводы строк внутри тегов <math>...</math> разрешены и не отображаются, поэтому, чтобы сделать код более читабельным, можно вставлять переводы строк после каждого выражения или строки матрицы.

Вынесенные формулы

[править код]

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

  • Формула 1:
    .
  • Формула 2:
    .

Знаки препинания, следующие за формулой, внутрь тега <math></math> включать не требуется[4].

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

Исходные команды

[править код]

Служебные значки

[править код]
  • \ сигнальный символ (команда);
  • { начало группы;
  • } конец группы;
  • _ нижний индекс;
  • ^ верхний индекс;
  • ~ неразрывный пробел.

Шрифты

[править код]
Греческий алфавит
Буква Команда Буква Команда Буква Команда
\Alpha \alpha \Iota \iota \Sigma \sigma
\Beta \beta \Kappa \kappa \varsigma
\Gamma \gamma \Lambda \lambda \Tau \tau
\Delta \delta \Mu \mu \Upsilon \upsilon
\Epsilon \epsilon \Nu \nu \Phi \phi
\varepsilon \Xi \xi \varphi
\Zeta \zeta \Pi \pi \Chi \chi
\Eta \eta \varpi \Psi \psi
\Theta \theta \Rho \rho \Omega \omega
\vartheta \varrho \varkappa

С помощью соответствующих команд можно изменять вид шрифта (гарнитуру) и его размеры:

Вид шрифта Команда Изображение
Жирный шрифт (греческий) \boldsymbol{текст}
Жирный шрифт (векторы) \mathbf{текст}
Ажурный шрифт \mathbb{текст}
Рубленый шрифт \mathsf{текст}
Готическое письмо \mathfrak{текст}
Рукописный шрифт[5] \mathcal{текст}
Прямой шрифт \mathrm{текст}
Прописные наклонным
шрифтом (греческий)
\mathit{текст}

Для текстовых индексов и пометок лучше всего использовать команду \text, поскольку она предназначена именно для этого и правильно обрабатывает дефисы, пробелы и размер букв: \varepsilon_\text{h-BN} даёт , (10\text{ мм})^2 = 100\text{ мм}^2 = 1\text{ см}^2 даёт . Для нестандартных операторов следует использовать \operatorname (см. ниже), а \mathrm оставить для специальных случаев — например, нестандартных операторов, которым нужно нестандартное окружение пробелами.

Команды \textrm и \mbox также производят прямой шрифт, однако вместо них лучше использовать \text или \operatorname.

Также имеются символы устаревших греческих букв \Coppa \coppa \Koppa \koppa \Stigma \stigma, которые отображаются не при всех настройках отображения формул (то же относится к символам \S \P), а использование символов \varcoppa \Sampi \sampi \Digamma \varstigma даже может вызвать сообщение об ошибке, как использование любой несуществующей команды.

Бинарные операции

[править код]
Команда Изображение
+ -
\amalg \setminus \smallsetminus
\pm \mp
\ast \star * \bigstar
\centerdot \cdot \bullet
\circ \bigcirc
\odot \circleddash \circledast \circledcirc
\oplus \otimes \ominus \oslash
\boxplus \boxtimes \boxminus \boxdot
\sqcap \sqcup
\cap \cup \uplus
\Cap \Cup
\doublecap \doublecup
\dagger \ddagger
\times \div \divideontimes
\ltimes \rtimes
\leftthreetimes \rightthreetimes
\vartriangle \triangledown
\triangle \bigtriangledown
\bigtriangleup \bigtriangledown
\triangleright \triangleleft
\diamond
\bowtie
\vee \lor \wedge \land
\veebar \barwedge
\doublebarwedge
\curlywedge \curlyvee
\wr
\intercal
\dotplus

Умножение

[править код]
Короткая ссылка-перенаправление

Не используйте символ * для обозначения умножения за исключением случаев, когда умножение используется в коде программ. Знак умножения в формулах, как правило, опускается . Если знак опущен быть не может (как в ), используйте \cdot в математическом режиме или символ ⋅ (U+22C5 dot operator, &sdot; не путать с похожим символом &middot;). Знак в русской типографике, как правило, не используется для обозначения обычного умножения, а имеет специальное значение (например, векторное произведение), поэтому использование этого знака для умножения нежелательно, за исключением традиционного для русской типографики использования при разрыве формулы на знаке умножения с переносом на другую строку.

Символы отношений

[править код]
Команда Изображение
\propto \varpropto
\shortmid \mid
\between
\pitchfork
\therefore \because
\frown \smile
\| \parallel \shortparallel
\in \ni
\perp
\backepsilon
\models
\cong
\equiv
\sim \thicksim \backsim
\simeq \backsimeq
\eqsim
\approx \thickapprox
\approxeq
\bumpeq
\Bumpeq
\doteq
\doteqdot \Doteq
\risingdotseq \fallingdotseq
\eqcirc
\circeq
\triangleq
< >
\ll \gg
\lll \ggg \gggtr
\le или \leq, \ge или \geq
\leqq \geqq
\leqslant \geqslant
\eqslantless \eqslantgtr
\lesssim \gtrsim
\lessapprox \gtrapprox
\lessdot \gtrdot
\lessgtr \gtrless
\lesseqgtr \gtreqless
\lesseqqgtr \gtreqqless
\sqsubseteq и \sqsupseteq
\subset \supset
\subseteq \supseteq
\subseteqq \supseteqq
\Subset \Supset
\prec \succ
\preccurlyeq \succcurlyeq
\curlyeqprec \curlyeqsucc
\preceq \succeq
\precsim \succsim
\precapprox \succapprox
\asymp
\vdash \dashv
\vDash
\Vvdash
\vartriangleleft \vartriangleright
\blacktriangleleft \blacktriangleright
\blacktriangle \blacktriangledown

В русскоязычной типографике существует традиция употреблять в качестве символов «больше или равно» и «меньше или равно» знаки «» и «», а в западной — «» и «»[6][7].

Символы отрицания отношений

[править код]

Символ отрицания отношения можно получить, ставя перед соответствующим символом отношения команду \not, которая перечёркивает следующий за ней ТеХ’овский символ. Например:

<math>u \not< a</math>
<math>a \not\in \mathbf{A}</math>

Однако для наиболее часто используемых символов отрицания отношений («не равно», «не принадлежит» и т. п.) существуют и отдельные команды.

Команда Изображение
\nless \ngtr
\neq \ne
\nsim
\not\approx
\ncong
\not\equiv
\not\le \not\ge
\nleqq \ngeqq
\lneq \gneq
\lneqq \gneqq
\lvertneqq \gvertneqq
\nleqslant \ngeqslant
\lnsim \gnsim
\lnapprox \gnapprox
\notin \not\ni
\not\simeq
\not\sqsubseteq \not\sqsupseteq
\not\subset \not\supset
\nsubseteq \nsupseteq
\nsubseteqq \nsupseteqq
\varsubsetneq \varsupsetneq
\subsetneqq \supsetneqq
\varsubsetneqq \varsupsetneqq
\nprec \nsucc
\npreceq \nsucceq
\precneqq \succneqq
\precnsim \succnsim
\precnapprox \succnapprox
\not\asymp
\nshortmid
\nshortparallel \nparallel
\nvdash \nvDash
\nVdash \nVDash
\ntriangleleft \ntriangleright
\ntrianglelefteq \ntrianglerighteq
\neg \lnot
\nexists

Также можно перечеркнуть набор символов, используя команду \cancel{abc}(), \bcancel{abc}() или \xcancel{abc}().

Символы математических функций

[править код]

Символы стандартных математических функций и операторов (sin, max и т. п.) в формулах должны отображаться прямым шрифтом с отступами слева и справа, поэтому для них необходимо использовать соответствующие команды TeX (\sin вместо sin и т. д.):

зелёная ✓Y <math>2\sin x + 4\ln y + 8\operatorname{tg} z</math>
❌N <math>2 sin x + 4 ln y + 8 tg z</math>
Тригонометрические функции
\sin
\cos
\tan
\cot
\sec
\csc
\arcsin
\arccos
\arctan
\arccot
\arcsec
\arccsc
Гиперболические функции
\sinh
\cosh
\tanh
\coth
Прочие функции
\arg
\deg
\det
\dim
\exp
\lg
\ln
\log
\sgn
\mod
\bmod
\pmod
\gcd
\max
\min
\hom
\ker
\inf
\sup
\lim
\liminf
\limsup
\varliminf
\varlimsup
\injlim
\projlim
\varinjlim
\varprojlim
\Pr

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

Тригонометрические функции
\operatorname{tg}
\operatorname{ctg}
\operatorname{cosec}
\operatorname{arctg}
\operatorname{arcctg}
\operatorname{arccosec}
Гиперболические функции
\operatorname{sh}
\operatorname{ch}
\operatorname{th}
\operatorname{cth}

Примечание. Чтобы сделать стандартный отступ между именем функции и аргументом, нужно использовать конструкцию «\operatorname{имя функции}». Например, код «\operatorname{arctg} x» даёт (для сравнения: код «\mathrm{arctg} x» — ); использовать «\mathrm{имя функции}\,» и подобные конструкции также не рекомендуется — сравните:

❌N x \mathrm{arctg}\, y
зелёная ✓Y x \operatorname{arctg} y

Стрелки

[править код]
Команды Изображения
\circlearrowleft \circlearrowright
\curvearrowleft \curvearrowright
\downarrow \uparrow
\downdownarrows \upuparrows
\Downarrow \Uparrow
\hookleftarrow \hookrightarrow
\leftarrow \rightarrow
\Leftarrow \Rightarrow
\leftarrowtail \rightarrowtail
\upharpoonright \upharpoonleft
\downharpoonright \downharpoonleft
\leftharpoondown \rightharpoondown
\leftharpoonup \rightharpoonup
\leftleftarrows \rightrightarrows
\leftrightarrow \Leftrightarrow
\leftrightarrows \rightleftarrows
\leftrightharpoons \rightleftharpoons
\leftrightsquigarrow \rightsquigarrow
\Lleftarrow \Rrightarrow
\longleftarrow \longrightarrow
\Longleftarrow \Longrightarrow
\longleftrightarrow
\Longleftrightarrow
\longmapsto \mapsto
\looparrowleft \looparrowright
\Lsh \Rsh
\multimap
\nearrow \nwarrow \searrow \swarrow
\nleftarrow \nrightarrow
\nLeftarrow \nRightarrow
\nleftrightarrow \nLeftrightarrow
\restriction
\twoheadleftarrow \twoheadrightarrow
\updownarrow \Updownarrow

Ещё некоторые символы…

[править код]
Элемент Синтаксис Интерпретация в Википедии
Диакритические знаки \acute{a} \grave{a} \breve{a} \check{a} \tilde{a} \hat{a} \bar{a}

\widehat{pq} \widetilde{pq} \widehat{xyz} \widetilde{xyz}

Векторы \vec{a} \overrightarrow{BC}

\overline{BC} \underline{BC}

Производные \nabla \partial x dx
\dot x \ddot y[8] x^\prime x^\backprime x' x'' x'''

Логика \bigwedge \bigvee \bigsqcup \bigcap \bigcup \biguplus
\forall \exists \emptyset \empty \varnothing \And

Корни \sqrt{2}\approx 1{,}4 \sqrt{5} \surd
\sqrt[n]{x}
Геометрические \Diamond \Box \triangle \angle \measuredangle \sphericalangle 45^\circ
\mid \nmid \| \lVert \rVert

Специальные \ldots \cdots \vdots \ddots
10\;\% \#
\bigoplus \bigotimes \bigodot
\bot \top \vDash \Vdash \ulcorner \urcorner \llcorner \lrcorner
\eth \imath \jmath \hbar \ell \wp \mho \infty
\Finv \digamma \Re \Im \complement \Bbbk \circledS \backslash
\aleph \beth \gimel \daleth
\N \Z \Q \R \Complex



\diamondsuit \heartsuit \clubsuit \spadesuit \blacksquare \blacklozenge
\Game \flat \natural \sharp

Суммы Простой пример:
\sum^{n}_{i=1} {x_i}

Если знак суммы находится в числителе или знаменателе, вид индексов меняется:

\frac {\sum^{n}_{i=1} {x_i}} {2}

Чтобы индексы всегда были под и/или над знаком суммы:

\frac {\sum\limits^{n}_{i=1} {x_i}} {2}
Произведения \prod^\infty_{k=1}x_k
\coprod^\infty_{k=1}x_k
Интегралы \int_a^b f(x) dx
\int\limits_a^b f(x)\,dx
\oint\limits_S \vec F \cdot d\vec s
Приращение функции \int_a^b f(x)\,dx = \Bigl[ F(x) \Bigr]_a^b = \Bigl. F(x) \Bigr|_a^b
Дроби \frac{x^2+1}{x^2-1}
\tfrac{x^2+1}{x^2-1}
Скобки, модуль, норма \left ( \frac{x}{y} \right )

\left [ \frac{x}{y} \right ]
\left | \frac{x}{y} \right |
\left \| \frac{x}{y} \right \|
\left \{ \frac{x}{y} \right \}
\left \lfloor \frac{x}{y} \right \rfloor
\left \lceil \frac{x}{y} \right \rceil
\left \langle \frac{x}{y} \right \rangle



Индексы над и под символами \overset{x}{y}

\stackrel{x}{y}
\underset{x}{y}

\overset{x}{\underset{y}{z}}





См. также Википедия:Примеры оформления формул #Скобки для больших выражений.

Рекомендации по пробелам

[править код]
  • Десятичную запятую в десятичных дробях рекомендуется заключать в фигурные скобки, чтобы избежать ненужного тонкого пробела после запятой. Сравните:
❌N <math>\pi=3,1415\dots</math>
зелёная ✓Y <math>\pi=3{,}1415\dots</math>
  • При записи определения множества рекомендуется употреблять не знак вертикальной черты, а команду \mid, чтобы пробелы имели достаточную величину. Сравните:
❌N <math>M=\{x\in A | x>0\}</math>
зелёная ✓Y <math>M=\{x\in A \mid x>0\}</math>
  • Для обозначения матричных элементов (нотация бра и кет), наоборот, лучше использовать знак вертикальной черты | или команду \vert. Кроме того, не следует использовать знаки «больше» и «меньше» вместо угловых скобок (при записи матричных элементов, статистических средних и т. д.) — нужно использовать \langle и \rangle. Сравните:
❌N <math><m \mid \hat{A} \mid n></math>
зелёная ✓Y <math>\langle m \vert \hat{A} \vert n\rangle</math>
❌N <math>S^2 = <(x-<x>)^2></math>
зелёная ✓Y <math>S^2 = \langle(x-\langle x\rangle)^2\rangle</math>
зелёная ✓Y <math>S^2 = \left\langle(x-\langle x\rangle)^2\right\rangle</math>
  • При записи нормы рекомендуется использовать не двойные вертикальные скобки, а команду \|. Сравните:
❌N <math>|| \mathbf{x} || = 1</math>
зелёная ✓Y <math>\| \mathbf{x} \| = 1</math>
  • При записи отображений рекомендуется использовать не знак двоеточия, а команду \colon, чтобы избежать ненужного пробела перед двоеточием. Сравните:
❌N <math>f: X \to Y</math>
зелёная ✓Y <math>f\colon X \to Y</math>

Химические формулы

[править код]

С помощью тегов <chem>...</chem> можно записывать химические формулы, используя синтаксис, похожий на синтаксис ΤΕΧ-овского пакета mhchem (следует учитывать, что некоторые возможности пакета могут не поддерживаться в ВП). При записи химических формул и соединений конструкция <chem>...</chem> более наглядная и короткая.

При этом внутри вики-тега <chem>...</chem> нужно писать то, что в ΤΕΧ-документе нужно было бы писать внутри ΤΕΧ-тега \ce{...}. В этом теге действуют совсем другие правила, нежели в обычных, математических формулах: пробелы имеют в большинстве случаев значение, скобки не всегда необходимы.

Примеры:

  • <chem>CO2 + C -> 2 CO</chem>
  • <chem>SO4^2- + Ba^2+ -> BaSO4 v</chem>
  • <chem>Ag+ + NO3- + K+ + Cl- -> AgCl v + K+ + NO3-</chem>
  • <chem>{Na2CO3} + 2HCl -> CO2 ^ + 2NaCl + H2O</chem>
  • <chem>(NH4)2S</chem>
  • <chem>[AgCl2]-</chem>
  • <chem>H2C=CH2</chem>
  • <math chem>\ce{(-CH2-)}_n</math>
  • <chem>HC#CH</chem>
  • <chem>H3C-COOH</chem>
  • <chem>MgSO4.7H2O</chem>
  • <chem>H2 <=> 2H</chem>
  • <chem>A{} + B ->[300~^\circ\text{C}][-\ce{H2O}] C</chem>

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

  • <chem>A{} + B ->[300~^\circ\text{C}][-\ce{H2O}] C v</chem>

В этом случае нужно применять другую:

  • <chem>A{} + B ->[300\ ^{\ce{o}}\ce{C}][-\ce{H2O}] C v</chem>
  • <chem>(CH3)2CH-CH2-Cl{} + \underset{\text{водный}\ \text{раствор}}{NaOH} -> (CH3)2CH-CH2-OH{} + NaCl</chem>
  • <chem>\beta{-}Al2O3</chem>

Для корректного отображения в химической формуле математических переменных (x, n, t и т.п.) можно использовать ΤΕΧ-тег \mathit{...}, например:

  • <chem>(CF2)_\mathit{n}</chem>
  • <chem>{C_\mathit{x}H_\mathit{y}} + \mathit{z}O2 -> {\mathit{x}CO2} + \frac{\mathit{y}}{2}H2O</chem>

Конструкция <chem>...</chem> эквивалентна <math chem>\ce{...}</math>. Последняя конструкция более длинная, менее ясная и потому менее удобная, но теоретически её можно использовать, чтобы смешать возможности обоих типов формул — например, поместить химические формулы в окружение align.

Русские буквы в формулах

[править код]

Русские буквы (и вообще, символы, не входящие в US-ASCII) в формулы можно вставить с помощью \text{}:

<math>F_\text{Трения}</math> даёт .

Цвета в формулах

[править код]

Цветные символы можно вставить в формулу следующим образом:

  • { \color{red} x }
  • {\color{Blue}x^2}+{\color{YellowOrange}2x}- {\color{OliveGreen}1}
  • x_{1,2}=\frac{-b\pm\sqrt{\color{Red}b^2-4ac}}{2a}

Проблемы

[править код]
  • math в заголовках разделов отображается ошибкой phab:T295091. Помогает замена на символы Юникода — таблица математических символов.
  • переносы отрывают символы после math phab:T325625. Из-за этого запятую, скобку и т.д. заносили внутрь math. Локальный фикс special:diff/138085233 — поведение отображения и подход к оформлению кода math может отличаться в других вики (напр. при копировании между вики)

См. также

[править код]

Примечания

[править код]
  1. В этом случае для правильного отображения символов может потребоваться установленный шрифт, содержащий математические символы Юникода, например, Code2000.
  2. Для вставки этого тега на панели инструментов редактирования есть специальная кнопка. Это, правда, соответствует «старой» панели редактирования, в новой же соответствующей кнопки нет. Чтобы посмотреть на старую панель, в ваших настройках во вкладке «Редактирование» можете снять галку с пункта «Включить улучшенную панель редактирования».
  3. В HTML они соответствуют «тегам».
  4. Ошибка с возможным переносом непробельного символа, следующего за формулой, была исправлена в 2024 году: Служебная:Diff/138085233
  5. Строчные буквы и цифры в этом шрифте отображаются как буквы и цифры при использовании «MathJax», но заменяются спецсимволами при генерации «png». Из-за этого несоответствия лучше вообще не использовать строчные буквы и цифры в начертании «mathcal».
  6. Воронцов К. В. LaTeX2e в примерах. — 2005.
  7. Львовский, 2003.
  8. Для создания третьей производной по времени (три точки над буквой) можно использовать выражение \stackrel{\ldots}{x}

Ссылки

[править код]