knitr使用RStudio编译问题(windows)

时间:2013-02-23 11:32:17

标签: r knitr rstudio

我有一个基于knitr的Rnw文件,在mac(v0.97.316)和knitr(v1.1)上的RStudio中编译为pdf完全正常,但在windows环境中(相同版本)我得到编译错误。我已经在两个环境中检查了RStudio中的选项,它们是一致的。

似乎Windows设置始终注入:“\ SweaveOpts {concordance = TRUE}”进入“.tex”文件,即使我在Rnw文件中没有这样的标志,和/或如果我切换设置首选项,和/或如果我将“opts_knit $ set(concordance = FALSE)”选项添加到knitr设置块。如果我从“.tex”文件中删除该行并在cmd提示符下手动编译它,则会按预期生成输出。

我不确定这是否是一个RStudio或knitr问题,但任何指针都会受到赞赏。

注意,我也在RStudio支持委员会(http://support.rstudio.org/help/discussions/problems/5039-knitr-compile-problems-with-rstudio-windows?unresolve=true)上发布了这个问题。

3 个答案:

答案 0 :(得分:5)

注入\SweaveOpts{concordance=TRUE}的原因很可能是你的织布工Sweave而不是knitr,你也启用了Rnw一致性:http://www.rstudio.com/ide/docs/authoring/rnw_weave但我不能说肯定它不是Windows版本的RStudio的错误。无论如何,很容易验证它是否是一个RStudio问题 - 打开Compile PDF面板,你应该看到这样的日志:

RStudio with knitr

如果你的织布工是Sweave,你会看到类似的东西:

RStudio with Sweave

这是我的配置(我在Ubuntu下):

Configure Sweave in RStudio

如果您确实使用knitr,并且RStudio仍然插入\SweaveOpts{concordance=TRUE},我想它一定是RStudio的错误。

答案 1 :(得分:2)

我遇到了这个问题,“R CMD build KFAS-master”已下载2016-04-24作为“KFAS-master.zip”点击“下载ZIP”来自KFAS的GitHub(https://github.com/helske/KFAS)。我无法复制问题,但我使用的工作是找到弹出窗口中提到的行(下面复制),并在前面用“%%”将其注释掉。

下载后,我解压缩并将文件夹名称更改为“KFAS”。然后我得到一个命令提示符并导航到包含重命名为KFAS的KFAS主文件夹的目录。这次“R CMD build KFAS”按预期工作。然后我在RStudio 0.99.893打开~KFAS / vignettes / KFAS.Rmw,截至2016-04-26的当前版本。我改变了一些东西并保存了结果。当我重复“R CMD build KFAS”时,我得到了下图中描绘的问题。

Jouni Helske指示我这篇文章。我通过在“\ SweaveOpts {concordance = TRUE}”之前添加“%%”来评论下面屏幕截图中提到的第69行。我保存了结果,“R CMD build KFAS”工作了。

有些东西似乎偶尔会在* .Rnw文件中插入一行“\ SweaveOpts {concordance = TRUE}”,但我不知道它是什么。我在OS X 10.11.2的MacBook Pro上运行R 3.2.4。

感谢Yihui和其他人在此主题中的早期帖子。

screen shot showing pop-up complaining, "It seems you are using the Sweave-specific syntax in line(s) 69... ."

答案 2 :(得分:0)

即使默认情况下为“Weave Rnw files using”设置了knitr,我也遇到了同样的问题。

我通过转到Tools / Global Options / Sweave并将“Weave Rnw files using”设置为Sweave并按Ok来解决它。然后,我回去把它设置回knitr,现在一切正常。

我猜这确实是Rstudio bug