Question

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

Was it helpful?

Solution

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

OTHER TIPS

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

Another less demanding possibility would be to use

(featurep 'tex-site)

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top