更改控制台输出中的文本

更改控制台输出中的文本

我发现我最近为其他人编写了越来越多的包/命令,并开始编写一些不错的默认实用程序命令以供使用。但是,总是担心与其他人的自定义命令发生冲突,因此我开始将信息输出写入消息日志和控制台,以便用户查看正在发生的事情。下面是一个这样的命令的示例(功能齐全并带有额外的 \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}}也非常有用的工具。

相关内容