我最近从 Kile 切换到 Emacs/AUCTeX 来编辑 LaTeX。总体来说我更喜欢 AUCTeX,部分原因是我花了很多精力来学习 Emacs。我非常怀念 Kile 的一个功能是,\end{environment}
每当我输入 时,它都会自动插入begin{environment}
。由于我经常要输入和输出方程式,这为我节省了很多打字时间。
有没有办法让 emacs\end{}
在我输入 时自动插入\begin{}
,就像 kile 那样?
答案1
AUCTeX 具有与其他大多数 LaTeX 编辑器不同的自动完成机制。在 Emacs 中,当TeX-latex-mode
激活时,序列Ctrl-c Ctrl-e(-
表示在按住第一个键的同时必须按下第二个键,而空格表示在下一个组合键之前释放两个键)会在页面底部打开迷你缓冲区对话框界面,您可以在其中输入所需环境的名称。按下enter和 Emacs 会自动插入\begin{}
和\end{}
标签并将指针放在所述标签之间的行中,通常甚至会添加适当的缩进。AUCTeX 以这种方式保留插入环境的历史记录,因此您可以使用向上和向下箭头键调用最近插入的环境。此外,默认情况下将使用最后插入的环境,因此如果您经常插入环境,则根本不需要输入任何内容。
此外,正如@daleif 所提到的,您可以用 更改当前环境Ctrl-u Ctrl-c Ctrl-e并插入与\end{...}
最后打开的匹配的。\begin{...}
Ctrl-c ]
更多详细信息请访问官方项目页面。
请注意,文档中使用了非常规符号:例如,C代表Ctrl,RET代表enter(return)按钮,M代表菱形元键在旧键盘中(但alt可以正常工作)等等。
答案2
如果你正在编辑带有扩展名的文件.tex
,那么 emacs 应该会自动输入latex-mode
(你会看到(乳胶)在状态栏中)。
在此模式下,C-c C-o
调用latex-insert-block
将提示输入块名称和参数,并带有历史记录和自动名称建议。这将插入开始和结束命令。
如果您已经输入了开始命令,则C-c C-e
结束块调用latex-close-block
。
您可以在编辑 LaTeX 文件时latex-mode
按下来检查所有功能。F1 m
其他功能包括直接从缓冲区进行编译C-c C-f
,或检查不一致之处。
文档在这里:http://www.gnu.org/software/emacs/manual/html_node/emacs/TeX-Mode.html