我想知道如何在knitr
中抑制错误消息。我的MWE如下:
\documentclass{article}
\begin{document}
<< Test >>=
1:10
X
@
\end{document}
被修改
对象X
不存在。我想在我的代码块中显示X
并想要评估它,即使这会引发错误。但是,我不希望在.tex
文档中显示任何错误,因为我们可以通过设置warning=FALSE
来抑制警告。
答案 0 :(得分:6)
错误有自己的专用钩子函数,存储在knit_hooks$get()
访问的环境中。在这里,您的启示是这些功能的完整列表:
names(knit_hooks$get())
# [1] "source" "output" "warning" "message" "error" "plot"
# [7] "inline" "chunk" "document"
要禁止显示警告,只需使用带有所需参数的函数覆盖默认错误挂钩函数,但不会返回任何内容。
\documentclass{article}
\begin{document}
<<setup, include=FALSE, cache=FALSE>>=
muffleError <- function(x,options) {}
knit_hooks$set(error=muffleError)
@
<<Test>>=
1:10
X
@
\end{document}
在编译时,产生以下内容