LaTeX в Emacs
Полное руководство по настройке LaTeX в Emacs
Categories:
Установка и базовая настройка
1. Установка необходимых пакетов
Добавьте в ваш .emacs
или init.el
:
(use-package tex
:ensure auctex
:mode ("\\.tex\\'" . latex-mode)
:config
(setq TeX-auto-save t
TeX-parse-self t
TeX-save-query nil
TeX-PDF-mode t))
(use-package company-auctex
:ensure t
:after (company tex))
(use-package reftex
:ensure t
:config
(add-hook 'LaTeX-mode-hook 'turn-on-reftex))
2. Системные зависимости
Убедитесь, что установлены:
- TeX-дистрибутив (TeX Live или MiKTeX)
latexmk
(для автоматической сборки)chktex
(для проверки стиля)
Основные горячие клавиши
Общие команды
Комбинация | Описание |
---|---|
C-c C-c |
Компиляция документа |
C-c C-v |
Просмотр PDF |
C-c C-e |
Добавить окружение |
C-c C-s |
Добавить section-like команду |
C-c C-m |
Добавить макрос |
C-c C-k |
Удалить макрос/окружение |
C-c C-w |
Проверить орфографию |
Навигация
Комбинация | Описание |
---|---|
C-c = |
Показать структуру документа |
C-c [ |
Перейти к следующей метке |
C-c ] |
Перейти к предыдущей метке |
C-c & |
Перейти к месту ссылки |
RefTeX (ссылки и библиография)
Комбинация | Описание |
---|---|
C-c ( |
Вставить ссылку |
C-c ) |
Создать метку |
C-c [ |
Вставить ссылку на библиографию |
C-c ] |
Вставить citation |
C-c / |
Поиск по меткам |
Настройка рабочего процесса
1. Конфигурация компилятора
(setq TeX-engine 'xetex) ;; Использовать XeLaTeX
(setq TeX-view-program-selection '((output-pdf "PDF Viewer")))
(setq TeX-view-program-list '(("PDF Viewer" "evince %o")))
2. Автоматическая сборка
(setq TeX-command-default "latexmk")
(setq TeX-command-extra-options "-pdf -shell-escape -synctex=1")
3. Проверка стиля
(add-hook 'LaTeX-mode-hook
(lambda ()
(flycheck-mode)
(setq flycheck-latex-checker 'chktex)))
Продвинутые настройки
1. Интеллектуальное завершение кода
(use-package company-auctex
:ensure t
:config
(company-auctex-init))
2. Подсветка синтаксиса
(use-package latex-preview-pane
:ensure t
:config
(latex-preview-pane-enable))
3. Шаблоны документов
(use-package yasnippet
:ensure t
:config
(yas-global-mode 1))
(use-package yasnippet-snippets
:ensure t)
Рабочий процесс с LaTeX-документом
- Создайте новый файл
.tex
или откройте существующий - Начните вводить
\documentclass
- сработает автодополнение - Используйте
C-c C-e
для добавления окружений - Для вставки ссылок:
- Создайте метку:
C-c )
- Вставьте ссылку:
C-c (
- Создайте метку:
- Для компиляции:
C-c C-c
(выберите команду, обычноlatexmk
) - Для просмотра PDF:
C-c C-v
Интеграция с другими инструментами
1. Работа с библиографией (BibTeX)
(setq reftex-plug-into-AUCTeX t)
Команды:
C-c [
- вставить ссылку на библиографиюC-c C-m bib RET
- вставить новый элемент библиографии
2. Просмотр ошибок
Используйте M-x flycheck-list-errors
для просмотра списка ошибок.
3. Синхронизация с PDF
(setq TeX-source-correlate-mode t
TeX-source-correlate-start-server t)
Для перехода из Emacs в PDF и обратно:
- В Emacs:
C-c C-g
- В PDF-просмотрщике: Ctrl+клик
Полезные советы
- Для многофайловых проектов используйте
\include
и\input
- Настройте шаблоны для часто используемых документов
- Используйте
yasnippet
для быстрой вставки структурных элементов - Для математических формул используйте
C-c C-m
и выберите нужный символ
Решение проблем
1. Компиляция не работает
Проверьте:
- Установлен ли
latexmk
:latexmk --version
- Правильно ли указан путь к TeX-дистрибутиву
2. Нет автодополнения
Убедитесь, что:
- Пакет
company-auctex
установлен и загружен - Включен режим
company-mode
3. PDF не синхронизируется с исходником
Проверьте настройки:
(setq TeX-source-correlate-mode t)
Альтернативные пакеты
- AUCTeX - основной пакет для работы с LaTeX
- cdlatex - быстрый ввод математических выражений
- prettify-symbols-mode - отображение символов (например, \alpha как α)
- lsp-latex - Language Server Protocol для LaTeX (требуется texlab)