2013-02-23 78 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... ."