Emacs Auctex编译错误:“使用M-x make-directory RET RET创建目录及其父项”

时间:2013-06-27 14:54:33

标签: emacs latex auctex

我在ubuntu 12.04上使用auctex 11.86运行emacs 23.3.1。每当我去编写一个乳胶文件(使用 C-c C-c )时,如果没有错误,一切都编译得很好。但是,如果有任何错误,它会告诉我使用 C -` 来查看错误,如果我这样做,我会收到此错误消息

  

使用M-x make-directory RET RET创建目录及其父目录

几秒钟后就消失了。然后它转到另一个屏幕,解释乳胶代码中的错误。但是,现在我不能简单地做 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")))

1 个答案:

答案 0 :(得分:5)

有时AUCTeX会对解析(La)TeX编译的日志感到困惑,并且无法猜出引发错误的正确行。在某些情况下,AUCTeX会发出一条模糊的消息“在最后一个TeX文件关闭后出现错误”,当有不平衡的括号时,在您的情况下,它建议您创建一个新目录。为了帮助AUCTeX找到引发错误的正确行,您可以通过自定义变量-file-line-errorlatex选项添加到pdflatexLaTeX-command-style。为此,请将以下代码添加到.emacs

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

另请参阅AUCTeX FAQ

  

8. 为什么TeX-next-error C-c` )会失败?

     

在编写日志文件时,TeX会放置与文件相关的信息,   包括一对括号之间的错误消息。 AUCTeX   通过解析日志文件来确定发生错误的文件   并计算括号。当有其他时,这可能会失败,   存在不平衡的括号。

     

作为一种解决方法,您可以激活所谓的file:line:错误消息   用于日志文件。 (这些更容易解析,但可能缺少一些   详细信息。)您可以在TeX系统的配置中执行此操作   (查阅其手册以了解它的位置)或添加命令行   切换到(la)tex调用,例如通过自定义LaTeX-command-style或   TeX-command-list