![AUCTeX/Emacs 无法自动识别正确的命令](https://linux22.com/image/272694/AUCTeX%2FEmacs%20%E6%97%A0%E6%B3%95%E8%87%AA%E5%8A%A8%E8%AF%86%E5%88%AB%E6%AD%A3%E7%A1%AE%E7%9A%84%E5%91%BD%E4%BB%A4.png)
在我之前安装的操作系统 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
,然后只需make
和sudo 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。