Instalando o AucTeX 1.86 no Emacs.app no ​​OS X

9

Estou tentando instalar o AucTeX 1.86 em um binário Emacs (versão 24.0.50) do emacsformacosx.com. Nas primeiras tentativas de ./configuresaída:

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

Acrescento --with-texmf-dir=/usr/local/texlive/texmf-local, ao qual ./configureresponde alegremente com vários parabéns. Eu compilar com makee sudo make installsem uma falha.

Abro um arquivo .tex no Emacs e o AucTeX não carrega. Eu emitir (load auctex.el nil t t)Cj no * scratch * buffer e saídas Emacs:

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

Algo está acontecendo. Achei que o Emacs não conseguia encontrar o arquivo, portanto ele não deve ter sido instalado onde deveria. Eu localizo a maioria dos arquivos AucTeX para /usr/share/emacs/site-lisponde o Emacs 22.1 mora.

Eu tinha duas opções aqui: 1. diga ao Emacs onde encontrar o AucTeX (o que eu não sei fazer); 2. recompile o AucTeX com mais opções de configuração (que pareciam mais diretas).

Eu escolhi recompilar, depois de excluir todos os arquivos AucTeX da instalação anterior. Desta vez, configurei a fonte, informando onde fica o Emacs, com:

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

Desta vez, reclama:

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

mesmo que eu tenha incluído a --with-lisp-dir=diropção. Se eu retirá-lo, ele ainda reclama de não conseguir encontrar o diretório lisp. O AucTeX não parece gostar do Emacs.app na pasta Aplicativos.

Minha pergunta é: como faço para que isso funcione?

Ricardo
fonte

Respostas:

10

Aqui está como eu consegui que o Auctex trabalhasse com o Emacs puro:

  1. Instale o pacote de distribuição MacTeX
  2. Faça o download do OS X emacs , coloque em/Applications
  3. Faça o download do tarball Auctex
  4. Vá para o diretório Auctex, configure com o 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. Executar:

    make; sudo make install
    

    para instalar os elisparquivos dentro de Emacs.app, os arquivos de informações /usr/local/share/infoetc.

  6. Edite seu ~/.emacsarquivo para carregar o Auctex / preview-latex e aponte o Emacs para os executáveis ​​do 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 devem funcionar agora. Um aspecto a ter em mente: nas versões mais antigas do Auctex, o pscaminho parece funcionar melhor do que pdf; se as imagens de visualização de látex não estiverem aparecendo com o erro "/ typecheck em --setfileposition--", tente desativar "Gerar PDF" em "Barra de menus -> Comando -> opção TeXing".


Atualização : as etapas (2 a 5) podem ser substituídas pelo gerenciador de pacotes Homebrew:

brew install emacs --cocoa
brew install auctex

As outras etapas ainda estão corretas. A opção "Gerar PDF" do Emacs agora funciona para mim.

Kipton Barros
fonte
5

No manual do Mac / GNUstep, as instâncias do Emacs iniciadas no Finder não herdam variáveis ​​ambientais, portanto, elas precisam ser definidas. /etc/pathe /etc/path.d/definirá as variáveis ​​ambientais em todo o sistema, mas, para tê-las disponíveis para a GUI (instâncias iniciadas pelo Finder), elas precisam ser definidas no ~/.MacOSX/environment.plistarquivo.

O diretório e o arquivo devem ser criados pelo usuário. Feito isso, cole o seguinte (modificando onde necessário) em seu environment.plistarquivo. Eu recebi isso de uma mensagem em uma lista de discussão encontrada em 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>

O AUCTeX deve se comportar bem agora.

Ricardo
fonte
0

Para que o AUCTeX seja carregado, o .emacsarquivo precisa ser modificado. No manual do AUCTeX:

Com o Emacs (ou se você desativou explicitamente o uso do sistema de pacotes), os arquivos de inicialização 'auctex.el' e 'preview-latex.el' podem já estar em um diretório da variedade 'site-start.d /', se o seu A instalação do Emacs fornece. Nesse caso, eles devem ser carregados automaticamente na inicialização e nada mais precisa ser feito. Caso contrário, eles deveriam pelo menos ter sido colocados em algum lugar do seu caminho de carregamento. Você pode carregá-los colocando as linhas

(load "auctex.el" nil t t)

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

no seu arquivo init.

Se você usou explicitamente --with-lispdir, pode ser necessário adicionar o diretório especificado à variável de caminho de carregamento do Emacs adicionando algo como

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

antes das linhas acima no seu arquivo de inicialização do Emacs.

Não há ~/elispdiretório no meu sistema, então eu adicionar o diretório especificado na configuração: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Isso parece fazer o trabalho de carregar o AUCTex sempre que um .texarquivo é aberto no Emacs. Por algum motivo, a barra de ferramentas não está ativada por padrão.

Os ganchos AUCTeX estão agora aplicados. No entanto, a tentativa de látex de um documento sai com um erro:

/bin/sh: pdflatex: command not found

Parece que este é um problema de $ PATH $.

Ricardo
fonte