tags:

views:

57

answers:

2

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).

+2  A: 

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))
Nathaniel Flath
Excellent, thanks!
Simon Wright
+1  A: 

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

Rémi