Installation d'AucTeX 1.86 sur Emacs.app sous OS X

9

J'essaie d'installer AucTeX 1.86 sur un binaire Emacs (version 24.0.50) d'emacsformacosx.com. Lors de la première tentative de ./configuresorties:

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

J'ajoute --with-texmf-dir=/usr/local/texlive/texmf-local, auquel ./configurerépond joyeusement avec plusieurs félicitations. Je compile avec makeet sudo make installsans problème.

J'ouvre un fichier .tex sur Emacs et AucTeX ne se charge pas. Je lance (load auctex.el nil t t)Cj au scratch * * tampon et sorties Emacs:

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

Quelque chose se passe. J'ai pensé qu'Emacs ne pouvait pas trouver le fichier, il ne devait donc pas être installé là où il était censé. Je retrouve la plupart des fichiers AucTeX /usr/share/emacs/site-lisp, où Emacs 22.1 réside.

J'avais deux options ici: 1. dire à Emacs où trouver AucTeX (ce que je ne sais pas faire); 2. recompilez AucTeX avec plus d'options de configuration (ce qui semblait plus simple).

J'ai choisi de recompiler, après avoir supprimé tous les fichiers AucTeX de l'installation précédente. Cette fois, je configure la source, en lui indiquant où se trouvent les Emacs à utiliser, avec:

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

Cette fois, il se plaint:

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

même si j'ai inclus l' --with-lisp-dir=diroption. Si je le retire, il se plaint toujours de ne pas pouvoir trouver le répertoire lisp. AucTeX ne semble pas aimer Emacs.app dans le dossier Applications.

Ma question est, comment puis-je faire fonctionner cela?

Ricardo
la source

Réponses:

10

Voici comment j'ai fait fonctionner Auctex avec des Emacs purs:

  1. Installez le package de distribution MacTeX
  2. Téléchargez emacs OS X , placez-le dans/Applications
  3. Téléchargez l'archive Auctex
  4. Accédez au répertoire Auctex, configurez avec la commande:

    ./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. Exécuter:

    make; sudo make install
    

    pour installer les elispfichiers à l'intérieur de Emacs.app, les fichiers d'informations /usr/local/share/info, etc.

  6. Modifiez votre ~/.emacsfichier pour charger Auctex / preview-latex et pointez Emacs vers vos exécutables 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 et preview-latex devraient maintenant fonctionner. Une chose à garder à l'esprit: avec les anciennes versions d'Auctex, la psvoie semble fonctionner mieux que pdf; si les images de prévisualisation au latex n'apparaissent pas avec l'erreur "/ typecheck dans --setfileposition--", essayez de désactiver "Générer un PDF" via "Barre de menus -> Commande -> Option TeXing".


Mise à jour : les étapes (2 à 5) peuvent être remplacées par le gestionnaire de packages Homebrew:

brew install emacs --cocoa
brew install auctex

Les autres étapes sont toujours correctes. L'option Emacs "Générer un PDF" fonctionne maintenant pour moi.

Kipton Barros
la source
5

Dans le manuel Mac / GNUstep, les instances d'Emacs lancées depuis le Finder n'héritent pas de variables environnementales, elles doivent donc être définies. /etc/pathet /etc/path.d/définira les variables d'environnement à l'échelle du système, mais pour les avoir disponibles pour l'interface graphique (instances lancées par le Finder), elles doivent être définies dans le ~/.MacOSX/environment.plistfichier.

Le répertoire et le fichier doivent être créés par l'utilisateur. Une fois cela fait, collez ce qui suit (en modifiant si nécessaire) dans votre environment.plistfichier. Je l'ai obtenu à partir d'un message dans une liste de diffusion trouvée sur 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 devrait bien se comporter maintenant.

Ricardo
la source
0

Pour charger AUCTeX, le .emacsfichier doit être modifié. Du manuel AUCTeX:

Avec Emacs (ou si vous avez explicitement désactivé l'utilisation du système de package), les fichiers de démarrage 'auctex.el' et 'preview-latex.el' peuvent déjà se trouver dans un répertoire de la variété 'site-start.d /' si votre L'installation d'Emacs le fournit. Dans ce cas, ils doivent être chargés automatiquement au démarrage et rien d'autre ne doit être fait. Sinon, ils devraient au moins avoir été placés quelque part dans votre chemin de chargement. Vous pouvez ensuite les charger en plaçant les lignes

(load "auctex.el" nil t t)

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

dans votre fichier init.

Si vous avez explicitement utilisé --with-lispdir, vous devrez peut-être ajouter le répertoire spécifié dans la variable de chemin de chargement d'Emacs en ajoutant quelque chose comme

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

avant les lignes ci-dessus dans votre fichier de démarrage Emacs.

Il n'y a pas ~/elisprépertoire dans mon système, j'ajouter le répertoire spécifié dans la configuration: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Cela semble faire le travail de chargement de AUCTex chaque fois qu'un .texfichier est ouvert dans Emacs. Pour une raison quelconque, la barre d'outils n'est pas activée par défaut.

Les crochets AUCTeX sont maintenant appliqués. Cependant, la tentative de latex d'un document se termine avec une erreur:

/bin/sh: pdflatex: command not found

Il semble que ce soit un problème $ PATH $.

Ricardo
la source