我正在处理一个大型文档,Latexmk
在Bash
环境中使用。如果错误和警告消息以某种方式突出显示或着色,以便于发现它们,那将非常有帮助。特别是在处理和时,Biber
及时Biblatex
捕获警告非常重要,因为当出现某些问题时,它们通常不会停止编译过程。
直到最近,我还在使用LateX
中的捆绑包TextMate
,它有助于仅显示最重要的消息(错误、警告、输入、包含等)。请参见此处:
但是我被那个捆绑软件欺骗了,现在我直接在 shell 中(Bash
在 Linux 或 Os X 中)编译所有内容,因为这样可以让我更好地控制。
(当然我可以打开.log
文件并配置编辑器来搜索/突出显示这些项目,但我正在考虑“动态”突出显示/着色。)
是否可以stdout
对垃圾箱latexmk
(或一般垃圾箱*Tex
)进行颜色编码?
答案1
你可以随时通过一些颜色的东西来管道输出,一个简单的例子
通过运行命令
pdflatex tb67 2>&1 | grep --color=auto "LaTeX Warning"
ref{jjj}
我出于演示目的插入了一个具有未定义引用的文件。
答案2
我在我的 make 文件中使用了以下行:
pdflatex filename.tex 2>&1 | grep --color -E "Warning|Missing|$"
这应该突出显示“警告”并显示所有其他行,因为模式的“|$”部分表示“或一行的结尾”。
答案3
我没有足够的声誉来发表评论,所以我只能留下答案,尽管这不是真正的答案。
你可能想尝试特克斯福特,生成如下消息:
/usr/texbin/texfot: invoking: pdflatex eddy
This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013)
Overfull \hbox (156.0012pt too wide) in paragraph at lines 4--6
! Undefined control sequence.
l.8 \abcdefghi
! Emergency stop.
l.8 \abcdefghi
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on eddy.log.
正如解释的那样这里。