【问题标题】:LaTeX-mode hooks not loading in emacs (24.3.50) with AUCTeX (11.87.3)使用 AUCTeX (11.87.3) 无法在 emacs (24.3.50) 中加载 LaTeX 模式挂钩
【发布时间】:2014-03-05 12:46:05
【问题描述】:

自从我更新到 emacs 24 后,我无法让 AUCTeX 加载 LaTeX 模式挂钩,例如

(add-hook 'LaTeX-mode-hook 'visual-line-mode)

尽管:

  1. C-h m 告诉我我的主要模式是Major mode in AUCTeX for editing LaTeX files.
  2. AUCTeX 模式帮助说明:

    Entering LaTeX mode calls the value of `text-mode-hook',
    then the value of `TeX-mode-hook', and then the value
    of `LaTeX-mode-hook'.
    

    (确实,文本模式的钩子也没有加载。)

其他模式的挂钩(例如 Markdown 或 Python)也可以工作。

当然,我已经测试过手动激活,例如M-x visual-line-mode,确实有效。

谢谢!

【问题讨论】:

  • 您可能需要重新编译包 auctex。最简单的方法是从包管理器中卸载并重新安装。

标签: emacs auctex


【解决方案1】:

这很奇怪 C-hm 给了我

进入 Latex 模式会运行 hook text-mode-hook', then tex-mode-hook',最后是 `latex-mode-hook'。

注意它是latex-mode-hook 而不是LaTeX-mode-hook

编辑 - 我没有安装 auctex 也许这解释了为什么帮助信息对我们来说是不同的,忽略上面的部分。您可以尝试以下替代方法

(add-hook 'latex-mode-hook 'visual-line-mode)

【讨论】:

  • 谢谢,但这也不管用。它也不加载文本模式挂钩。
  • 您是否遇到任何错误? file-mode-specification-error 之类的东西?
  • 啊哈! File mode specification error: (error "Invalid image type xpm'")` :) 有关系吗?
  • @JesusTC,这就是错误。你的emacs中的一些设置被搞砸了。做M-x toggle-debug-on-error。这将在发生错误时打印回溯,这将提供一些线索。如果你把它贴在这里,我也可能会有所帮助。也尝试发布变量text-mode-hook的值
【解决方案2】:

正如另一个答案中的 cmets 所述,此问题是由 AucTeX 无法创建 XPM 图像引起的。当 Emacs 未使用 libxpm 库编译时会发生这种情况,当您主要在您最​​喜欢的终端仿真器中运行 Emacs 时可能会出现这种情况。

无论如何,您仍然可以在不重新编译 Emacs 的情况下纠正此问题。事实上,这些图像仅用于 AucTeX 工具栏。因此,禁用它将有效地完全消除问题。您可以通过添加:

(unless (image-type-available-p 'xpm)
  (setq LaTeX-enable-toolbar nil))

到您的.emacs(或.emacs.d/init.el)文件。

这个 sn-p 只是检查 Emacs 安装中是否有 XPM 图像,如果没有,它会禁用工具栏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多