2013-02-23 79 views
3

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

看来,Windows安装程序总是向“.tex”文件注入“\ SweaveOpts {concordance = TRUE}”,即使我在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)。

回答

4

的原因,它被注入\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的一个bug。

+0

感谢您的答复,但是是的,我有knitr激活设置,日志的第一部分确认knitr,就是要在使用中。实际上,看起来好像是我没有发现Rnw文件中的行,当我切换环境时必须添加该行。 – 2013-02-24 12:41:44

0

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

我通过转到工具/全局选项/ Sweave并将“Weave Rnw files using”设置为Sweave并按Ok来解决此问题。然后,我回去把它放回knitr,现在一切正常。

我想这确实是Rstudio错误

1

我遇到了这个问题,“R CMD建立KFAS主”中下载2016年4月24日从KFAS的“KFAS-master.zip”点击“下载ZIP” GitHub(https://github.com/helske/KFAS)。我无法复制该问题,但我使用的工作是找到弹出窗口中提到的行(复制如下),并通过在“%%”前面注释掉它。

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

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

某些东西似乎偶尔会将“\ SweaveOpts {concordance = TRUE}”这样的行插入* .Rnw文件,但我不知道它是什么。我在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... ."