使用\batchmode
文件顶部的命令有助于删除一些行,但我仍然留下几行,例如:
(/usr/local/texlive/2011/texmf-dist/tex/latex/base/t1enc.def)) (/usr/local/texlive/2011/texmf-dist/tex/generic/babel/babel.sty (/usr/local/texlive/2011/texmf-dist/tex/generic/babel/english.ldf
等等。我无法找到一种方法来清理我的命令行,以便任何警告或打印的行告诉我一些更有用的信息不会在 LaTeX 输出的海洋中迷失。
有任何想法吗?
答案1
您可以通过在命令行上指定来提前启动批处理模式
pdflatex -interaction=batchmode myfile.tex
或者你甚至不想
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
restricted \write18 enabled.
entering extended mode
你可以使用
pdflatex myfile > /dev/null
或任何适用于您的操作系统的空输出流。
答案2
当重定向到/dev/null
对你来说是一个很好的解决方案时,你可以考虑使用 grep 来抑制“几乎所有内容”。我使用这个(使用 GNU grep 3.1)来查明是否需要再运行一次 latex(请随意扩展):
egrep "Rerun to get cross-references right|\
There were undefined references|\
Citation .* on page .* undefined on input"
我知道这种匹配很危险(未来版本、本地化等),但它有效;-)