Configurando o Auctex para emacs

0

Preciso de ajuda para configurar o auctex no emacs. Eu baixei e instalei o auctex, mas não consigo fazer nada funcionar. Estou executando o MAC OS X 10.8.4 e estou executando o emacs através do terminal. Se eu usar o Aquamacs emacs (um GUI emacs para MAC), posso pelo menos fazer com que o comando View funcione (ele abre o visualizador de PDF padrão, chamado de Preview).

No entanto, desejo usar o emacs por meio do terminal. Adicionei o seguinte ao meu arquivo .emacs :

(load "auctex.el" nil t t) ;; loads tex-site in such a way so that it can be undone              
(load "preview-latex.el" nil t t) ;; actual preview-latex                                        
(setq TeX-view-program-list '(("Shell Default" "open %o")))                                      
(setq TeX-view-program-selection '((output-pdf "Shell Default")))                                
(setq TeX-PDF-mode t)                                                                            
(setq TeX-auto-save t)                                                                           
(setq TeX-parse-self t)                                                                          
(setq-default TeX-master nil)                                                                    
(add-hook 'LaTeX-mode-hook 'visual-line-mode)                                                    
(add-hook 'LaTeX-mode-hook 'flyspell-mode)                                                       
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)                                                     
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)                                                      
(setq reftex-plug-into-AUCTeX t)

É possível rodar o Latex através do terminal no emacs? Eu sou relativamente novo em tudo isso (no entanto, consegui instalar tudo o que eu precisava, como vários intérpretes e até mesmo um navegador da Web!). O que eu tenho tentado até agora é abrir um documento TeX (que carrega bem e muda para um modo chamado "LaTeX / MP Ref Wrap" (é o certo para Auctex?). Eu digito: C-c C-c

O emacs me fornece o prompt: Command: (default LaTeX)

Minhas opções são:

Possible completions are:                                                                        
BibTeX       Check        Clean        Clean All    File         Index                           
LaTeX        Other        Print        Queue        Spell        View

Se eu optar por usar LaTeX , então recebo isso do emacs:

LaTeX errors in '*~/path/to/file output*'. Use C-c ' to display. 

So I type C-c ' to display the errors and this is what I get from emacs:

ERROR: LaTeX Error: File 'etoolbox.sty' not found.                                               

--- TeX said ---                                                                                 

Type X to quit or <RETURN> to proceed,                                                           
or enter new name. (Default extension: sty)                                                      

Enter file name:                                                                                 
! Emergency stop.                                                                                
<read *>                                                                                         

l.28 \def                                                                                        
         \NN{\tabularnewline}^^M                                                                 
--- HELP ---                                                                                     
From the .log file...                                                                            

*** (cannot \read from terminal in nonstop modes)
  1. Como eu consertaria isso?

    Além disso, em vez de digitar LaTeX , tentei View . Emacs solicitado e preenchido automaticamente : View command: dvi2tty -q -w 132 file_name

Eu apertei enter para executar o comando e as respostas do emacs:

View: done.

Agora há um novo buffer com conteúdo:

unning 'View' on 'combinatorics_bin_trees' with ''dvi2tty -q -w 132 combinatorics_bin_trees''   
/bin/sh: dvi2tty: command not found                                                              

View exited abnormally with code 127 at Fri Jun 14 16:55:35

Observe que, conforme descrito acima com Aquamacs Emacs (Emacs para MAC OS X), o comando View abrirá o visualizador de PDF padrão, chamado de Visualização. Então eu devo estar perdendo algum tipo de pacote? (isso é decepcionante, considerando que eu uso gerenciadores de pacotes que trabalham com dependências para baixar todos os meus programas ...)

Como posso resolver este problema? Toda ajuda é bem-vinda! Eu também estou dando boas-vindas a qualquer sugestão em ajustar as configurações do auctex para emacs e quaisquer links gerais que sejam úteis (eu não encontrei o emacswiki sobre  auctex para ser útil a todos!)

    
por CodeKingPlusPlus 14.06.2013 / 23:02

2 respostas

1

Se o Emacs não estiver encontrando * .sty, então você precisa definir o caminho. Isso é para MacTeX.pkg installation. Se você usar o Macports ou Homebrew, o caminho seria diferente, mas semelhante. Corrija esse problema e, em seguida, reporte-o e nós o ajudaremos a avançar ainda mais se ainda houver erros.

(setenv "PATH" (concat (getenv "PATH") ":/usr/texbin"))
(setq exec-path (append exec-path '("/usr/texbin")))
    
por 15.06.2013 / 05:29
0

O AUCTeX deve ser carregado quando você abrir um arquivo tex. Seu principal modo é o LaTeX. Eu notei na sua mensagem de compilação: 'etoolbox.sty' está faltando. Portanto, verifique se o pacote está presente e disponível. Você pode tentar compilar o arquivo tex através do terminal do sistema para ver se há algo errado com o AUCTeX.

Além disso, você precisa importar os caminhos "SHELL" para a variável "exec-path". Para fazer isso, eu coloco a seguinte função no init.el.

(defun set-exec-path-from-shell-PATH ()
  "Set 'exec-path' from 'PATH' environment variable"
  (let ((path-from-shell
         (replace-regexp-in-string "[[:space:]\n]*$" ""
                                   (shell-command-to-string "$SHELL -l -c 'echo $PATH'"))))
    (setenv "PATH" path-from-shell)
    (setq exec-path (split-string path-from-shell path-separator))))
(when (equal system-type 'darwin) (set-exec-path-from-shell-PATH))
    
por 15.06.2013 / 06:11