Simon Wright
Simon Wright

Reputation: 25511

How can I tell if AUCTeX is available?

I have a package which has various features that depend on AUCTeX. As it stands, it requires hand-configuration:

(defvar AucTeX-used nil)

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

Is there a way to find out whether AUCTeX is available on the machine, to avoid having to set AucTeX-Used by hand?

(I'm using GNU Emacs 23.1.1 for Max OS X).

Upvotes: 0

Views: 769

Answers (3)

vitaminace33
vitaminace33

Reputation: 143

Another less demanding possibility would be to use

(featurep 'tex-site)

which is true/false depending on if AUCTeX has been loaded or not.

Upvotes: 1

Rémi
Rémi

Reputation: 8342

Another possibility would be:

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

If the optional third argument of require is non-nil, then require will return nil if the file is not found instead of signaling an error

Upvotes: 1

Nathaniel Flath
Nathaniel Flath

Reputation: 16025

You can use the locate-library function and do this:

(if (locate-library "auctex")
  (progn
    (require 'tex-site)
    (require 'latex))
  (require 'latex-mode)
  (setq TeX-command-list nil))

Upvotes: 3

Related Questions