我不知道 AUCTeX 在这里做什么,但我不喜欢它:
\begin{align}
a &= b
+ c
\end{align}
我似乎明白它也许认为+c
应该与“一起” = b
。但以下情况在我看来显然是错误的:
\begin{alignat}{2}
a &= b &\qquad
c &= d
\end{alignat}
这似乎是最近才有的变化(至少,我认为以前在我的旧电脑上没有发生过这种情况)。我该如何关闭它?
答案1
我只能假设你的初始化文件中没有这样的行:
(setq TeX-parse-self t)
因此,您不会得到这种行为,它实际上一直存在,在 AUCTeX 文件中,amsmath.el
但它没有被激活。
无论如何,看一下LaTeX-indent-environment-list
具有如下条目的变量:
("align" LaTeX-indent-tabular)
("alignat" LaTeX-indent-tabular)
自定义此变量并删除您不想要这种缩进的环境名称。此变量已更改为这次提交。
假设你有一个phd-thesis.tex
如下文件:
\documentclass{article}
\usepackage{geometry}
\usepackage{natbib}
\begin{document}
foo
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:
当您设置TeX-parse-self
为nil
(也是默认值)并加载此文件时, 的值为TeX-active-styles
。("phd-thesis" "LATEX")
这意味着 AUCTeX 仅在子目录phd-thesis.el
中找到(自动解析的)文件时才会加载该文件./auto
。如果您之前从未解析过该文件(使用C-c C-n),则没有./auto/phd-thesis.el
。因此基本上您无法利用 AUCTeX 在geometry.el
和中提供的扩展natbib.el
。
当您已设置TeX-parse-self
为t
并且没有 时./auto/phd-thesis.el
,AUCTeX 会解析文件(但不会写入 并且./auto/phd-thesis.el)
的值TeX-active-styles
现在为("natbib" "geometry" "art10" "article" "latex2e" "phd-thesis" "LATEX")
。这意味着 AUCTeX 已加载其扩展。如果有./auto/phd-thesis.el
,AUCTeX 会加载该文件并且不会重新解析该文件。
以下是手动的。
我建议这样的设置:
(setq TeX-parse-self t) ; Enable parse on load
(setq TeX-auto-save nil) ; Disable parse on save