Emacs/AUCTeX : run command on file that is not currently open

标签 emacs latex lisp auctex

我使用 AUCTeX 在 Emacs 中编辑我的 LaTeX 文件。要编译,我按 C-c C-c,这将运行 pdflatex root,如果 root.tex 是当前缓冲区中显示的文件。

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

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

我该怎么做?

最佳答案

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

AUCTeX 通过添加包含所需信息的页脚来跟踪这一点。假设您有一个主文档 index.tex,页脚将如下所示:

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

关于Emacs/AUCTeX : run command on file that is not currently open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199463/

相关文章:

emacs - 在 Mac 上安装和使用 LISP

latex - 如何在 LaTeX 上使用 '_' 和其他字符?

latex - 如何设置列的固定宽度?

clojure - 99 Clojure 中的第 9 题(将连续重复的列表元素打包到子列表中)

c++ - 将子字符串传递给函数

json - 使用 flymake/flycheck 在 Emacs 中使用 JSON 模式验证 JSON 文件?

c++ - 如何为文本模板创建 emacs 宏

macos - 现在,Apple删除了转义键,使用emacs的策略是什么?

latex - 从 R Markdown 到 LaTeX 的错误转换

parsing - 在 Common Lisp 中读取文件并转换为基于 n 元树的嵌套列表?