![更改控制台输出中的文本](https://linux22.com/image/376127/%E6%9B%B4%E6%94%B9%E6%8E%A7%E5%88%B6%E5%8F%B0%E8%BE%93%E5%87%BA%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC.png)
我发现我最近为其他人编写了越来越多的包/命令,并开始编写一些不错的默认实用程序命令以供使用。但是,总是担心与其他人的自定义命令发生冲突,因此我开始将信息输出写入消息日志和控制台,以便用户查看正在发生的事情。下面是一个这样的命令的示例(功能齐全并带有额外的 \message 命令):
\newcommand{\MakeCounter}[1]{
\@ifundefined{c@#1} % Check to see if counter exists
{ %If not, create it and set it to 0.
\message{The counter #1 didn't exist, so I created it and set it to 0.}
\newcounter{#1}
\setcounter{#1}{0}
}
{ %If so, reset to 0.
\message{I just overwrote the counter #1, it was set to \arabic{#1} and I forced it to 0.}
\message{Hopefully it wasn't needed anymore.}
\setcounter{#1}{0}
}
}
但是,出于调试目的(既是为了我自己,也是为了帮助他人),我希望\message
上面的命令输出能够“弹出”到我的 IDE(如果重要的话,是 Texstudio)的消息日志/控制台中,并希望有一种方法可以为文本着色或加粗\message
。我尝试了标准的 LaTeX 颜色命令,但毫无意外地不起作用。我可以使用哪些命令来修改输出到日志/控制台的文本?如果有人对如何使这些在视觉扫描中“弹出”有任何其他建议,那也欢迎(旁注:我知道我可以在文本编辑器中为 find 命令输入某种独特的字符串;这只是为了我可以快速地对编译的结尾进行视觉扫描,看看是否有我的任何消息发布以及它们作为“第一阶段”调试返回的内容)。
答案1
我自己使用 Atom,它总是给我警告和错误。原来它来自LaTeX Warning: SOMEWARNING on input line 123.
我自己也使用这些警告 - 尤其是用于调试目的。出于调试目的,我使用\@latex@warning{SOMEWARNING}
。它在 Atom 中弹出警告,我怀疑它会在大多数支持构建 LaTeX 的 IDE 中弹出。
\@latex@warning
基于 LaTeX \GenericWarning
,但为了获得正确的格式,你最好使用\@latex@warning
)
正如 @moewe 指出的那样,在生产包中使用时,您应该使用\PackageWarning
/\ClassWarning
和\PackageError
/ \ClassError
。这两个版本也有一个Info
用于不太严重的消息的版本。
我使用的另一个调试工具是应用\meaning
到这个,所以你有一个\def\inspect#1{\@latex@warning{\string#1:\meaning#1}}
也非常有用的工具。