AUCTeX знает, что $
не является особенным в дословных средах, но вы должны сказать ему, что Verbatim
является дословной средой, организовав его отображение в LaTeX-verbatim-environments-local
.
Если AUCTeXустановлено оптимально, он уже знает, потому что AUCTeX загружает хук стиля для каждого файла, который вы загружаете через \usepackage
и друзей.Возможно, вам придется указать, чтобы он анализировал ваш заголовочный файл с помощью C-c C-n
(TeX-normal-mode
).
Если этого недостаточно, это означает, что Verbatim
было определено в файле стиля, для которого AUCTeX не имеетдостаточно информации.Вы можете указать AUCTeX проанализировать некоторые или все файлы стилей, которые вы установили;см. главу «Автоматически» в руководстве по AUCTeX.
Иногда AUCTeX не удается разобрать файл стиля;тогда вы можете сделать эту часть вручную.Приведенный ниже код предполагает, что вы получаете среду Verbatim
из пакета fancyvrb
;измените имя в противном случае.Создайте файл с именем fancyvrb.el
в одном из каталогов, упомянутых в TeX-style-path
, со следующим содержимым (могут быть и другие вещи, которые стоит добавить, я только что адаптировал alltt.el
):
(TeX-add-style-hook
"fancyvrb"
(lambda ()
(LaTeX-add-environments "BVerbatim" "LVerbatim" "SaveVerbatim" "Verbatim")
(make-local-variable 'LaTeX-indent-environment-list)
(add-to-list 'LaTeX-indent-environment-list '("BVerbatim" current-indentation))
(add-to-list 'LaTeX-indent-environment-list '("LVerbatim" current-indentation))
(add-to-list 'LaTeX-indent-environment-list '("SaveVerbatim" current-indentation))
(add-to-list 'LaTeX-indent-environment-list '("Verbatim" current-indentation))
(make-local-variable 'LaTeX-verbatim-regexp)
(setq LaTeX-verbatim-regexp (concat LaTeX-verbatim-regexp "\\|\\([BL]?\\|Save\\)Verbatim"))
(add-to-list 'LaTeX-verbatim-environments-local "BVerbatim")
(add-to-list 'LaTeX-verbatim-environments-local "LVerbatim")
(add-to-list 'LaTeX-verbatim-environments-local "SaveVerbatim")
(add-to-list 'LaTeX-verbatim-environments-local "Verbatim")
(when (and (featurep 'font-latex)
(eq TeX-install-font-lock 'font-latex-setup))
(font-latex-set-syntactic-keywords)
(setq font-lock-set-defaults nil)
(font-lock-set-defaults))))
(Я думал, что вы также можете сделать это вручную через файловые переменные, но это не работает, потому что настройки блокировки шрифтов создаются до инициализации локальных переменных файла, и я не вижу обходного пути.)