在 Bash 环境中编译时突出显示警告和错误

在 Bash 环境中编译时突出显示警告和错误

我正在处理一个大型文档,LatexmkBash环境中使用。如果错误和警告消息以某种方式突出显示或着色,以便于发现它们,那将非常有帮助。特别是在处理和时,Biber及时Biblatex捕获警告非常重要,因为当出现某些问题时,它们通常不会停止编译过程。

直到最近,我还在使用LateX中的捆绑包TextMate,它有助于仅显示最重要的消息(错误、警告、输入、包含等)。请参见此处:

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.

正如解释的那样这里

相关内容