我正在尝试将以下代码添加到我的.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
file..)
此问题的背景信息:
我在使用 AucTeX 样式时遇到问题amsmath.el
..它似乎没有正确加载到我的机器上。.有关更多信息,请参阅将 \eqref 与 RefTeX 一起使用 https://tex.stackexchange.com/questions/118640/using-eqref-with-reftex.
您必须在之后评估代码LaTeX-mode
已激活,否则会出现错误Symbol's function definition is void: TeX-add-symbols
。您可以将该函数添加到LaTeX-mode
。为了覆盖可能的其他eqref
宏定义,你应该添加一个虚拟的(ignore)
到宏的定义。这段代码,在你的.emacs
,这样做的技巧:
(add-hook 'LaTeX-mode-hook
'(lambda ()
(TeX-add-symbols '("eqref" TeX-arg-ref (ignore)))))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)