我遇到了类似的问题这个非常古老的问题,因为 AUCTeX 不会自动完成 TeX-master 文件之外的命令。
我有以下文件:
main.tex
:
% arara: pdflatex
% arara: bibtex
% arara: pdflatex
% arara: pdflatex
% arara: latexmk: { clean: partial }
\documentclass{report}
\usepackage{amsmath}
\begin{document}
What follows are some equations.
\input{sections/equations}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
以及一个下属文件
sections/equations.tex
\section{Some equations}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../main"
%%% End:
问题是,在加载amsmath
包时main.tex
,相应的环境(例如\align
)是仅有的自动完成于main.tex
,而非于sections/equations.tex
。AUXTeX 似乎应该开箱即用地支持这种行为(请参阅文档),我遗漏了什么?
Emacsconfig.org
我认为错误可能源于我的 Emacs 配置,AUXTeX 的相关 Emacs 配置是:
(use-package tex
:ensure auctex
:config
(setq-default TeX-master nil)
(setq TeX-auto-save t
TeX-parse-self t)
(setq font-latex-fontify-sectioning 'color) ;; Disable fontification, e.g. \section
(setq reftex-plug-into-AUCTeX t)
(setq reftex-bibliography-commands '("bibliography" "nobibliography" "addbibresource"))
;; Add Zathura as default (see below)
(add-to-list 'TeX-view-program-selection '(output-pdf "Zathura"))
;; Add hooks
:hook ((LaTeX-mode . turn-on-reftex) ;; Turn on RefTeX
(LaTeX-mode . eglot-ensure) ;; Turn on eglot (LSP)
(LaTeX-mode . TeX-source-correlate-mode) ;; Correlated PDF and tex file
(TeX-after-compilation-finished-functions . TeX-revert-document-buffer)))