【发布时间】:2013-06-19 02:48:28
【问题描述】:
我正在尝试将以下代码添加到我的 .emacs 初始化文件中:
(TeX-add-symbols '("eqref" TeX-arg-ref))
但我无法让它工作。从命令行运行emacs t.tex(t.tex 此处为示例文本文件)时出现以下错误:
Warning (initialization): An error occurred while loading `.emacs':
Symbol's function definition is void: TeX-add-symbols
我在 Ubuntu 12.04 上使用 GNU Emacs 版本 23.3.1。我的.emacs 初始化文件看起来像
(setq TeX-auto-parse t)
(setq TeX-electric-escape t)
(setq reftex-label-alist '((nil ?e nil "~\\eqref{%s}" nil nil)))
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(setq reftex-plug-into-AUCTeX t)
(TeX-add-symbols '("eqref" TeX-arg-ref))
如果我输入ESC-:(即运行命令eval-expression)并输入
(TeX-add-symbols '("eqref" TeX-arg-ref)) 在提示符下工作正常。 (即在运行此之后,我可以在缓冲区中输入\eqref 并且它按预期工作。但这不是一个好的解决方案,每次编辑文件时都必须手动输入此代码。这就是为什么我尝试在.emacs 文件中设置它..)
此问题的背景信息:
我在使用 AucTeX 样式 amsmath.el 时遇到问题。它似乎没有在我的机器上正确加载。有关更多信息,请参阅 Using \eqref with RefTeX。
【问题讨论】:
-
(eval-after-load "latex" '(TeX-add-symbols '("eqref" TeX-arg-ref))) -
谢谢,不过好像不行..
-
您报告的错误(
Symbol's function definition is void: TeX-add-symbols)应该已修复,对吧?要使eqref工作,您必须删除/var/lib中的文件,正如我在 TeX.SE 上建议的那样。 -
是的 :) 但是当我输入
C-h v TeX-symbol-listeqref时没有定义... -
试试
(add-hook 'LaTeX-mode-hook '(lambda () (TeX-add-symbols '("eqref" TeX-arg-ref))))或(add-hook 'LaTeX-mode-hook '(lambda () (TeX-add-symbols '("eqref" TeX-arg-ref (ignore)))))