0

我有一个包,它具有依赖 AUCTeX 的各种功能。就目前而言,它需要手动配置:

(defvar AucTeX-used nil)

(if AucTeX-used
  (progn
    (require 'tex-site)
    (require 'latex))
  (require 'latex-mode)
  (setq TeX-command-list nil))

有没有办法找出机器上是否有AUCTeX,以避免AucTeX-Used手动设置?

(我在 Max OS X 上使用 GNU Emacs 23.1.1)。

4

3 回答 3

3

您可以使用locate-library功能并执行以下操作:

(if (locate-library "auctex")
  (progn
    (require 'tex-site)
    (require 'latex))
  (require 'latex-mode)
  (setq TeX-command-list nil))
于 2010-04-23T20:11:10.157 回答
1

另一种可能性是:

(if (require 'tex-site nil t)
    (require 'latex)
  (require 'latex-mode) 
  (setq TeX-command-list nil))

如果 require 的可选第三个参数不是 nil,则如果找不到文件,则 require 将返回 nil 而不是发出错误信号

于 2010-04-24T06:57:46.670 回答
1

另一个要求不高的可能性是使用

(featurep 'tex-site)

这是真/假,取决于是否已加载 AUCTeX。

于 2019-07-26T18:56:14.310 回答