ams math + AUCTeX + refTeX 导致标签引用始终为 \eqref,而不是所需的 \vref

ams math + AUCTeX + refTeX 导致标签引用始终为 \eqref,而不是所需的 \vref

正如 reftex 文档所述“请注意,这是由 AUCTEX 的‘amsmath.el’样式文件自动完成的,请参阅第 7.8.2 节第 38 页 - 因此如果您使用 AUCTEX,则此配置不是必需的。”但我的问题是,插入引用的 Cc ) 会给我样式对话框,我选择 \vref,但它会插入 \eqref。这让我很抓狂。我不知道如何调试和修复这个问题,我的 lisp-fu 很差。

我的文档使用了 amsmath、varioref 和 cleveref 包。

答案1

所以@giordano至少部分正确,这与使用 RefTeX、AUCTeX 和 cleveref 交叉引用方程式更具体地说,修复了以下错误:此补丁

在 Mac OS X 上,为了修复它,我使用 Emacs 24.3 (9.0) 执行以下操作:

Sudo Emacs /Applications/Emacs.app//Contents/Resources/lisp/textmodes/reftex-ref.el.gz

然后在 emacs 中我手动编辑了第 836-837 行,删除了那里的内容,

(while (string-match "\\(\\\\ref\\)[ \t]*{" fmt) (setq fmt (replace-match refstyle t t fmt 1)))

和:

(cond ((while (string-match "\\(\\\\ref\\)[ \t]*{" fmt) (setq fmt (replace-match refstyle t t fmt 1)))) ((string-match "\\(\\\\[[:alpha:]]+\\)[ \t]*{" fmt) (setq fmt (replace-match refstyle t t fmt 1))))

接下来我保存并运行

M-x byte-compile

然后关闭并重新打开我的其他 Emacs 会话。

我希望其他人发现这很有用。

相关内容