В обычном Markdown нет синтаксиса для формул, но почти любой современный Markdown-инструмент поддерживает формулы LaTeX через расширение. Вы пишете формулу в нотации TeX между знаками доллара, а движок вроде KaTeX или MathJax превращает её в аккуратно свёрстанную математику.
В этом руководстве — синтаксис, который работает в GitHub, GitLab, Obsidian, Jupyter и Markdown Preview Editor, и справочник самых нужных команд.
Формулы в строке и выключные формулы
В Markdown бывает два вида формул:
- Формула в строке стоит внутри предложения. Оберните её в одинарные знаки доллара:
$E = mc^2$. - Выключная формула занимает отдельную строку по центру. Оберните её в двойные знаки доллара, обычно на отдельных строках.
markdownЗнаменитая формула $E = mc^2$ помещается прямо в предложение.
$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$
После отрисовки выключная формула выглядит так:
Основной синтаксис
| Что | Как написать | Примечание |
|---|---|---|
| Верхний индекс | x^2, e^{i\pi} |
Для нескольких символов нужны фигурные скобки |
| Нижний индекс | a_1, x_{n+1} |
|
| Дробь | \frac{a}{b} |
\dfrac — крупная дробь в строке |
| Квадратный корень | \sqrt{x}, \sqrt[3]{x} |
|
| Сумма, произведение | \sum_{i=1}^{n} i, \prod_{k} k |
|
| Интеграл | \int_0^1 x\,dx |
\, добавляет узкий пробел |
| Предел | \lim_{x \to 0} \frac{\sin x}{x} |
|
| Греческие буквы | \alpha, \beta, \pi, \Omega |
С заглавной буквы — прописные |
| Отношения | \le, \ge, \ne, \approx, \equiv |
|
| Операции | \times, \cdot, \pm, \div |
|
| Множества | \in, \subset, \cup, \cap, \mathbb{R} |
|
| Стрелки | \to, \Rightarrow, \leftrightarrow |
|
| Текст внутри формулы | \text{if } x > 0 |
Сохраняет обычные пробелы |
| Векторы, надстрочные знаки | \vec{v}, \hat{x}, \bar{y} |
Фигурные скобки группируют: x^10 отобразится как x¹0, а x^{10} — как x¹⁰. Если формула выглядит неправильно, чаще всего виноваты пропущенные скобки.
Скобки, которые растут
Обычные скобки не меняют размер. Чтобы они охватывали высокое содержимое, используйте \left и \right:
latex\left( \frac{a}{b} \right)^2 \quad \text{vs} \quad (\frac{a}{b})^2
Матрицы
Матрицы задаются окружениями. pmatrix добавляет круглые скобки, bmatrix — квадратные, vmatrix — вертикальные черты (определитель). Столбцы разделяются &, строки — \\.
latex$$
A = \begin{pmatrix}
1 & 2 \\
3 & 4
\end{pmatrix}
$$
Многострочные и выровненные формулы
Чтобы выровнять несколько шагов по знаку равенства, используйте окружение aligned внутри выключной формулы и отметьте точку выравнивания символом &:
latex$$
\begin{aligned}
(a + b)^2 &= (a + b)(a + b) \\
&= a^2 + 2ab + b^2
\end{aligned}
$$
Для кусочно-заданных функций есть cases:
latex$$
|x| = \begin{cases}
x & \text{if } x \ge 0 \\
-x & \text{if } x < 0
\end{cases}
$$
Знаки доллара, которые не формулы
Цены в тексте могут случайно превратиться в формулы. Большинство движков следуют правилу Pandoc: после открывающего $ не должно быть пробела, а перед закрывающим $ не должно быть пробела и сразу после него — цифры. Поэтому «от $5 до $10» обычно остаётся простым текстом. Если сомневаетесь, экранируйте знак доллара: \$5.
KaTeX или MathJax
Оба понимают один и тот же синтаксис LaTeX; разница в основном в скорости и полноте поддержки.
- KaTeX быстрый и отрисовывает синхронно — идеально для живого предпросмотра. Он поддерживает подавляющее большинство команд, которые встречаются в документации, заметках и статьях.
- MathJax поддерживает больше пакетов LaTeX, его используют GitHub и многие научные сайты, но он тяжелее.
Markdown Preview Editor использует KaTeX и загружает его, только если в документе действительно есть формула, поэтому документы без математики остаются лёгкими. Формула, написанная для KaTeX, почти всегда отобразится и на GitHub.
Формулы на GitHub
GitHub отрисовывает формулы в Markdown-файлах, issues и pull requests. Он поддерживает $…$ и $$…$$, а также два варианта для сложных случаев: $`…`$ для формул в строке, содержащих символы, которые Markdown иначе интерпретировал бы, и блок кода с языком math для выключных формул.
Как писать формулы быстрее
- Нажмите кнопку «Формула» в расширенном редакторе Markdown Preview Editor, чтобы вставить шаблон, а затем правьте его, глядя на предпросмотр.
- Держите файл-заготовку с часто используемыми формулами — матрицами, выровненными блоками,
cases. - Сочетайте формулы с диаграммами Mermaid, чтобы объяснять алгоритмы: блок-схема для шагов и формула для каждого шага.
- Когда документ готов, экспортируйте его в HTML или PDF — формулы сохранятся в итоговом файле.
Только начинаете знакомство с Markdown? Начните со шпаргалки по Markdown.
Частые вопросы
Как написать формулу в Markdown?
Оберните формулу LaTeX в одинарные знаки доллара для формулы в строке ($a^2 + b^2 = c^2$) или в двойные — для выключной формулы по центру. Markdown-инструмент должен поддерживать формулы — GitHub, GitLab, Obsidian, Jupyter и Markdown Preview Editor поддерживают.
Почему формула отображается как обычный текст?
Частые причины: инструмент не поддерживает формулы, сразу после открывающего $ или перед закрывающим $ стоит пробел, либо символ Markdown вроде _ или * внутри формулы был воспринят как форматирование. Попробуйте выключную формулу с $$ на отдельных строках.
Как написать матрицу в Markdown?
Используйте \begin{pmatrix} … \end{pmatrix} (или bmatrix, vmatrix) внутри $$. Столбцы разделяйте &, строки — \\.
Поддерживает ли KaTeX все команды LaTeX?
KaTeX поддерживает большинство математических команд, которые используются на практике, но не все пакеты LaTeX. Команды вёрстки документа (например, \section или \usepackage) к формулам в Markdown вообще не относятся.