Instalación de AucTeX 1.86 sobre Emacs.app en OS X

9

Estoy tratando de instalar AucTeX 1.86 sobre un binario Emacs (versión 24.0.50) de emacsformacosx.com. En ./configuresalidas de primer intento :

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

Añado --with-texmf-dir=/usr/local/texlive/texmf-local, a lo que ./configureresponde felizmente con varias felicitaciones. Compilo con makey sudo make installsin falla.

Abro un archivo .tex en Emacs y AucTeX no se carga. Expido (load auctex.el nil t t)Cj en el búfer * scratch * y salidas de Emacs:

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

Algo está arriba. Supuse que Emacs no podía encontrar el archivo, por lo que no debe haberse instalado donde se suponía que debía hacerlo. Rastreo la mayoría de los archivos AucTeX /usr/share/emacs/site-lisp, donde vive Emacs 22.1.

Tenía dos opciones aquí: 1. decirle a Emacs dónde encontrar AucTeX (que no sé cómo hacer); 2. recompile AucTeX con más opciones de configuración (lo que parecía más sencillo).

Elegí recompilar, después de eliminar todos los archivos AucTeX de la instalación anterior. Esta vez configuro la fuente, diciéndole dónde está el Emacs que debe usar, 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

Esta vez se queja:

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

a pesar de que incluí la --with-lisp-dir=diropción. Si lo elimino, todavía se queja de no poder encontrar el directorio lisp. A AucTeX no parece gustarle el Emacs.app en la carpeta Aplicaciones.

Mi pregunta es, ¿cómo hago para que esto funcione?

Ricardo
fuente

Respuestas:

10

Así es como hice que Auctex trabaje con Emacs puro:

  1. Instale el paquete de distribución MacTeX
  2. Descargar OS X emacs , colocar en/Applications
  3. Descargar el tarball de Auctex
  4. Vaya al directorio de Auctex, configure con el 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. Ejecutar:

    make; sudo make install
    

    para instalar los elisparchivos dentro de Emacs.app, los archivos de información /usr/local/share/info, etc.

  6. Edite su ~/.emacsarchivo para cargar Auctex / preview-latex, y apunte Emacs a sus ejecutables de 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 y preview-latex deberían funcionar ahora. Una cosa a tener en cuenta: con versiones anteriores de Auctex, el pscamino parece funcionar mejor que pdf; si las imágenes de vista previa de látex no aparecen con el error "/ typecheck en --setfileposition--", intente deshabilitar "Generar PDF" a través de "Barra de menú -> Comando -> Opción TeXing".


Actualización : los pasos (2--5) se pueden reemplazar con el administrador de paquetes Homebrew:

brew install emacs --cocoa
brew install auctex

Los otros pasos siguen siendo correctos. La opción "Generar PDF" de Emacs ahora funciona para mí.

Kipton Barros
fuente
5

Desde el manual Mac / GNUstep, las instancias de Emacs lanzadas desde el Finder no heredan las variables ambientales, por lo que deben configurarse. /etc/pathy /etc/path.d/establecerá las variables de entorno en todo el sistema, pero para tener que tenerlas disponibles para la GUI (instancias lanzadas por Finder) deben establecerse en el ~/.MacOSX/environment.plistarchivo.

El directorio y el archivo deben ser creados por el usuario. Una vez hecho esto, pegue lo siguiente (modificando donde sea necesario) en su environment.plistarchivo. Recibí esto de un mensaje en una lista de correo que se encuentra en 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 debería comportarse bien ahora.

Ricardo
fuente
0

Para que AUCTeX se cargue, el .emacsarchivo debe modificarse. Del manual de AUCTeX:

Con Emacs (o si deshabilitó explícitamente el uso del sistema de paquetes), los archivos de inicio 'auctex.el' y 'preview-latex.el' ya pueden estar en un directorio de la variedad 'site-start.d /' si su La instalación de Emacs lo proporciona. En ese caso, deben cargarse automáticamente al inicio y no se necesita hacer nada más. De lo contrario, al menos deberían haberse colocado en algún lugar de su ruta de carga. Luego puede cargarlos colocando las líneas

(load "auctex.el" nil t t)

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

en su archivo de inicio.

Si usó explícitamente --with-lispdir, es posible que deba agregar el directorio especificado a la variable de ruta de carga de Emacs agregando algo como

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

antes de las líneas anteriores en su archivo de inicio de Emacs.

No hay ningún ~/elispdirectorio en mi sistema, por lo que añado el directorio especificado en la configuración: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Esto parece hacer el trabajo de cargar AUCTex cada vez .texque se abre un archivo en Emacs. Por alguna razón, la barra de herramientas no está habilitada de forma predeterminada.

Los ganchos AUCTeX ahora se aplican. Sin embargo, al intentar látexar un documento sale con un error:

/bin/sh: pdflatex: command not found

Parece que este es un problema de $ PATH $.

Ricardo
fuente