我正在使用 Emacs 和 AUCTeX 以及 RefTeX 索引 LaTeX 文档。在文档中匹配分隔符(或发现不匹配的分隔符)变得更加困难的一件事是 Emacs(或者可能是 AUCTeX 或 RefTeX——我不确定哪个是罪魁祸首)容易误解命令中的|(
和|)
页面范围说明符\index
。
例如,当我输入类似 的内容时\index{ferrets|(}
,一旦我输入 ,}
迷你缓冲区中就会出现虚假的“括号不匹配”警告。从此时起,与文档匹配的所有分隔符都会被搞砸。例如,请看以下代码片段:
\somecommand{
⋮
\index{ferrets|(}
⋮
}
当我输入最后一个字符时}
,Emacs 错误地告诉我匹配的左括号位于\index
,而不是\somecommand
。
\index
有什么方法可以让我教会 Emacs(或 AUCTeX 或 RefTeX)为了括号匹配而忽略命令的内容?
答案1
一种可能性是告诉 AUCTeXindex
是一个逐字宏。这实际上不是真的,但逐字宏会忽略括号配对。将以下代码添加到您的 init 文件中并重新启动 Emacs:
(eval-after-load "latex"
'(add-to-list 'LaTeX-verbatim-macros-with-braces "index"))