2013-06-27 2 views
3

Я запускаю emacs 23.3.1 на ubuntu 12.04 с auctex 11.86. Всякий раз, когда я собираюсь скомпилировать латексный документ (используя C-c C-c), если ошибок нет, все компилируется просто отлично. Однако, если есть какая-либо ошибка, он сообщит мне использовать C-`, чтобы просмотреть ошибки, если я делаю это, я получаю сообщение об ошибкеОшибка компиляции Emacs Auctex: «Используйте M-x make-directory RET RET для создания каталога и его родителей»

Use M-x make-directory RET RET to create the directory and its parents

и он уходит через пару секунд. Затем он выводит меня на другой экран, который объясняет ошибку в латексном коде. Однако теперь я не могу просто сделать C-x 1, чтобы вернуться к латексному коду. Я должен C-x C-c и перезапустить emacs.

Это мой .emacs файл

(setq backup-by-copying t 
     backup-directory-alist '(("." . "~/.emacsBkups")) 
     delete-old-versions t 
     kept-new-versions 5 
     kept-old-versions 2 
     version-control t) 


(setq TeX-auto-save t) 
(setq TeX-parse-self t) 
(setq TeX-PDF-mode t) 

;;(require 'ess-site) 
;;(ess-toggle-underscore nil) 
(require 'whitespace) 
(setq whitespace-style '(lines-tail face)) 

(add-hook 'c-mode-hook 'whitespace-mode) 
(add-hook 'c++-mode-hook 'whitespace-mode) 
(add-hook 'python-mode-hook 'whitespace-mode) 

(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode)) 
(c-set-offset (quote cpp-macro) 0 nil) 



(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o"))) 
(setq TeX-view-program-selection '((output-pdf "Evince"))) 
+0

AucTeX 12,82? O.o Последняя стабильная версия - 11.87, где вы получили AUCTeX? – giordano

+0

Oh Wait ... Я только что вернулся и проверил, и он говорит 11.86 .... не уверен, что я изначально видел. Я сделал редактирование. – nick

+0

Имеет ли пространство вашего документа на своем пути? – giordano

ответ

5

Иногда AucTeX запутывается разбором журнала (La) TeX компиляции и не может угадать правильную линию повышающей ошибку. В некоторых случаях AUCTeX выдает непонятное сообщение «Ошибка возникла после закрытия последнего файла TeX», когда есть несбалансированные круглые скобки, в вашем случае предлагается создать новый каталог. Чтобы помочь AUCTeX найти правильную линию, поднимающую ошибку, вы можете добавить опцию -file-line-error в latex или pdflatex, настроив переменную LaTeX-command-style. Для этого добавьте следующий код в ваш .emacs:

(setq LaTeX-command-style '(("" "%(PDF)%(latex) -file-line-error %S%(PDFout)"))) 

Смотрите также AUCTeX FAQ:

8. Why does TeX-next-error (C-c `) fail?

When writing the log file, TeX puts information related to a file, including error messages, between a pair of parentheses. AUCTeX determines the file where the error happened by parsing the log file and counting the parentheses. This can fail when there are other, unbalanced parentheses present.

As a workaround you can activate so-called file:line:error messages for the log file. (Those are are easier to parse, but may lack some details.) Either you do this in the configuration of your TeX system (consult its manual to see where this is) or you add a command line switch to the (la)tex call, e.g. by customizing LaTeX-command-style or TeX-command-list .

+1

Отличное объяснение. Я очень ценю помощь. – nick

+0

Привет. Я использую emacs 21.3 и использовал «Использовать C-u M-x make-directory RET RET для создания сообщения каталога и его родителей и проблемы с белым текстом при открытии файла в режиме python. Оказалось, что проблема связана с файловым путем, как в случае с этим вопросом. Более подробно я открывал файлы, хранящиеся в каталоге под названием «Téléchargements», где, по мнению французского акцентированного письма, возникает проблема. Убрав файлы, проблема решена. – Lorenzo