如何自定义emacs auc-tex函数Tex-command-list?

时间:2011-11-30 05:58:23

标签: emacs customization auctex

我正在尝试使用乳胶包`nomencl',它允许人们在文章中轻松创建命名法部分。到目前为止一切都很好。

我正在使用带有AucTeX的emacs,我通过编辑我的.emacs文件,在emacs Tex-Command列表中添加了命名法编译选项,添加:

;;nomenclature for latex
(eval-after-load "tex"
  '(add-to-list 'TeX-command-list 
        '("Nomenclature" "makeindex %s.nlo -s nomencl.ist -o %s.nls" TeX-run-command nil t :help "Create nomenclature file")))

它,这是有效的:当我按下C-c C-c时(TeX命令列表的快捷方式,我可以使用Nomenclature命令并生成相应的文件。但我很不高兴,因为原因如下:

当我运行BibTex(使用Tex-Command-list),然后再次按下Cc Cc时,emacs会根据情况提供运行LaTeX,如果引用已更改,它将再次提供LaTeX,最后,它将提供View ,一旦.log没有报告引用已经改变。

然而当我运行Nomenclature时,Tex-command-list提供的下一个命令是View,这总是不合适的,因为在重新创建命名文件后需要再次编译。

  

如何在运行Nomenclature后告诉emacs将LaTeX作为下一个TeX-command-list命令(与BibTeX相同的行为)?

1 个答案:

答案 0 :(得分:1)

AUCTeX函数TeX-command-query对此负责。现在,它只是检查.bbl,.pdf,.ps,.dvi文件是否存在,并猜测下一步。如果Nomenclature也会生成一些新文件,当存在时确定必须再次运行TeX时,应该很容易添加该功能。

更新:TeX SE上的答案更好。 : - )