9

Я пытаюсь установить AucTeX 1.86 поверх двоичного файла Emacs (версия 24.0.50) с сайта emacsformacosx.com. С первой попытки ./configure выходы:

configure: error: Cannot find the texmf directory!
Please use --with-texmf-dir=dir to specify where the preview tex files go configure: error: ./configure failed for preview

Я добавляю --with-texmf-dir=/usr/local/texlive/texmf-local , на который ./configure радостно отвечает несколькими поздравлениями. Я компилирую с make и sudo make install без сбоев.

Я открываю файл .tex на Emacs и AucTeX не загружается. Я (load auctex.el nil t t) Cj в буфере * scratch * и выводим Emacs:

Debugger entered--Lisp error:(file-error "Cannot open load file" "auctex.el")

Что-то случилось. Я подумал, что Emacs не может найти файл, поэтому он не должен быть установлен там, где он должен был быть. Я отслеживаю большинство файлов AucTeX в /usr/share/emacs/site-lisp , где живет Emacs 22.1.

У меня было два варианта:1. сообщить Emacs, где найти AucTeX (что я не знаю, как это сделать); 2. перекомпилируйте AucTeX с большим количеством опций конфигурации (которые казались более простыми).

Я решил перекомпилировать, после удаления всех файлов AucTeX из предыдущей установки. На этот раз я настраиваю источник, сообщая ему, где находится Emacs, с помощью:

./configure -with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --with-lisp-dir=/Applications/Emacs.app/Contents/Resources/site-lisp --with-texmf-dir=/usr/local/texlive/texmf-local

На этот раз он жалуется:

`configure: error: Cannot locate lisp directory,`
`use  --with-lispdir, --datadir, or possibly --prefix to rectify this`

хотя я включил параметр --with-lisp-dir=dir . Если я достану его, он все равно будет жаловаться на невозможность найти каталог lisp. Похоже, AucTeX не нравится Emacs.app в папке «Приложения».

Мой вопрос, как мне заставить это работать?

3 ответа3

10

Вот как я заставил Auctex работать с чистыми Emacs:

  1. Установите дистрибутив MacTeX
  2. Скачать OS X emacs, разместить в /Applications
  3. Загрузить архив Auctex
  4. Перейдите в каталог Auctex, настройте его с помощью команды:

    ./configure --with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --with-lispdir=/Applications/Emacs.app/Contents/Resources/site-lisp --with-texmf-dir=/usr/local/texlive/texmf-local
    
  5. Выполнение:

    make; sudo make install
    

    установить файлы elisp внутри Emacs.app , файлы информации в /usr/local/share/info и т. д.

  6. Отредактируйте файл ~/.emacs чтобы загрузить Auctex/preview-latex, и укажите Emacs на ваши исполняемые файлы Latex:

    (setenv "PATH" (concat "/usr/texbin:/usr/local/bin:" (getenv "PATH")))
    (setq exec-path (append '("/usr/texbin" "/usr/local/bin") exec-path))
    (load "auctex.el" nil t t)
    (load "preview-latex.el" nil t t)
    
  7. Auctex и preview-latex теперь должны работать. Следует помнить одну вещь: в старых версиях Auctex путь ps работает лучше, чем в pdf ; если изображения для предварительного просмотра латекса не отображаются с ошибкой «/typecheck in --setfileposition--», попробуйте отключить "Создать PDF" через «Панель меню -> Команда -> Параметр TeXing».


Обновление: шаги (2--5) можно заменить менеджером пакетов Homebrew:

brew install emacs --cocoa
brew install auctex

Другие шаги все еще верны. Опция Emacs "Создать PDF" теперь работает для меня.

5

Из руководства Mac/GNUstep экземпляры Emacs, запущенные из Finder, не наследуют переменные окружения, поэтому их необходимо установить. /etc/path и /etc/path.d/ устанавливают общесистемные переменные среды, но чтобы они были доступны для GUI (экземпляры, запускаемые Finder), они должны быть установлены в ~/.MacOSX/environment.plist .

Каталог и файл должны быть созданы пользователем. Как только это будет сделано, вставьте следующее (изменяя, где это необходимо) в файл environment.plist . Я получил это из сообщения в списке рассылки, который можно найти по адресу http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2009-12/msg00199.html .

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/texlive/2009basic/bin/universal-darwin</string>
</dict>
</plist>

AUCTeX должен вести себя хорошо сейчас.

0

Чтобы загрузить AUCTeX, необходимо изменить файл .emacs . Из Руководства AUCTeX:

В Emacs (или если вы явно отключили использование системы пакетов), файлы запуска 'auctex.el' и 'preview-latex.el' могут уже находиться в каталоге с именем site-start.d/, если ваш Установка Emacs обеспечивает это. В этом случае они должны автоматически загружаться при запуске, и больше ничего не нужно делать. Если нет, то они, по крайней мере, должны были быть размещены где-нибудь на вашем пути загрузки. Затем вы можете загрузить их, разместив строки

(load "auctex.el" nil t t)

(load "preview-latex.el" nil t t)

в ваш файл инициализации.

Если вы явно использовали --with-lispdir, вам может потребоваться добавить указанный каталог в переменную пути загрузки Emacs, добавив что-то вроде

(add-to-list 'load-path "~/elisp")

перед указанными выше строками в вашем файле запуска Emacs.

В моей системе нет ~/elisp , поэтому я добавляю каталог, указанный в конфигурации:(add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp") . Похоже, это делает загрузку AUCTex всякий раз, когда в Emacs открывается файл .tex . По некоторым причинам панель инструментов не включена по умолчанию.

Крючки AUCTeX теперь применяются. Тем не менее, при попытке латекс документа выходит с ошибкой:

/bin/sh: pdflatex: command not found

Кажется, это проблема $ PATH $.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .