Installieren von AucTeX 1.86 über Emacs.app in OS X

9

Ich versuche, AucTeX 1.86 über eine Emacs-Binärdatei (Version 24.0.50) von emacsformacosx.com zu installieren. Bei den ./configureAusgaben des ersten Versuchs :

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

Ich füge hinzu --with-texmf-dir=/usr/local/texlive/texmf-local, worauf ./configureglücklich mit mehreren Glückwünschen geantwortet wird. Ich kompiliere mit makeund sudo make installohne Panne.

Ich öffne eine .tex-Datei auf Emacs und AucTeX wird nicht geladen. Ich (load auctex.el nil t t)gebe Cj in den Ausgaben * scratch * buffer und Emacs aus:

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

Irgendwas ist los. Ich dachte, Emacs könnte die Datei nicht finden, also muss sie nicht dort installiert sein, wo sie sein sollte. Ich finde die meisten AucTeX-Dateien dort /usr/share/emacs/site-lisp, wo Emacs 22.1 lebt.

Ich hatte hier zwei Möglichkeiten: 1. Emacs mitteilen, wo AucTeX zu finden ist (was ich nicht weiß, wie es geht); 2. Kompilieren Sie AucTeX mit mehr Konfigurationsoptionen (die einfacher zu sein schienen).

Ich entschied mich für eine Neukompilierung, nachdem ich alle AucTeX-Dateien aus der vorherigen Installation gelöscht hatte. Dieses Mal konfiguriere ich die Quelle und teile ihr mit, wo der Emacs verwendet werden soll:

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

Dieses Mal beschwert es sich:

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

obwohl ich die --with-lisp-dir=dirOption aufgenommen habe. Wenn ich es herausnehme, beschwert es sich immer noch darüber, das lisp-Verzeichnis nicht finden zu können. AucTeX scheint die Emacs.app im Ordner "Programme" nicht zu mögen.

Meine Frage ist, wie bekomme ich das zum Laufen?

Ricardo
quelle

Antworten:

10

So habe ich Auctex dazu gebracht, mit reinen Emacs zu arbeiten:

  1. Installieren Sie das MacTeX-Distributionspaket
  2. Laden Sie OS X-Emacs herunter , platzieren Sie es in/Applications
  3. Laden Sie den Auctex-Tarball herunter
  4. Gehen Sie in das Auctex-Verzeichnis und konfigurieren Sie mit dem Befehl:

    ./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. Ausführen:

    make; sudo make install
    

    zum installieren der elispdateien innerhalb der Emacs.app, der infodateien /usr/local/share/info, etc.

  6. Bearbeiten Sie Ihre ~/.emacsDatei, um Auctex / preview-latex zu laden und zeigen Sie Emacs auf Ihre Latex-Programmdateien:

    (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 und Preview-Latex sollten jetzt funktionieren. Eines ist zu beachten: Bei älteren Auctex-Versionen psscheint der Pfad besser zu funktionieren als pdf; Wenn keine Vorschau-Latexbilder mit dem Fehler "/ typecheck in --setfileposition--" angezeigt werden, deaktivieren Sie "PDF generieren" über "Menüleiste -> Befehl -> TeXing-Option".


Update : Schritte (2-5) können durch den Homebrew-Paketmanager ersetzt werden:

brew install emacs --cocoa
brew install auctex

Die anderen Schritte sind noch korrekt. Die Emacs-Option "PDF generieren" funktioniert jetzt bei mir.

Kipton Barros
quelle
5

Aus dem Mac / GNUstep-Handbuch geht hervor, dass Emacs-Instanzen, die im Finder gestartet wurden, keine Umgebungsvariablen erben und daher festgelegt werden müssen. /etc/pathund /etc/path.d/die Umgebungsvariablen systemweit festgelegt, sondern müssen sie für die GUI zur Verfügung hat (Finder-Instanzen gestartet) müssen sie in der Sport gesetzt werden ~/.MacOSX/environment.plistDatei.

Das Verzeichnis und die Datei müssen vom Benutzer erstellt werden. Fügen Sie anschließend Folgendes (ggf. ändern) in Ihre environment.plistDatei ein. Ich habe dies aus einer Nachricht in einer Mailingliste erhalten, die unter http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2009-12/msg00199.html zu finden ist .

<?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 sollte sich jetzt gut verhalten.

Ricardo
quelle
0

Damit AUCTeX geladen wird, muss die .emacsDatei geändert werden. Aus dem AUCTeX-Handbuch:

Bei Emacs (oder wenn Sie die Verwendung des Paketsystems ausdrücklich deaktiviert haben) befinden sich die Startdateien 'auctex.el' und 'preview-latex.el' möglicherweise bereits in einem Verzeichnis der Sorte 'site-start.d /' Emacs-Installation bietet es. In diesem Fall sollten sie beim Start automatisch geladen werden und nichts anderes muss getan werden. Wenn nicht, sollten sie zumindest irgendwo in Ihrem Ladepfad platziert worden sein. Sie können sie dann laden, indem Sie die Linien platzieren

(load "auctex.el" nil t t)

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

in deine Init-Datei.

Wenn Sie explizit --with-lispdir verwendet haben, müssen Sie möglicherweise das angegebene Verzeichnis in die Ladepfadvariable von Emacs einfügen, indem Sie etwas wie hinzufügen

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

vor den obigen Zeilen in Ihre Emacs-Startdatei.

Es gibt kein ~/elispVerzeichnis in meinem System, so dass ich hinzufügen , das Verzeichnis in der Konfiguration festgelegt: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Dies scheint das Laden von AUCTex zu übernehmen, wenn eine .texDatei in Emacs geöffnet wird. Aus irgendeinem Grund ist die Symbolleiste standardmäßig nicht aktiviert.

Die AUCTeX-Haken werden nun angewendet. Der Versuch, ein Dokument zu latexen, wird jedoch mit einem Fehler beendet:

/bin/sh: pdflatex: command not found

Es scheint, dass dies ein $ PATH $ -Problem ist.

Ricardo
quelle