我在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")))
答案 0 :(得分: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. 为什么
TeX-next-error
( C-c` )会失败?在编写日志文件时,TeX会放置与文件相关的信息, 包括一对括号之间的错误消息。 AUCTeX 通过解析日志文件来确定发生错误的文件 并计算括号。当有其他时,这可能会失败, 存在不平衡的括号。
作为一种解决方法,您可以激活所谓的file:line:错误消息 用于日志文件。 (这些更容易解析,但可能缺少一些 详细信息。)您可以在TeX系统的配置中执行此操作 (查阅其手册以了解它的位置)或添加命令行 切换到(la)tex调用,例如通过自定义
LaTeX-command-style
或TeX-command-list
。