r-如何在不丢失包装的情况下更改编织器输出块中警告和错误消息的颜色



我希望输出区块中打印的警告和错误分别为黑色,而不是紫红色和红色。我试图通过github.com/yihui/knitr/issues/264来解决这个问题。以下是我迄今为止所拥有的一个简短的例子(第一块)。

documentclass{article}
begin{document}
<<echo=FALSE>>=
color_block = function(color) {
  function(x, options) sprintf('{\color{%s}\begin{verbatim}%s\end{verbatim}}',color, x)
}
knit_hooks$set(warning=color_block('black'),error=color_block('black'))
@
<<>>=
lens <- c(10,20,30,40)
lens + c(100,200,300)
@
end{document}

我已经成功地将消息的颜色更改为黑色,但消息现在不会换行以保持在输出块边界内,并且在消息前后有额外的空间(请参阅第二个块的结果)。

从这次SO讨论中,我认为raggedright可能会有所帮助,但我对这段代码的理解还不够好,无法对其进行适当的修改

如有任何帮助,我们将不胜感激。提前谢谢。

附言,这是我几天前在编织者谷歌集团上未回答的问题的重复。

是的。在.rnw文件的前导码中使用以下代码。

ifdefinedknitrout
renewenvironment{knitrout}
{definecolor{warningcolor}{rgb}{0, 0, 0} definecolor{errorcolor}{rgb}{0, 0, 0}}
{  }
else
fi

最新更新