AUCTeX/Emacs 无法自动识别正确的命令

AUCTeX/Emacs 无法自动识别正确的命令

在我之前安装的操作系统 Debian Squeeze with FluxBox 上,我的工作流程如下:

打开*.bib文件后,我输入C-c C-c。BibTeX 命令被识别为必要的,并ret执行了它。

然后我会回到 *.tex文档C-c C-c,AUCTeX 会识别并执行 LaTeX,C-c C-c同样,AUCTex 会识别并执行 BibTeX,然后再执行几个C-c C-c,然后就会查看带有参考书目的 PDF。

我最近将操作系统更新为带有 xfce 的 Debian Sid。一切工作正常,只是当我打开文件时*.bib只会C-c C-c显示“查看”命令。当*.tex打开文件时,使用 永远不会显示 BibTeX 命令C-c C-c。但是,当我手动输入正确的命令时,一切工作正常。

我的.emacs是:

(set-face-foreground 'font-lock-comment-face "light blue")

(setq-default auto-fill-mode t)
(setq fill-column 120)

(setq make-backup-files nil)
(setq auto-save-default nil)

(setq auto-mode-alist (cons '("\\.\\(pde\\|ino\\)$" . arduino-mode) auto-mode-alist))
(autoload 'arduino-mode "arduino-mode" "Arduino editing mode." t)

(setq auto-mode-alist (cons '("\\.m$" . matlab-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.oct$" . matlab-mode) auto-mode-alist))

(setq auto-mode-alist (cons '("\\.tex$" . TeX-latex-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.bib$" . TeX-latex-mode) auto-mode-alist))

(setq auto-mode-alist (cons '("\\.f03$" . fortran-mode) auto-mode-alist))
(setq auto-mode-alist (cons '("\\.f90$" . fortran-mode) auto-mode-alist))

(defun pdfevince ()
  (add-to-list 'TeX-output-view-style
               (quote ("^pdf$" "." "evince %o %(outpage)")))
)

(add-hook 'LaTeX-mode-hook 'pdfevince t)

(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'auto-fill-mode)
(add-hook 'tex-mode-hook 'auto-fill-mode)
(add-hook 'tex-mode-hook 'flyspell-mode)
(add-hook 'bibtex-mode-hook 'flyspell-mode)

(add-hook 'LaTeX-mode-hook (lambda () (set-fill-column 120)))
(add-hook 'teX-mode-hook (lambda () (set-fill-column 120)))

(line-number-mode 1)
(column-number-mode 1)

(global-hl-line-mode 1)

非常感谢关于此问题的任何建议。

答案1

您的初始化文件没有任何问题。您需要使用选项配置 AucTeX ./configure <tab>--with-emacs,然后只需makesudo make install

当然,在理想情况下,emacs 应该由用户编译。但无论如何,这都假设您的 emacs 正常运行。

附注:您可以随时(add-to-list 'load-path "~/path/to/auctex-11.87/")使用 进行验证C-x C-e

由于我们处理的是 bib 文件,因此最简单的测试方法是对文件进行小幅更改bib,例如在作者字段之一中,或在杂项、文章、书籍或其他内容的标题中进行更改,并记得保存此bib文件。然后转到您的tex文件并再次调用C-c C-c。它应该返回Command: (default BibTeX)

如果它没有Command: (default BibTeX)立即返回上述内容,那么要么你的 emacs 没有按应有的方式编译,要么 AucTeX 需要通过其他选项之一进行编译,如http://www.gnu.org/software/auctex/manual/auctex.html#Installation

相关内容