Википедия:Формулы
Эта страница относится к руководствам русской Википедии. |
Для математических формул 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, ⋅
не путать с похожим символом ·
). Знак в русской типографике, как правило, не используется для обозначения обычного умножения, а имеет специальное значение (например, векторное произведение), поэтому использование этого знака для умножения нежелательно, за исключением традиционного для русской типографики использования при разрыве формулы на знаке умножения с переносом на другую строку.
Символы отношений
[править код]Команда | Изображение |
---|---|
\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
и т. д.):
<math>2\sin x + 4\ln y + 8\operatorname{tg} z</math> | ||
<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{имя функции}\,
» и подобные конструкции также не рекомендуется — сравните:
x \mathrm{arctg}\, 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}
|
|
Векторы | \vec{a} \overrightarrow{BC}
|
|
Производные | \nabla \partial x dx | |
Логика | \bigwedge \bigvee \bigsqcup \bigcap \bigcup \biguplus | |
Корни | \sqrt{2}\approx 1{,}4 \sqrt{5} \surd | |
\sqrt[n]{x} | ||
Геометрические | \Diamond \Box \triangle \angle \measuredangle \sphericalangle 45^\circ | |
Специальные | \ldots \cdots \vdots \ddots | |
10\;\% \# | ||
\bigoplus \bigotimes \bigodot | ||
\bot \top \vDash \Vdash \ulcorner \urcorner \llcorner \lrcorner | ||
\eth \imath \jmath \hbar \ell \wp \mho \infty | ||
\diamondsuit \heartsuit \clubsuit \spadesuit \blacksquare \blacklozenge | ||
Суммы | Простой пример:
Если знак суммы находится в числителе или знаменателе, вид индексов меняется:
Чтобы индексы всегда были под и/или над знаком суммы:
| |
Произведения | \prod^\infty_{k=1}x_k | |
Интегралы | \int_a^b f(x) dx | |
Приращение функции | \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 )
|
|
Индексы над и под символами | \overset{x}{y}
|
|
См. также Википедия:Примеры оформления формул #Скобки для больших выражений.
Рекомендации по пробелам
[править код]- Десятичную запятую в десятичных дробях рекомендуется заключать в фигурные скобки, чтобы избежать ненужного тонкого пробела после запятой. Сравните:
<math>\pi=3,1415\dots</math> | ||
<math>\pi=3{,}1415\dots</math> |
- При записи определения множества рекомендуется употреблять не знак вертикальной черты, а команду
\mid
, чтобы пробелы имели достаточную величину. Сравните:
<math>M=\{x\in A | x>0\}</math> | ||
<math>M=\{x\in A \mid x>0\}</math> |
- Для обозначения матричных элементов (нотация бра и кет), наоборот, лучше использовать знак вертикальной черты
|
или команду\vert
. Кроме того, не следует использовать знаки «больше» и «меньше» вместо угловых скобок (при записи матричных элементов, статистических средних и т. д.) — нужно использовать\langle
и\rangle
. Сравните:
<math><m \mid \hat{A} \mid n></math> | ||
<math>\langle m \vert \hat{A} \vert n\rangle</math> | ||
<math>S^2 = <(x-<x>)^2></math> | ||
<math>S^2 = \langle(x-\langle x\rangle)^2\rangle</math> | ||
<math>S^2 = \left\langle(x-\langle x\rangle)^2\right\rangle</math> |
- При записи нормы рекомендуется использовать не двойные вертикальные скобки, а команду
\|
. Сравните:
<math>|| \mathbf{x} || = 1</math> | ||
<math>\| \mathbf{x} \| = 1</math> |
- При записи отображений рекомендуется использовать не знак двоеточия, а команду
\colon
, чтобы избежать ненужного пробела перед двоеточием. Сравните:
<math>f: X \to Y</math> | ||
<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 может отличаться в других вики (напр. при копировании между вики)
См. также
[править код]- Википедия:Примеры оформления формул
- Помощь: Формулы на Metawiki
- Википедия:Специальные символы
- Знак процента
- Категория:Страницы с ошибками в формулах
- mw:Parsoid/Language conversion/Preprocessor fixups В химических формулах требует внимания скобка с чертой, которые необходимо записывать так
-<nowiki/>{
- Музыкальная нотация в вики-разметке // Викитека
Примечания
[править код]- ↑ В этом случае для правильного отображения символов может потребоваться установленный шрифт, содержащий математические символы Юникода, например, Code2000.
- ↑ Для вставки этого тега на панели инструментов редактирования есть специальная кнопка. Это, правда, соответствует «старой» панели редактирования, в новой же соответствующей кнопки нет. Чтобы посмотреть на старую панель, в ваших настройках во вкладке «Редактирование» можете снять галку с пункта «Включить улучшенную панель редактирования».
- ↑ В HTML они соответствуют «тегам».
- ↑ Ошибка с возможным переносом непробельного символа, следующего за формулой, была исправлена в 2024 году: Служебная:Diff/138085233
- ↑ Строчные буквы и цифры в этом шрифте отображаются как буквы и цифры при использовании «MathJax», но заменяются спецсимволами при генерации «png». Из-за этого несоответствия лучше вообще не использовать строчные буквы и цифры в начертании «mathcal».
- ↑ Воронцов К. В. LaTeX2e в примерах. — 2005.
- ↑ Львовский, 2003.
- ↑ Для создания третьей производной по времени (три точки над буквой) можно использовать выражение
\stackrel{\ldots}{x}
Ссылки
[править код]- Львовский С. М. Набор и вёрстка в системе LAΤΕΧ. — 3-е издание, испр. и доп. — М. : МЦНМО, 2003.
- LaTeX в Викиучебнике