How can I tell if AUCTeX is available?
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).
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