Использование математических формул в результатах текстологической работы
26.07.2025

Рассмотрим, как лучше всего включать математические формулы в результаты текстологической работы. За отправную точку возьмём использование облегчённых языков разметки (например, Markdown) — это удобно для хранения, редактирования и последующей конвертации текстов. Обоснование такого подхода — в статье «Технические аспекты текстологии».
Изображения
Очевидно, что хранить формулы в виде растровых изображений — плохая идея. Такой формат затрудняет редактирование, контроль изменений и конвертацию в другие форматы.
Векторные изображения, например SVG, подходят лучше, но у них те же недостатки. Главный — семантический: нужно хранить не изображение формулы, а саму формулу. Из этого вытекают и другие проблемы: сложно сравнивать версии, а для просмотра и редактирования сложных формул уже недостаточно простого текстового редактора.
Простые текстовые форматы
Для записи формул в текстовом виде распространены два подхода: AsciiMath и форматы, основанные на TeX.
AsciiMath разработан с прицелом на читаемость — формулы пишутся с помощью обычных символов клавиатуры и легко воспринимаются в сыром виде.
Пример AsciiMath:
sum_(i=1)^n i^3=((n(n+1))/2)^2
Этот текст означает следующую формулу:

Возможности AsciiMath можно изучить на официальном сайте или в онлайн-редакторе.
TeX (читается «тех») — система компьютерной вёрстки, ориентированная на печать. В отличие от Markdown, она изначально задумывалась для создания книг и научных текстов. Возможность ввода формул — лишь часть её функционала. На практике редко используют «чистый» TeX: чаще применяют его расширения, особенно LaTeX («латех»).
Пример формулы на LaTeX:
\int_{-\infty}^{\infty} e^{-x^2} \, dx = \sqrt{\pi}
Этот текст означает следующую формулу:

AsciiMath проще в освоении и выглядит понятнее в текстовом виде, чем LaTeX. Но по возможностям, особенно в сложной математике, LaTeX заметно превосходит. Кроме того LaTeX лучше поддерживается, имеет больше инструментов и шире распространён.
Для оцифрованных книг подходят оба формата. Возможно, текстологический формат должен поддерживать и AsciiMath и LaTeX. Если выбирать один, предпочтительнее LaTeX.
Другие форматы записи формул
Существует способ записи формул в формате MathML основанном на XML. Формат широко применяется как внутренний формат хранения (например, в LibreOffice) или как промежуточный формат при конвертации. Для ручного ввода формул формат не удобен.
Преимущества MathML в том, что его хоть и ограничено, но поддерживают браузеры.
Существуют и другие математические языки разметки, некоторые из них представляют интерес, например, MathJson, но в целом они значительно меньше распространены.
Инструменты
Универсальных инструментов для визуализации формул из текстового представления не так много. Наиболее популярные — MathJax и KaTeX.
MathJax принимает TeX, AsciiMath и MathML, а на выходе генерирует HTML+CSS, SVG или MathML. Поддержка TeX — полная, включая расширения. Проверить, как формула отобразится, можно здесь.
KaTeX работает только с частью LaTeX-синтаксиса и выдаёт только HTML+CSS. Зато он значительно быстрее MathJax. Протестировать его можно прямо на сайте KaTeX.
Существуют производные инструменты. Например, Mathoid, используемый в MediaWiki, построен на MathJax для Node.js.
Сейчас для веб-сайтов оптимально использовать MathJax или KaTeX. Исходные формулы пишутся на AsciiMath или LaTeX, а при генерации сайта преобразуются в HTML+CSS.
Форматы электронных книг
Поддержка формул в электронных книгах — слабое место. FB2 и EPUB могут включать MathML, но многие программы и устройства не поддерживают этот формат.
Единственный универсальный способ — превращать формулы в растровые изображения и вставлять в книгу как картинки. Альтернатива — выпускать несколько версий: EPUB+PNG
, EPUB+SVG
, EPUB+MathML
и т. д.
Средства ввода
Существуют инструменты для удобного ввода формул: MathQuill, MathField. Они полезны при разработке систем автоматизации вычитки и исправления опечаток. Но если работа ведётся в простых текстовых файлах, эти редакторы не нужны.
Использование Unicode
Для простых выражений можно обойтись без формул — использовать символы Юникода:
- ½ + ¼ = ¾
- 5² = 25
- √(x² + y²) = z
- Δt = t₁ − t₀
Этот способ подходит только для базовых случаев. Но он помогает избежать сложной разметки там, где она не нужна.
Подробнее о математических шрифтах — в статье на type.today.
Резюме
Для хранения формул в оцифрованных книгах лучший выбор — LaTeX, на втором месте — AsciiMath.
С инструментами для отображения ситуация сложнее. В вебе — MathJax или KaTeX. При экспорте в электронные книги чаще всего приходится конвертировать формулы в изображения.