-1

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

我将 emacs 与 AucTeX 一起使用,并通过编辑我的 .emacs 文件将命名法编译选项添加到 emacs Tex-Command-list 中,添加:

;;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-command-list 的快捷方式时,我可以使用该Nomenclature命令并生成相应的文件。但我不开心,原因如下:

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

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

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

4

1 回答 1

1

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

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

于 2012-01-05T20:43:32.713 回答