Мне нужна помощь с настройкой auctex в emacs. Я скачал и установил Auctex, но я не могу заставить что-либо работать. Я использую MAC OS X 10.8.4 и запускаю emacs через терминал. Если я использую Aquamacs emacs (emacs с графическим интерфейсом для MAC), я могу, по крайней мере, заставить команду View работать (она открывает программу просмотра PDF по умолчанию, которая называется Preview).

Тем не менее, я хочу использовать emacs через терминал. Я добавил следующее в мой файл .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)

Можно ли даже запустить Latex через терминал в emacs? Я относительно новичок во всем этом (однако мне удалось установить все остальное, что мне было нужно, например, несколько переводчиков и даже веб-браузер!). До сих пор я пытался открыть документ TeX (который отлично загружается и переключается в режим, называемый «LaTeX /MP Ref Wrap» (это правильно для Auctex?). Я печатаю :C-c C-c

Emacs дает мне приглашение: Command: (default LaTeX)

Мои варианты:

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

Если я решу использовать LaTeX я получу это от 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. Как бы я это исправить?

    Кроме того, вместо ввода LaTeX я попробовал View . Emacs запросил и автоматически завершил: View command: dvi2tty -q -w 132 file_name

Я нажимаю Enter, чтобы выполнить эту команду, и emacs отвечает:

View: done.

Теперь есть новый буфер с контентом:

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

Обратите внимание, как указано выше, для Aquamacs Emacs (Emacs для MAC OS X) команда View откроет средство просмотра PDF по умолчанию, которое называется Preview. Значит, мне не хватает какой-то посылки? (это разочаровывает, учитывая, что я использую менеджеры пакетов, которые вырабатывают зависимости, чтобы загрузить все мои программы ...)

Как я могу исправить эту проблему? Вся помощь очень ценится! Я также приветствую любые предложения по настройке параметров auctex для emacs и любые общие ссылки, которые полезны (я не нашел emacswiki о auctex, чтобы быть полезным вообще!)

2 ответа2

1

Если Emacs не находит * .sty, вам нужно указать путь. Это для установки MacTeX.pkg . Если вы используете Macports или Homebrew, то путь будет другим, но похожим. Исправьте эту проблему, а затем сообщите, и мы поможем вам продвинуться вперед, если все еще будут ошибки.

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

AUCTeX должен быть загружен при открытии текстового файла. Основной режим - LaTeX. Я заметил в вашем сообщении компиляции: «etoolbox.sty» отсутствует. Поэтому убедитесь, что пакет присутствует и доступен. Вы можете попробовать скомпилировать tex-файл через системный терминал, чтобы увидеть, что-то не так с AUCTeX.

Также вы должны импортировать пути "SHELL" в переменную "exec-path". Для этого я поместил следующую функцию в 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))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .