禁止使用 morewrites 包将消息发送到标准输出

禁止使用 morewrites 包将消息发送到标准输出

我必须使用morewrites,但我不喜欢它写入标准输出,因为我会错过其他消息。是否可以隐藏有关的消息.mw?也就是说[1] (./debug-morewrites.mw) [2]?(./debug-morewrites.mw

\documentclass{article}

\usepackage{morewrites}


\begin{document}

Test.

\pagebreak

Test.

\end{document}

答案1

来自(...)tex-the-program,因此除非您重新编码morewrites不输入文件,否则它(...)必须出现在日志中。但是,您可以通过本地切换到\batchmode类似以下内容来阻止它在终端上

\documentclass{article}

\usepackage{morewrites}

\ExplSyntaxOn
\cs_set_protected:Npn \__morewrites_shipout_ii:
  {
    \__morewrites_before_shipout:
    \__morewrites_tex_shipout:w \tex_box:D \g__morewrites_shipout_box
    \edef\tmp{\interactionmode\the\interactionmode\space}\batchmode\__morewrites_after_shipout:\tmp
  }


\ExplSyntaxOff


\begin{document}

Test.

\pagebreak

Test.

\end{document}

答案2

好吧,你想要做的是过滤 TeX 写入到 stdout 的输出;这不是 morewrites 包的特殊实现。我使用 Karl Berry 的特克斯福特当我希望终端仅显示某些消息时。这是一个 Perl 脚本。它可以自定义,并且有多个选项,尽管从您给出的描述来看,标准设置似乎已经对您有帮助。

相关内容