当使用 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 格式,但我觉得这太丑了。