Создание LaTeX‑документов в Emacs через Org Mode
О чём эта статья
- Что такое LaTeX и Org Mode
- Установка LaTeX и Org Mode
- Создание первого LaTeX‑документа в Emacs
- Разметка: разделы, подпункты, таблицы, изображения, спецсимволы
- Настройка преамбулы и подключение пакетов
- Советы по отладке, сниппеты и чек‑листы для разных ролей
- Частые вопросы и краткие ответы
Что такое LaTeX и Org Mode
LaTeX — это система вёрстки, широко используемая в академических публикациях за счёт высокого качества типографики и встроенных механизмов цитирования и ссылок. TeX/LaTeX используют командный синтаксис для описания структуры документа и оформления элементов (таблицы, формулы, сноски и т.п.).
Org Mode — это режим Emacs для работы с «схематичными» текстовыми документами: задачи, заметки, структуры с заголовками и подзаголовками. Важное преимущество Org Mode — встроенный экспорт в разные форматы (HTML, Markdown, LaTeX и далее в PDF), что позволяет хранить исходный текст в удобном, читаемом формате и производить экспорт в профессионально оформленные документы.
Короткое определение: Org Mode — лёгкая разметка для организации контента; LaTeX — движок для окончательной типографской сборки.

Важно: Org Mode не «заменяет» LaTeX — он генерирует LaTeX‑код и управляет экспортом. При необходимости вы можете вставлять произвольные LaTeX‑фрагменты прямо в Org‑файл.
Как установить LaTeX и Org Mode
Установка LaTeX
LaTeX обычно доступен в репозиториях большинства дистрибутивов Linux и в пакетных менеджерах других ОС. Для Ubuntu/Debian наиболее полный набор можно установить командой:
sudo apt install texlive-fullПосле установки убедитесь в доступности компилятора командой:
tex -vПримечание: texlive-full занимает значительный объём диска. Для экономии места можно установить минимальную конфигурацию и докачивать пакеты по мере необходимости.
Установка Org Mode в Emacs
Org Mode в большинстве современных Emacs уже встроен, но вы можете установить (или обновить) пакет через менеджер пакетов в Emacs:
- Нажмите Alt + X и введите package-install
- Введите org-mode и подтвердите установку
Эти действия загрузят и установят актуальную версию Org Mode. Для продвинутой интеграции с LaTeX советуют дополнительно установить AUCTeX и библиографические утилиты (если вы работаете с цитированием): auctex и org-ref или citar.
Совет: многие пользователи предпочитают управлять конфигурацией через use-package в init.el — ниже приведены примеры.

Создание первого LaTeX‑документа в Emacs
- Откройте Emacs и создайте новый файл: Ctrl + x, Ctrl + f, укажите имя с расширением .org (например, my-paper.org).
- В начале документа заполните «заголовочные» поля Org, это облегчит экспорт:
#+TITLE: My Title
#+AUTHOR: Ramces Red
#+EMAIL: ramcesred@domain.com
#+DATE: \today- Чтобы экспортировать в PDF, используйте комбинацию Ctrl + c, Ctrl + e, затем нажмите L (LaTeX) и O (open). Org Mode сгенерирует LaTeX‑файл, вызовет сборку (pdflatex/latexmk) и откроет PDF.
Пример минимального Org‑файла (включён и выше):
#+TITLE: My Title
#+AUTHOR: Ramces Red
#+EMAIL: ramcesred@domain.com
#+DATE: \today
* Введение
Это первый раздел моего документа.
Полезно: при первой сборке с широким списком пакетов может потребоваться установить дополнительные пакеты TeX; следуйте сообщениям компилятора.
Разметка: разделы и подпункты
В Org Mode уровни заголовков обозначаются звёздочками: — первый уровень, * — второй и т.д. Всё, что следует непосредственно за заголовком (строка текста или параграф), считается содержимым этого раздела.
Пример:
#+TITLE: My Title
#+AUTHOR: Ramces Red
#+EMAIL: ramcesred@domain.com
#+DATE: \today
* Первый раздел
Текст первого раздела.
** Подраздел
Текст подраздела.
* Второй раздел
Текст второго раздела.Org Mode автоматически конвертирует эти заголовки в соответствующие LaTeX \section, \subsection и т.д. Это избавляет от необходимости вручную писать LaTeX‑команды и управлять нумерацией.

