Гид по технологиям

Создание LaTeX‑документов в Emacs через Org Mode

9 min read Документация Обновлено 05 Dec 2025
LaTeX в Emacs через Org Mode
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 — движок для окончательной типографской сборки.

Изображение: обложка статьи с Emacs и 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:

  1. Нажмите Alt + X и введите package-install
  2. Введите org-mode и подтвердите установку

Эти действия загрузят и установят актуальную версию Org Mode. Для продвинутой интеграции с LaTeX советуют дополнительно установить AUCTeX и библиографические утилиты (если вы работаете с цитированием): auctex и org-ref или citar.

Совет: многие пользователи предпочитают управлять конфигурацией через use-package в init.el — ниже приведены примеры.

Скриншот: вывод версии TeX в терминале

Создание первого LaTeX‑документа в Emacs

  1. Откройте Emacs и создайте новый файл: Ctrl + x, Ctrl + f, укажите имя с расширением .org (например, my-paper.org).
  2. В начале документа заполните «заголовочные» поля Org, это облегчит экспорт:
#+TITLE: My Title
#+AUTHOR: Ramces Red
#+EMAIL: ramcesred@domain.com
#+DATE: \today
  1. Чтобы экспортировать в 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

* Введение
  Это первый раздел моего документа.

Скриншот: создание нового .org файла в Emacs

Полезно: при первой сборке с широким списком пакетов может потребоваться установить дополнительные пакеты TeX; следуйте сообщениям компилятора.

Разметка: разделы и подпункты

В Org Mode уровни заголовков обозначаются звёздочками: — первый уровень, * — второй и т.д. Всё, что следует непосредственно за заголовком (строка текста или параграф), считается содержимым этого раздела.

Пример:

#+TITLE: My Title
#+AUTHOR: Ramces Red
#+EMAIL: ramcesred@domain.com
#+DATE: \today

* Первый раздел
  Текст первого раздела.

** Подраздел
  Текст подраздела.

* Второй раздел
  Текст второго раздела.

Org Mode автоматически конвертирует эти заголовки в соответствующие LaTeX \section, \subsection и т.д. Это избавляет от необходимости вручную писать LaTeX‑команды и управлять нумерацией.

Скриншот: заголовки Org Mode в Emacs

Совет: используйте короткие и информативные заголовки; для длинных метаданных используйте свойства (#+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‑файл.

Скриншот: автодополнение символов LaTeX в Org Mode

Когда это может не сработать: если вы используете нестандартные пакеты или пользовательские определения команд, убедитесь, что соответствующие \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

Обратите внимание: при экспорте пути не должны содержать пробелов или специальных символов; при необходимости экранируйте или переименуйте файлы.

Создание таблиц

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).

Скриншот: многострочная таблица в Org Mode

Совет: для сложных таблиц, где нужен тонкий контроль макета (слияния столбцов, сложные бордюры), экспортируйте как 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}}

Скриншот: редактирование преамбулы документа в Org Mode

Важно: если вы подключаете пакеты, которые требуют внешних утилит (например, 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).

Скриншот: сайт/логотип 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 — не лучшая опция.

Стратегия работы: мини‑методология для публикации

  1. Планирование: создайте структуру документа в Org (заголовки и подразделы).
  2. Контент: наполняйте разделы текстом, вставляйте изображения и таблицы с относительными путями.
  3. Цитирование: подключите biblatex и добавьте references.bib рядом с .org.
  4. Локальная сборка: используйте latexmk, проверьте PDF.
  5. Ревью: правьте в Org, регулярно экспортируйте и проверяйте финальную вёрстку.
  6. Репозиторий: храните проект в git; добавляйте .pdf в .gitignore, если не нужно хранить артефакты.

Частые ошибки и способы их устранения

  1. Ошибка компиляции: «Undefined control sequence» — вероятно, забыли подключить пакет в LATEX_HEADER. Решение: добавьте нужный \usepackage в начале документа.

  2. Проблемы с кодировкой: странные символы в PDF — используйте \usepackage[utf8]{inputenc} (для pdflatex) или переключитесь на XeLaTeX/LuaLaTeX и fontspec.

  3. Изображения не найдены при экспорте: проверьте относительные пути и права доступа.

  4. Библиография не собирается: используйте правильный 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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как включить и использовать «Найти устройство» в Windows 11
Windows

Как включить и использовать «Найти устройство» в Windows 11

Voice Access в Windows 11 — установка и руководство
Windows

Voice Access в Windows 11 — установка и руководство

Исправить ошибку Crunchyroll SHAK-6007-GENERIC
Troubleshooting

Исправить ошибку Crunchyroll SHAK-6007-GENERIC

Управление RGB LED‑лентой через ESP8266
Электроника

Управление RGB LED‑лентой через ESP8266

Удалённый сбор событий сервера через syslog
Сетевое администрирование

Удалённый сбор событий сервера через syslog

Цветовые фильтры в Windows 11 — как включить
Windows 11

Цветовые фильтры в Windows 11 — как включить