1. Головна
  2. Блог
  3. Урок

Як писати математичні формули в Markdown (LaTeX і KaTeX)

Формули в Markdown із синтаксисом LaTeX: дроби, корені, суми, матриці, вирівняні рівняння й типові помилки — з прикладами, що працюють на GitHub і в KaTeX.

У звичайному 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=−b±b2−4ac2ax = \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
(ab)2vs(ab)2\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}
$$
A=(1234)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}
$$
(a+b)2=(a+b)(a+b)=a2+2ab+b2\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}
$$
∣x∣={xif x≥0−xif x<0|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 узагалі не стосуються.