Как я могу узнать, доступен ли AUCTeX? - PullRequest
0 голосов
/ 23 апреля 2010

У меня есть пакет, который имеет различные функции, которые зависят от 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?

(я использую GNU Emacs 23.1.1 для Max OS X).

Ответы [ 2 ]

3 голосов
/ 24 апреля 2010

Вы можете использовать функцию locate-library и сделать это:

(if (locate-library "auctex")
  (progn
    (require 'tex-site)
    (require 'latex))
  (require 'latex-mode)
  (setq TeX-command-list nil))
1 голос
/ 24 апреля 2010

Другая возможность будет:

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

Если необязательный третий аргумент require не равен nil, то require вернет nil, если файл не найден, вместо сообщения об ошибке

...