我在一个目录中有几十个 .tex 文件。
如何使用终端中的单个命令将它们全部编译?
此外:是否可以避免编译器生成的所有文件(.bak、.log、.aux、.out、.bib 文件)?
我通常用pdflatex file.tex
.
你可以用for
命令来做
for f in *.tex; do pdflatex $f; done
我发现这种语法比查找更容易记住。
关于删除辅助文件,请考虑使用latexmk -c -pdf
或latexmk -C -pdf
代替pdflatex
. latexmk
是 latex make,它只构建需要构建的文件。我不确定哪些辅助文件会被准确删除,但我认为其中大部分会被删除-c
或-C
切换。
for f in *.tex; do latexmk -C -pdf $f; done
根据手册,它也应该像这样工作
latexmk -C -pdf *.tex
另一种选择是在处理完成后手动删除文件。这将是这样完成的:
for f in *.tex; do pdflatex $f; done; rm *.bak *.log *.aux *.out *.bib
我不确定这是否仍然符合 oneliner 的条件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句