让 AUCTeX 和 amsmath 处理多个文件

让 AUCTeX 和 amsmath 处理多个文件

我正在使用 Emacs 23.1.1,插入了 AUCTeX,来编辑我的.tex文件,但我遇到了一个小问题amsmath环境。

我正在编辑的当前文档分为多个文件。只有主文件包含该\usepackage{amsmath}命令。当我编辑主文件时,auctex 会自动检测 amsmath,因此所有命令都可以正常工作。当我编辑其中一个嵌入文件(未加载 amsmath,甚至没有前言)时,AUCTeX 不会实现任何 amsmath 命令。

例如,如果我按下C-c C-e可用的环境,则不包括任何amsmath特定环境。即使我手动输入“align”,AUCTeX 也会打开一个align环境,但不会对其进行标记。我知道我可以手动定义环境,让 AUCTeX 记住并在我的.emacs文件,但它们仍然无法与 RefTeX 很好地兼容(M-RET键无法正确运行)。

每个嵌入文件在文件末尾都有以下几行,但这没有帮助:

%% Local Variables:
%% mode: LaTeX
%% tex-main-file: "../main.tex"
%% TeX-master: "../main.tex"
%% End 

此外,如果我在嵌入文件的开头添加该\usepackage{amsmath}行,auctex 的行为将完全符合预期。显然,我不能在文档中间声明包,LaTeX 会返回错误并且无法编译。

我可以做些什么让 auctex 为嵌入文件加载 amsmath-behavior 吗?或者我可以强制 AUCTeXamsmath在每个文件上加载(即使是那些没有声明包的文件)?

编辑:我没能在家里重现这个问题。由于我测试的文件与工作时使用的相同,所以似乎都表明问题出在.emacs我工作时使用的文件。我会查看它并尝试找出问题的原因,或者在需要时将其发布在这里。不幸的是,我只能在周一之前访问它(我认为我工作场所的电涌可能导致我的机器关闭,因为我的ssh尝试没有成功)。

答案1

事实证明这是两个问题同时存在,这就是为什么我一开始无法自己解决问题的原因。最初,这是文件局部变量声明中的拼写错误(End :而不是End:),这就是为什么当我删除文件时它不起作用的原因.emacs。在尝试排除故障时,我最终在文件中添加了几行.emacs,因此,当我最终发现并更正拼写错误时,问题并没有消失。
这也是让我认为这不是错误,而是一种标准行为的原因。

相关内容