我有一个小的Rnw文件.使用knitr编译时,它会在pdf中显示导入注释.如何删除这些评论?这是文件a.Rnw:
\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\begin{document}
Hi, this is an example!
<<setup, echo=FALSE, cache=TRUE>>==
library(earth, warn.conflicts=FALSE)
a <- rnorm(100); b<- 0.05*rnorm(100) - .2*a
model <- lm(a~b)
plot(model)
@
\end{document}
Run Code Online (Sandbox Code Playgroud)
当我用knitr编译时
$ Rscript -e "library(knitr); knit('a.Rnw')"
Run Code Online (Sandbox Code Playgroud)
我在tex文件中得到了这个无关的位:
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
{\ttfamily\noindent\itshape\color{messagecolor}{\#\# Loading required package: plotmo\\\#\# Loading required package: plotrix}}\end{kframe}
Run Code Online (Sandbox Code Playgroud)
显示为

这是正常的吗?如何删除这些评论?
最简单的方法是message=FALSE在块中选择,或者在library(knitr); opts_chunk$set(message=FALSE)文档的头部附近放入块选项.
这比@rawr在上面的注释中链接到的问题稍微简单一点,因为它引用了一个使用不当的包cat()而不是message()它的启动消息. message=FALSE将禁止块生成的所有消息; 如果你想要更精确一点
suppressPackageStartupMessages(library(earth))
Run Code Online (Sandbox Code Playgroud)
应该工作,但我发现这message=FALSE通常是无害的,看起来更漂亮(例如,如果你想要echo=TRUE).