Installazione di AucTeX 1.86 su Emacs.app in OS X


9

Sto cercando di installare AucTeX 1.86 su un binario Emacs (versione 24.0.50) da emacsformacosx.com. Al primo tentativo di ./configureoutput:

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

Aggiungo --with-texmf-dir=/usr/local/texlive/texmf-local, a cui ./configurerisponde felicemente con diverse congratulazioni. Compilo con makee sudo make installsenza un problema tecnico.

Apro un file .tex su Emacs e AucTeX non viene caricato. I emetto (load auctex.el nil t t)Cj nel scratch * * buffer e uscite Emacs:

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

Qualcosa è successo. Ho pensato che Emacs non riuscisse a trovare il file, quindi non doveva essere installato dove doveva. Rintraccio la maggior parte dei file AucTeX /usr/share/emacs/site-lisp, dove vive Emacs 22.1.

Avevo due opzioni qui: 1. dire a Emacs dove trovare AucTeX (cosa che non so fare); 2. ricompilare AucTeX con più opzioni di configurazione (che sembrava più semplice).

Ho scelto di ricompilare, dopo aver eliminato tutti i file AucTeX dall'installazione precedente. Questa volta configuro il sorgente, dicendogli dove si trova l'Emacs, con:

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

Questa volta si lamenta:

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

anche se ho incluso l' --with-lisp-dir=diropzione. Se lo tolgo, si lamenta ancora di non essere in grado di trovare la directory lisp. AucTeX non sembra apprezzare Emacs.app nella cartella Applicazioni.

La mia domanda è: come faccio a farlo funzionare?

Risposte:


10

Ecco come ho fatto funzionare Auctex con Emacs puri:

  1. Installa il pacchetto di distribuzione MacTeX
  2. Scarica emacs di OS X , posizionalo in/Applications
  3. Scarica il tarball di Auctex
  4. Vai alla directory Auctex, configura con il comando:

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

    make; sudo make install
    

    per installare i elispfile all'interno di Emacs.app, i file di informazioni in /usr/local/share/info, ecc.

  6. Modifica il tuo ~/.emacsfile per caricare Auctex / preview-latex e punta Emacs sui tuoi eseguibili 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 e preview-latex dovrebbero funzionare ora. Una cosa da tenere a mente: con le versioni precedenti di Auctex, il pspercorso sembra funzionare meglio di pdf; se le immagini in anteprima-lattice non vengono visualizzate con l'errore "/ typecheck in --setfileposition--", provare a disabilitare "Genera PDF" tramite "Barra dei menu -> Comando -> Opzione TeXing".


Aggiornamento : Steps (2--5) può essere sostituito con il gestore di pacchetti Homebrew:

brew install emacs --cocoa
brew install auctex

Gli altri passaggi sono ancora corretti. L'opzione "Genera PDF" di Emacs ora funziona per me.


5

Dal manuale Mac / GNUstep, le istanze di Emacs avviate dal Finder non ereditano le variabili ambientali, quindi devono essere impostate. /etc/pathe /etc/path.d/imposterà le variabili ambientali a livello di sistema, ma per averle disponibili per la GUI (istanze avviate dal Finder) devono essere impostate nel ~/.MacOSX/environment.plistfile.

La directory e il file devono essere creati dall'utente. Fatto ciò, incolla quanto segue (modificando dove richiesto) nel tuo environment.plistfile. Ho ricevuto questo da un messaggio in una mailing list trovata su 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 dovrebbe comportarsi bene ora.


0

Per caricare AUCTeX, il .emacsfile deve essere modificato. Dal manuale AUCTeX:

Con Emacs (o se hai disabilitato esplicitamente l'uso del sistema di pacchetti), i file di avvio 'auctex.el' e 'preview-latex.el' potrebbero essere già in una directory della varietà 'site-start.d /' se il tuo L'installazione di Emacs lo fornisce. In tal caso, dovrebbero essere caricati automaticamente all'avvio e nient'altro deve essere fatto. In caso contrario, avrebbero dovuto almeno essere posizionati da qualche parte nel percorso di caricamento. È quindi possibile caricarli posizionando le linee

(load "auctex.el" nil t t)

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

nel tuo file init.

Se hai usato esplicitamente --with-lispdir, potresti dover aggiungere la directory specificata nella variabile del percorso di caricamento di Emacs aggiungendo qualcosa di simile

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

prima delle righe precedenti nel file di avvio di Emacs.

Non v'è alcun ~/elispelenco nel mio sistema, quindi aggiungo la directory specificata nella configurazione: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Questo sembra fare il lavoro di caricamento di AUCTex ogni volta che un .texfile viene aperto in Emacs. Per qualche motivo la barra degli strumenti non è abilitata per impostazione predefinita.

I ganci AUCTeX sono ora applicati. Tuttavia, il tentativo di latex di un documento esce con un errore:

/bin/sh: pdflatex: command not found

Sembra che questo sia un problema di $ PATH $.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.