我在 macOS 10.14.3 中使用 Aquamacs 3.4,并且已经使用 Aquamacs 多年了。当我使用 将itemize
或enumerate
环境插入 LaTeX 文档时C-c C-e,我得到了预期的提示:
(可选)选项(k=v):
如果我按下RET,则环境会出现在我的文档中。直到今天,这还会插入第一个\item
。从今天起(没有更新 Aquamacs、macOS 或我的 LaTeX 发行版),我反而收到了令人困惑的状态消息:
符号的函数定义无效:TeX-deactivate-mark
此消息是什么意思?出了什么问题,我该如何修复并找回\item
?我尝试过在线搜索,但没有找到任何有用的信息TeX-deactivate-mark
。C-h v而且C-h fAquamacs 中似乎也不知道TeX-deactivate-mark
。我不确定这是 Aquamacs、AUCTeX 还是我的 LaTeX 发行版的问题。
奇怪的是,M-RET在环境中确实创建了\item
预期的内容。
谢谢您的帮助;这是我的第一篇 Stack Exchange 帖子。
更新:在下面的评论中,@ArashEsbati 帮助确定了问题,并回答了我除了“如何修复它?”之外的所有问题。按照建议,我输入了M-x load-list-path-shadows
,结果输出如下:
/Users/[用户名]/Library/Preferences/Aquamacs Emacs/Packages/elpa/auctex-12.1.2/tex-site 隐藏 /Applications/Aquamacs.app/Contents/Resources/lisp/aquamacs/edit-modes/tex-site
后面跟着 26 行类似的代码。每行都涉及 中的一个项目/Users/.../auctex-12.1.2
“隐藏” 中的一个相应项目/Applications/.../edit-modes
。 中的项目似乎/Applications/.../edit-modes/
已经过时了,并且是我问题的根源。我该如何解决这个冲突?(例如,删除文件夹是否安全/Applications/Aquamacs.app/Contents/Resources/lisp/aquamacs/edit-modes
?)
答案1
在一条评论中,@ArashEsbati 推测我安装了多个 AUCTeX,并建议M-x list-load-path-shadows RET
在 .tex 文件中触发奇怪的状态消息后在 Aquamacs 中尝试。
@ArashEsbati 是正确的:M-x list-load-path-shadows RET
显示我确实安装了两个 AUCTeX。我删除了一个,然后发现我的 .tex 文件无法使用 进行编译C-c C-c,但当 Aquamacs 在没有自定义的情况下加载时确实可以编译。似乎我~/Library/Preferences/Aquamacs Emacs/customizations.el
上周无意中毁了我的文件;我认为这是我发布的问题的最终根源。此时,删除所有 TeX 模式自定义customizations.el
、删除所有 AUCTeX 并重新安装 Aquamacs、删除所有已安装的 LaTeX 发行版以及下载最新的 MacTeX 对我来说更快。现在工作正常。