Instalowanie AucTeX 1.86 na Emacs.app w OS X

9

Próbuję zainstalować AucTeX 1.86 na pliku binarnym Emacs (wersja 24.0.50) z witryny emacsformacosx.com. ./configureWyjścia przy pierwszej próbie :

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

Dodaję --with-texmf-dir=/usr/local/texlive/texmf-local, na co ./configureodpowiada z radością kilka gratulacji. Kompiluję z usterką makei sudo make installbez.

Otwieram plik .tex na Emacsie i AucTeX nie ładuje się. I wydać (load auctex.el nil t t)Cj do zera * * buforu wyjścia Emacsa:

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

Coś jest nie tak. Doszedłem do wniosku, że Emacs nie może znaleźć pliku, więc musiał on nie zostać zainstalowany tam, gdzie powinien. Śledzę większość plików AucTeX do /usr/share/emacs/site-lisp, gdzie mieszka Emacs 22.1.

Miałem tutaj dwie opcje: 1. powiedz Emacsowi, gdzie znaleźć AucTeX (czego nie wiem jak to zrobić); 2. ponownie skompiluj AucTeX z większą ilością opcji konfiguracyjnych (które wydawały się prostsze).

Zdecydowałem się ponownie skompilować po usunięciu wszystkich plików AucTeX z poprzedniej instalacji. Tym razem konfiguruję źródło, mówiąc mu, gdzie powinien być Emacs, za pomocą:

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

Tym razem narzeka:

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

mimo że zawarłem tę --with-lisp-dir=diropcję. Jeśli go wyciągnę, nadal narzeka, że ​​nie mogę znaleźć katalogu lisp. AucTeX nie wydaje się lubić Emacs.app w folderze Aplikacje.

Moje pytanie brzmi: jak mogę to uruchomić?

Ricardo
źródło

Odpowiedzi:

11

Oto, w jaki sposób zmusiłem Auctex do pracy z czystym Emacsem:

  1. Zainstaluj pakiet dystrybucyjny MacTeX
  2. Pobierz emacs OS X , umieść w/Applications
  3. Pobierz archiwum Auctex
  4. Przejdź do katalogu Auctex, skonfiguruj za pomocą polecenia:

    ./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. Wykonać:

    make; sudo make install
    

    aby zainstalować elisppliki wewnątrz Emacs.app, pliki informacyjne /usr/local/share/infoitp.

  6. Edytuj ~/.emacsplik, aby załadować Auctex / Preview-latex i skieruj Emacsa na pliki wykonywalne 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 i lateks podglądowy powinny już działać. Należy pamiętać o jednej rzeczy: w starszych wersjach Auctex psścieżka wydaje się działać lepiej niż pdf; jeśli podgląd lateksu nie pojawia się z błędem „/ typecheck w --setfileposition--”, spróbuj wyłączyć „Generuj PDF” poprzez „Pasek menu -> Polecenie -> opcja TeXing”.


Aktualizacja : Kroki (2--5) można zastąpić menedżerem pakietów Homebrew:

brew install emacs --cocoa
brew install auctex

Pozostałe kroki są nadal prawidłowe. Opcja Emacsa „Generuj PDF” działa teraz dla mnie.

Kipton Barros
źródło
5

Z podręcznika Mac / GNUstep instancje Emacsa uruchomione z Findera nie dziedziczą zmiennych środowiskowych, dlatego należy je ustawić. /etc/pathi /etc/path.d/ustawi zmienne środowiskowe w całym systemie, ale aby mieć je dostępne dla GUI (instancji uruchomionych w Finderze), należy je ustawić w ~/.MacOSX/environment.plistpliku.

Katalog i plik muszą zostać utworzone przez użytkownika. Gdy to zrobisz, wklej do environment.plistpliku (modyfikując w razie potrzeby) . Otrzymałem to z wiadomości na liście mailingowej znajdującej się na stronie 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 powinien się teraz ładnie zachowywać.

Ricardo
źródło
0

Aby załadować AUCTeX, .emacsplik musi zostać zmodyfikowany. Z podręcznika AUCTeX:

W przypadku Emacsa (lub jeśli wyraźnie wyłączyłeś korzystanie z systemu pakietów) pliki startowe „auctex.el” i „Preview-latex.el” mogą już znajdować się w katalogu odmiany „site-start.d /”, jeśli Twój Zapewnia to instalacja Emacsa. W takim przypadku powinny zostać automatycznie załadowane podczas uruchamiania i nie trzeba nic więcej robić. Jeśli nie, powinny przynajmniej zostać umieszczone gdzieś na ścieżce ładowania. Następnie można je załadować, umieszczając linie

(load "auctex.el" nil t t)

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

do twojego pliku init.

Jeśli jawnie użyłeś opcji --with-lispdir, może być konieczne dodanie określonego katalogu do zmiennej ścieżki ładowania Emacsa poprzez dodanie czegoś w rodzaju

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

przed powyższymi wierszami do pliku startowego Emacsa.

Nie ma ~/elispkatalogu w moim systemie, więc dodaję do katalogu określonego w konfiguracji: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Wydaje się, że wykonuje to zadanie ładowania AUCTex za każdym razem, gdy .texplik jest otwierany w Emacsie. Z jakiegoś powodu pasek narzędzi nie jest domyślnie włączony.

Haki AUCTeX są teraz stosowane. Jednak próba lateksowania dokumentu kończy się błędem:

/bin/sh: pdflatex: command not found

Wygląda na to, że jest to problem $ PATH $.

Ricardo
źródło