TeX-mode — это специальный режим, предназначенный для редактирования файлов с исходными текстами в формате TeX и его вариантов. Пакет предоставляет специальные команды для редактирования исходных текстов, подсветки разметки, и выполнения обработки текстов. Данный режим поддерживает следующие варианты — Plain TeX, LaTeX, SliTeX и DocTeX.
Режим поставляется в составе GNU Emacs, а также в составе пакетов для XEmacs, так что специальных действий по его загрузке и установке не требуется.
Для начала работы с пакетом просто наберите M-x tex-mode
. Но обычно, пользователю не
нужно это делать явно, путем настройки соотношения между расширениями файлов и
соответствующими режимами. При инициализации режима пакет пытается автоматически
определить в каком режиме он будет работать — Plain TeX, LaTeX или SliTeX. Это
выполняется на основе анализа команд, заданных в открываемом файле. Но если содержимого
файла не достаточно, то для выбора нужного режима используется значение переменной
tex-default-mode
. Когда определение варианта TeX произошло неправильно, то пользователь
может явно переключиться на использование нужного варианта используя команды
plain-tex-mode
, latex-mode
и slitex-mode
.
Команды пакета можно разделить на несколько групп — команды редактирования, команды
печати результатов компиляции файлов, и прочие команды. О них и будет идти рассказ в
соответствующих подразделах. Все описанные команды также доступны через соответствующие
меню —
TeX
и LaTeX
.
Для работы со всеми вариантами TeX пакет предоставляется относительно небольшое количество команд. Но кроме явных комманд, предоставляются возможности по подсвечиванию парных элементов, проверке правильности разметки и т.п. вещи.
Команда tex-terminate-paragraph
(она привязана к C-j
) заканчивает текущий параграф,
вставляя две пустых строки. При этом производится проверка параграфа на наличие
несбалансированных знаков доллара и скобок. Проверить несколько параграфов на наличие
несбалансированных элементов можно выделив их, и запустив команду tex-validate-region
,
которая проверит параграфы в выделенной области.
Пакет TeX-mode предоставляет пользователю удобные средства для вставки и проверки
элементов, которые должны иметь свою пару. Так, для кавычек может использоваться команда
tex-insert-quote
, привязанная к клавише "
, которая вставляет либо ``
, либо "
, или ''
в
зависимости от контекста и наличия предыдущей открывающей кавычки, что обеспечивает
правильное отображение кавычек в результирующем файле. Для вставки парных фигурных скобок
может использоваться команда tex-insert-braces
, привязанная к C-c {
. Для поиска
несбалансированных скобок используется команда up-list
(она привязана к C-c }
), которая
перемещает курсор за первую непарную закрывающую скобку.
Для редактирования исходных текстов с разметкой LaTeX, пакет предоставляет еще две команды
—
tex-latex-block
(привязана к C-c C-o
) и tex-close-latex-block
(она привязана к C-c
C-e
). Первая функция вставляет команды \begin
и \end
для заданного окружения LaTeX, и
помещает курсор на пустой строке между ними. При использовании этой команды пользователь
указывает имя окружения, при этом он может использовать стандартные механизмы дополнения
Emacs. При дополнении могут использоваться как имена стандартных окружений, так и имена
окружений созданных пользователем, которые можно задать изменяя значение переменной
latex-block-names
. Вторая команда используется для вставки команды, закрывающей последнее
незакрытое окружение LaTeX.
Набрав текст с разметкой, хочется увидеть как он будет выглядеть на бумаге. Для этого, пакет TeX-mode предоставляет набор команд, которые позволяют получить результат обработки файла с исходным текстом. Получение результатов происходит в два этапа. На первом этапе исходные тексты обрабатываются TeX'ом, а на втором этапе может работать с результатом обработки.
Для обработки исходного текста могут использоваться следующие команды: tex-file
(сочетание
клавиш C-c C-f
) обрабатывает текущий файл, tex-buffer
(сочетание C-c C-b
) производит
обработку текущего буфера, а tex-region
, привязанная к C-c C-r
, производит обработку
выделенной области. Кроме этого, вы можете обработать исходные тексты с помощью BibTeX,
используя команду tex-bibtex-file
(сочетание клавиш C-c TAB
). Для больших проектов,
состоящих из нескольких файлов, вы можете указать головной файл, используя локальную
переменную tex-main-file
.
Во время обработки исходных текстов, вы можете видеть журнал обработки в буфере
*tex-shell*
. Для того, чтобы видеть текущий результат, включая последнюю строку вывода,
можно использовать команду tex-recenter-output-buffer
, привязанную к C-c C-l
. Если вы
хотите прервать обработку документа, то можете воспользоваться командой tex-kill-job
(сочетание клавиш C-c C-k
).
После обработки исходных текстов, пользователь может просмотреть результаты с помощью
команды tex-view
, привязанной к сочетанию клавиш C-c C-v
, или напечатать результат с
помощью команды tex-print
(сочетание C-c C-p
). Для просмотра очереди печати можно
использовать команду tex-show-print-queue
(или сочетание клавиш C-c C-q
).
Для преобразования между символами в кодировке Latin-1 и соответствующими эквивалентами
TeX могут использоваться команды iso-iso2tex
, iso-tex2iso
, iso-iso2gtex
и iso-gtex2iso
.
Настройку данного режима пользователь можно произвести используя средства настройки Emacs.
Главной группой для этого режима является группа настройки tex
. Пользователь может
задать, например, имена команд, которые будут выполняться на каждой из стадии — обработке
исходных текстов, просмотре, печати и т.д. При этом, пользователю необходимо задать имя
для команды просмотра результатов, используя переменную tex-dvi-view-command
, поскольку
для этой переменной нет значения по умолчанию.
Для тонкой настройки параметров редактирования файла, пользователю предоставляется
несколько хуков. При открытии любого файла с разметкой TeX и его вариантов, вызываются
два хука —
text-mode-hook
и tex-mode-hook
, первый из которых применяется ко всем
текстовым файлам, а второй — только к файлам TeX. Кроме этого, для настройки
редактирования файлов в отдельных вариантах TeX, пакет определяет специальные хуки —
plain-tex-mode-hook
, latex-mode-hook
и slitex-mode-hook
, которые вызываются при открытии
файла с соответствующей разметкой.
Last change: 05.03.2013 16:54