2010-02-04 125 views
18

我使用AUCTeX在Emacs中编辑我的LaTeX文件。要编译,我按C-c C-c,如果root.tex是在当前缓冲区中显示的文件,它将运行pdflatex rootEmacs/AUCTeX:在当前未打开的文件上运行命令

但是如果我想让它在当前缓冲区中没有显示的文件上运行pdflatex

例如,我正在编辑包含的.tex文件chapter2.tex,并按C-c C-c。我希望它运行的命令仍然为pdflatex root,因为chapter2.tex仅包含在root.tex中。

我该怎么做?

回答

19

当您创建一个新文件时,AUCTeX会询问您关于它的“主”文档。如果您定义一个主文件,C-c C-c将编译主文件而不是当前打开的文件。

AUCTeX通过添加一个页脚来记录它所需的信息。假设你有一个主控文档index.tex,页脚应该是这样的:

%%% Local Variables: 
%%% mode: latex 
%%% TeX-master: "index" 
%%% End: 
+2

局部变量的路线有要求你杀死缓冲区和前重新打开它的缺点变量设置(也许有更聪明的方法来做到这一点?)。您第一次打开文件时,您也可以执行'M-x TeX-master-file-ask'。 – 2010-02-04 13:24:52

+0

@ChrisConway更聪明的方法是'M-x normal-mode'。 – 2017-04-07 17:03:43

6

抄送_创建此页脚自动

+0

在我的系统上'C-C _'绑定到'TeX-master-file-ask',但它不创建局部变量页脚。 – 2010-02-04 13:27:19

+0

它应该在定义主文件后创建。 但是,如果页脚已经定义,它不起作用 – 2010-02-04 13:36:43

相关问题