Совет: используйте короткие и информативные заголовки; для длинных метаданных используйте свойства (#+PROPERTY:). Если нужен автоматический оглавление, Org сам добавит его при экспорте (опция toc по умолчанию включена).
Как работать со спецсимволами и формулами
Вставка математических символов и формул в Org Mode становится удобнее благодаря двум возможностям: визуальной превью и автодополнению.
- Превью LaTeX в редакторе: нажмите Ctrl + c, Ctrl + e, потом \ (клавиша обратного слэша), чтобы включить in‑buffer preview. Org визуально отобразит формулы в виде отрендеренных символов.
- Автодополнение: во время ввода LaTeX‑символа нажмите Esc + Tab (или используйте встроенный completion), чтобы увидеть варианты и автозавершить команду.
Пример LaTeX‑символа напрямую в LaTeX:
{\displaystyle\tau}Но при работе в Org обычно достаточно писать привычные LaTeX‑команды внутри $…$ (строчная математика) или [ … ] (блоки). Org корректно вставляет их в сгенерированный LaTeX‑файл.

Когда это может не сработать: если вы используете нестандартные пакеты или пользовательские определения команд, убедитесь, что соответствующие \usepackage и \newcommand добавлены в преамбулу (см. раздел про преамбулу).
Вставка изображений
Org Mode упрощает вставку графики: достаточно указать путь к файлу в квадратных скобках. Примеры:
[[/home/ramces/documents/projects/latex/01/img1.png]]
[[./img2.png]]Первый путь — абсолютный, второй — относительный к папке с вашим .org файлом. При экспорте Org создаст команду \includegraphics с правильным путём.
Рекомендации:
- Для портативности проекта используйте относительные пути и храните изображения рядом с .org файлом.
- Если вам нужно задать размеры изображения, можно вставить параметр ATTR_LATEX, например:
#+ATTR_LATEX: :width 0.6\textwidth
[[./img2.png]]
Обратите внимание: при экспорте пути не должны содержать пробелов или специальных символов; при необходимости экранируйте или переименуйте файлы.
Создание таблиц
Org Mode позволяет быстро создавать и редактировать таблицы в текстовом виде; затем экспорт конвертирует их в LaTeX‑таблицы.
Базовые приёмы:
- Нажмите | (вертикальная черта), затем Tab, чтобы начать таблицу.
- Используйте Tab для перехода между ячейками и Enter для добавления строк.
Пример одноколоночной таблицы в Org:
| This is the only column |
|--------------------------|
| This is a single column |
| table in Org Mode. |Для многостолбцовых таблиц вводите дополнительные | и используйте табуляцию. Org также поддерживает форматирование, выравнивание и формулы в ячейках (например, суммирование столбцов с помощью табуляции и команды C‑c C‑c).

Совет: для сложных таблиц, где нужен тонкий контроль макета (слияния столбцов, сложные бордюры), экспортируйте как LaTeX и доработайте вручную полученный .tex файл.
Настройка преамбулы LaTeX в Org Mode
Чтобы задать опции документа или добавить команды в преамбулу LaTeX, используйте специальные заголовки в начале Org‑файла.
Пример задания класса документа и опций:
#+LATEX_CLASS_OPTIONS: [a4paper, 12pt]Если нужно вставить произвольную команду в преамбулу (например, подключить пакет), используйте LATEX_HEADER:
#+LATEX_HEADER: \usepackage{geometry}
#+LATEX_HEADER: \geometry{margin=2.5cm}Эти строки будут помещены в преамбулу генерируемого LaTeX‑файла. Также можно определить свои команды:
#+LATEX_HEADER: \newcommand{\vect}[1]{\mathbf{#1}}
Важно: если вы подключаете пакеты, которые требуют внешних утилит (например, biblatex + biber), убедитесь, что они установлены и корректно настроены в вашей среде сборки.
Подключение LaTeX‑плагинов и библиографий
Для расширения возможностей LaTeX в Org Mode вы можете добавлять пакеты через LATEX_HEADER. Пример подключения BibLaTeX:
#+LATEX_HEADER: \usepackage[backend=biber,style=authoryear]{biblatex}
#+LATEX_HEADER: \addbibresource{references.bib}Для управления библиографией из Emacs часто используют пакеты org-ref или citar, которые интегрируются с Org и облегчают вставку ссылок и управлении .bib файлами.
Пример подключения пакета bibtex (упрощённо):
#+LATEX_HEADER: \usepackage{bibtex}Но в современных наборах чаще применяют biblatex вместо классического bibtex; проверьте требования вашей библиографии (biber vs bibtex).

Полезные сниппеты и конфигурация (cheat sheet)
Ниже — подборка конфигураций для init.el (или .emacs), которые часто применяют при работе с Org + LaTeX. Примеры показывают общие настройки, не обязательно копировать всё целиком.
Пример минимальной настройки через use-package:
;; Пример для пользователей, у которых настроен package.el и use-package
(use-package org
:ensure t
:config
(setq org-latex-pdf-process
'("latexmk -pdf -f -silent -interaction=nonstopmode -output-directory=%o %f"))
(setq org-latex-create-formula-image-program 'imagemagick))
(use-package auctex
:ensure t)Примечания:
- org-latex-pdf-process — настраивает команду сборки. latexmk удобен тем, что автоматически запускает нужное количество проходов.
- auctex улучшает работу с LaTeX в Emacs: подсветка, автодополнение команд, удобный режим просмотра ошибок.
Шаблон для экспорта в PDF с использованием latexmk:
#+OPTIONS: toc:t
#+LATEX_HEADER: \usepackage{microtype}
#+LATEX_HEADER: \usepackage{graphicx}Подсказки по отладке сборки:
- Смотрите TeX Help буфер/командный вывод в Emacs для ошибок компиляции.
- Если latexmk не установлен — используйте pdflatex (несколько проходов) или установите latexmk через пакетный менеджер.
Чек‑листы по ролям
Автор / Исследователь:
- Создать проектную папку с поддиректорией images и references
- Определить стиль цитирования (biblatex/biber или bibtex)
- Настроить автосборку через latexmk
Студент / преподаватель:
- Использовать шаблон с A4 и 12pt (#+LATEX_CLASS_OPTIONS)
- Включить автогенерацию оглавления, если нужно
- Проверять PDF после каждой крупной правки
Технический редактор / верстальщик:
- Добавить все необходимые LATEX_HEADER (microtype, geometry)
- Проверить шрифты и кодировки (inputenc/ fontspec для XeLaTeX/LuaLaTeX)
- Оттестировать на целевых сборочных системах
Когда подход не подходит (критические ограничения)
- Если вам нужна точная ручная юстировка макета (сложная верстка, очень точное позиционирование), то лучше работать напрямую с LaTeX‑исходником, а не с автоматическим экспортом.
- Для очень больших сборок (книги с отдельными главами и сложной библиографией) имеет смысл выносить компиляцию в makefile/CI и управлять файлами вручную.
- Для WYSIWYG‑требований (например, живой визуальный редактор) Org + Emacs — не лучшая опция.
Стратегия работы: мини‑методология для публикации
- Планирование: создайте структуру документа в Org (заголовки и подразделы).
- Контент: наполняйте разделы текстом, вставляйте изображения и таблицы с относительными путями.
- Цитирование: подключите biblatex и добавьте references.bib рядом с .org.
- Локальная сборка: используйте latexmk, проверьте PDF.
- Ревью: правьте в Org, регулярно экспортируйте и проверяйте финальную вёрстку.
- Репозиторий: храните проект в git; добавляйте .pdf в .gitignore, если не нужно хранить артефакты.
Частые ошибки и способы их устранения
Ошибка компиляции: «Undefined control sequence» — вероятно, забыли подключить пакет в LATEX_HEADER. Решение: добавьте нужный \usepackage в начале документа.
Проблемы с кодировкой: странные символы в PDF — используйте \usepackage[utf8]{inputenc} (для pdflatex) или переключитесь на XeLaTeX/LuaLaTeX и fontspec.
Изображения не найдены при экспорте: проверьте относительные пути и права доступа.
Библиография не собирается: используйте правильный backend (biber vs bibtex) и настройте org‑latex‑pdf‑process так, чтобы запускать biber при необходимости.
Сниппеты шаблонов (пример полного .org файла)
#+TITLE: Пример статьи
#+AUTHOR: Иван Иванов
#+DATE: \today
#+LATEX_CLASS_OPTIONS: [a4paper,11pt]
#+LATEX_HEADER: \usepackage{graphicx}
#+LATEX_HEADER: \usepackage{microtype}
#+LATEX_HEADER: \usepackage[backend=biber,style=authoryear]{biblatex}
#+LATEX_HEADER: \addbibresource{references.bib}
* Введение
Короткое введение в статью.
* Методология
Краткое описание методов.
* Результаты
Описание результатов.
* Заключение
Краткие выводы.
#+PRINT_BIBLIOGRAPHY: yesЗамените параметры на свои и экспортируйте.
Короткий глоссарий
- Org Mode — режим Emacs для организации текстовых документов и экспорта в разные форматы.
- LaTeX — система вёрстки для высококачественной печатной типографии.
- LATEX_HEADER — директива Org для вставки строк в преамбулу LaTeX‑файла.
- latexmk — утилита для автоматического управления компиляцией LaTeX.
Рекомендации по совместимости и миграции
- Если проект должен быть совместим с коллективной работой, используйте относительные пути и храните references.bib в репозитории.
- Для миграции с другой системы: конвертируйте существующие .tex в .org вручную (структуру можно восстановить, но это ручной процесс).
- Если вы используете Windows или macOS, подход тот же, но команды установки и менеджеры пакетов отличаются.
Советы по производительности и безопасности
- Для ускорения сборки используйте latexmk и минимизируйте громоздкие пакеты при разработке.
- Храните секретные данные (пароли, токены) вне документов и контролируйте .gitignore.
Подводка: когда выбрать Org Mode + Emacs
Org Mode отлично подходит, если вы хотите:
- Писать в человеко‑читаемом формате и при этом иметь возможность экспортировать в LaTeX/PDF.
- Автоматизировать рабочий процесс (скрипты сборки, CI) и хранить всё в текстовом виде для контроля версий.
Если ваша задача — сугубо визуальная верстка, выбирайте инструменты WYSIWYG.
Краткое резюме
Org Mode в Emacs даёт мощный, гибкий и удобный путь от черновика до печатной PDF‑версии через LaTeX. Вы получаете читаемый исходник, гибкую настройку преамбулы, простые приёмы для изображений и таблиц, а также возможности подключения библиографий и внешних пакетов.
Важно: протестируйте сборку на вашей системе, настройте latexmk или эквивалент, и используйте относительные пути для портативности проекта.
Часто задаваемые вопросы
Можно ли убрать оглавление из сгенерированного PDF?
Да. Добавьте в начало Org‑файла строку:
#+OPTIONS: toc:fи при экспорте оглавление не будет добавлено.
Как добавить горизонтальные разделители в таблицах Org?
Нажмите - на новой строке таблицы и затем Tab — Org автоматически заполнит строку дефисами и перейдёт к следующей строке.
Можно ли изменить класс документа LaTeX из Org?
Да. По умолчанию Org использует класс article. Для изменения укажите:
#+LATEX_CLASS: reportЭто заменит класс документа на report (или любой другой, доступный в вашей установке LaTeX).
Image credit: Unsplash. All screenshots by Ramces Red
Похожие материалы
Как включить и использовать «Найти устройство» в Windows 11
Voice Access в Windows 11 — установка и руководство
Исправить ошибку Crunchyroll SHAK-6007-GENERIC
Управление RGB LED‑лентой через ESP8266
Удалённый сбор событий сервера через syslog