在几个地方提到eqnarray
应该避免的环境,例如这个避免使用 eqnarray!文章。
话虽如此,当我在 emacs 中使用 AUCTeX 时,如果我输入,我将得到、、和C-c C-e eq TAB
之间的循环。既然不推荐,我该如何关闭这个相关提示?请注意,我的文件中有以下内容eqnarray
eqnarray*
equation
equation*
eqnarray
.emacs
(if (>= emacs-major-version 24)
(setq completion-cycle-threshold 5))
我想我可以.el
在某个地方仔细查看文件并注释掉相关行。另一方面,我希望只需在文件中添加几行即可完成此操作.emacs
。提前致谢!
(2022.10) 最近我发现可以使用其他一些不错的 emacs 模式(例如ivy
或 )来绕过该问题vertico
。这些模式会提供更多选择,但会记住您最近的选择。
接受的答案仍然有价值,因为它可以阻止用户尝试等eqnarray
。因为它不会出现在选择列表中。
答案1
您必须进行编辑latex.el
,但正如您所说,这不是最好的选择。
虽然没有经过严格测试,但是将其放入您的初始化文件中应该可以解决问题:
(defun dj/remove-eqnarray ()
"Remove eqnarray*? from variable `LaTeX-environment-list'."
(let ((evil-envs '("eqnarray" "eqnarray*")))
(LaTeX-environment-list)
(dolist (env evil-envs)
(setq LaTeX-environment-list
(assq-delete-all
(car (assoc env LaTeX-environment-list))
LaTeX-environment-list)))))
(eval-after-load "latex"
'(progn
(dj/remove-eqnarray)
(add-hook 'TeX-auto-cleanup-hook #'dj/remove-eqnarray t)))