我希望输出块中打印的警告和错误分别为黑色而不是紫红色和红色。我试图按照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 discussion开始,我认为\raggedright
可能有所帮助,但我不能很好地理解这段代码,以便对其进行适当的修改。
任何帮助将不胜感激。提前谢谢。
p.s。,这是我unanswered question on the knitr Google Group from a few days ago的副本。
答案 0 :(得分:1)
是的,有。在.rnw文件的前导码中使用以下代码。
\ifdefined\knitrout
\renewenvironment{knitrout}
{\definecolor{warningcolor}{rgb}{0, 0, 0} \definecolor{errorcolor}{rgb}{0, 0, 0}}
{ }
\else
\fi