在 emacs 中对 csquotes 引文进行良好的引用搜索(例如 reftex 的 Cc [)

在 emacs 中对 csquotes 引文进行良好的引用搜索(例如 reftex 的 Cc [)

当使用 emacs+reftex-mode 时,我可以点击“ C-c [”并获得一个不错的命令引用搜索菜单\cite。有没有办法为csquotes' 集成引文(例如\displaycquote)获取相同的菜单?

答案1

最简单的方法可能是将以下内容添加到您的 .emacs 配置中(对于宏\textquote):

(TeX-add-symbols
'("textquote" [ TeX-arg-cite ] [ "Punctuation" ] t)
)

(看AUCTeX 添加宏參見 (文件)

TeX-arg-cite应该调用 RefTeX 引用搜索。它的行为似乎很奇怪,因为即使它被定义为可选参数,它也会强制您选择引用。

也是添加环境的方法, 所以

(LaTeX-add-environments
 `("displayquote" LaTeX-env-args
   [TeX-arg-cite [ "Punctuation" ] t]))

应该displayquote根据文档定义环境,但由于某些原因,这对我来说不起作用。

正如文档,在样式钩子中执行此操作会更清晰,以便仅为实际使用引用包裹:

(TeX-add-style-hook
 "csquotes"
 (lambda ()
   (TeX-add-symbols
    '("textquote" [ TeX-arg-cite ] [ "Punctuation" ] t)
    )
   (LaTeX-add-environments
    `("displayquote" LaTeX-env-args
      [TeX-arg-cite [ "Punctuation" ] t])
    )
   )
 )

但是,执行此操作时应检查是否没有覆盖某些 AUCTeX 默认值。


不太干净的做法是通过指定一个新的reftex-cite 格式,但我觉得这太丑了。

相关内容