写入日志文件

写入日志文件

我想将一些内容写入日志文件。最佳做法是什么?是吗?\message{}还是\typeout{}其他?

答案1

Plain TeX 命令\wlog也可用于 LaTeX

\wlog{This will be written in the log file}

\wlog扩展为\immediate\write-1,根据规则,参数将仅写出在日志文件中,而不会出现在终端中。


\write后面跟着一个介于 0 到 15 之间的数字(含)时,如果在执行写入时(立即或在输出例程运行时,根据是否\immediate在前\write)打开,则对具有该数字的输出流执行写入操作。如果输出流未打开或者如果数字为非负数,则参数将\write写入终端和日志文件中。相反,当数字为负数时,参数仅写入日志文件中。

例外:在大多数 TeX 发行版中,\write18将参数传递给操作系统,前提是启用了 shell 转义(可能处于受限模式,请参阅 TeX Live 或 MiKTeX 的手册)。

LaTeX 命令\typeout会执行\immediate\write\@unused,因此它会将参数写入终端和日志文件。Plain TeX 中没有此类预定义命令。Indeed\typeout还给出了\protect处理参数中脆弱命令的适当含义。\@unused流永久取消分配给文件。

还会\message在终端和日志文件中写入内容,但不会强制换行,而是在将\write输出定向到日志文件时完成。

相关内容