为什么 aucTeX 编译我的文件时像 pdflatex“输入”foo.tex 而不是仅仅 pdflatex foo.tex?

为什么 aucTeX 编译我的文件时像 pdflatex“输入”foo.tex 而不是仅仅 pdflatex foo.tex?

当我使用 Emacs AucTeX 编译文件时C-c C-c(运行TeX-command-master运行TeX-run-TeX),日志输出的顶行如下所示:

Running `LaTeX' on `mwe' with ``pdflatex  -interaction=nonstopmode "\input" mwe.tex''

(当我这样做时,这是缓冲区的顶行C-c C-l

为什么aucTeX 正在做什么"\input" mwe.tex而不仅仅是mwe.tex?除了导致我的%&customfmt 定义被忽略之外,这还能实现什么?

其次,我在哪里可以阻止它这样做?我查看了上面提到的各种命令是如何定义的。它们似乎都没有指定这种行为。那么究竟是什么导致了对 pdflatex 的调用?

答案1

感谢mbork我找到了答案。TeX-command-list你会看到一些相当令人费解的代码:

%`%l%(mode)%' %t

呃。好的。诀窍在于这些东西是在 中定义的TeX-expand-list。其中之一,即%'扩展到一堆我不理解的其他东西,但包括\input我想摆脱的。所以%'从 的LaTeX部分删除TeX-command-list似乎可以解决问题。我不能保证这是健壮的,也不能保证它不会在某个地方引起问题。如果 David Carlise 是对的,那么这是一个回到命令有命令行选项\input之前的回归。latex

相关内容