2013-06-12 33 views
2

我试图从sweave转移到knitr,但我被困在一个块中使用多个情节的问题。这里举一个例子: 让这个.Rnw简单的文件(名为Essai.Rnw)。一个块与knitr和Rstudio 0.97或0.98多个数字

\documentclass{article} 

\begin{document} 
\SweaveOpts{concordance=TRUE} 

<<fig=TRUE>>= 
plot(1:10, exp(1:10)) 
plot(1:10, log(1:10)) 
@ 

\end{document} 

我变换用它来knitr格式:

library("knitr", lib.loc="/Library/Frameworks/R.framework/Versions/3.0/Resources/library") 
Sweave2knitr("Essai.Rnw") 

我编辑的文件,以获得此:

\documentclass{article} 

\begin{document} 
\SweaveOpts{concordance=TRUE} 

<<include=FALSE>>= 
require(knitr) 
opts_chunk$set(concordance=TRUE) 
@ 
<<>>= 
plot(1:10, exp(1:10)) 
plot(1:10, log(1:10)) 
@ 
\end{document} 

在Rstudio当然只有一个情节在PDF中所示全局偏好,我使用Knitr设置了Weave Rnw文件,当我使用Rstudio中的Compile pdf按钮生成pdf文件时,我只得到一个plot,而不是我所期望的那样。

这里是我的sessionInfo()

> sessionInfo() 
R version 3.0.1 Patched (2013-06-10 r62935) 
Platform: x86_64-apple-darwin10.8.0 (64-bit) 

locale: 
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] knitr_1.2 

loaded via a namespace (and not attached): 
[1] digest_0.6.3 evaluate_0.4.3 formatR_0.7 stringr_0.6.2 tools_3.0.1 
+1

明确的解决方案! 我解决了这个问题。 我在Rstudio中创建了这个文件的一部分,并在项目选项中定义了这个选项:使用(Sweave)编织Rnw文件。 我把它改为(knitr),现在一切正常。 总而言之,项目的选项优先于Rstudio的全球偏好,而Rstudio对于knitr的定义很明确。 – MarcG

回答

1

不知道这是你的问题的原因,但如果你有knitr编织它,我认为你必须删除\SweaveOpts{concordance=TRUE}线。

1

如果我编译以下内容,我会得到两张图。请注意我所做的删除。您的原始代码没有在我的系统上编译。

\documentclass{article} 
\begin{document} 

<<include=FALSE>>= 
opts_chunk$set(concordance=TRUE) 
@ 
<<>>= 
plot(1:10, exp(1:10)) 
plot(1:10, log(1:10)) 
@ 
\end{document} 

也许读到你的阴谋是如何被集成到输出的knitr选项fig.keep=

相关问题