dev ='png'不适用于knitr中的pdf输出

时间:2015-03-10 01:17:47

标签: r knitr

在默认设置中,knitr将使用“'pdf'表示LaTeX输出,使用'png'表示HTML / markdown”。但是,我可以在LaTeX输出的块选项中指定dev =“png”。此功能对于减小大矢量图(例如地图)的文件大小非常有用。

在以前版本的knitr中(可能是1.8。*,但不确定),我可以指定dev =“png”(以下示例适用于早期版本)。

今天我从github安装了最新版本的knitr(刚才)。但是dev ='png'不能用于pdf输出。我必须使用png设备进行pdf输出,因为我有一些pdf格式的大矢量图。

错误消息是:

 Error in (function (filename = "Rplot%03d.png", width = 480, height = 480, :
 unused argument (pdf = list(useDingbats = FALSE) Call: <Anonymous> ...
 block_exec -> chunk_device -> dev_new -> do.call -> <Anonymous> Execution halted))

我该如何解决这个问题?

这是我的例子:

---
output: pdf_document
---


```{r, echo=FALSE, dev='png'}
plot(cars)
```

感谢您的任何建议。如果我的问题仍然不明确,请告诉我。

这是我的会话信息。

R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_Australia.1252  LC_CTYPE=English_Australia.1252    LC_MONETARY=English_Australia.1252
[4] LC_NUMERIC=C                       LC_TIME=English_Australia.1252    

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

other attached packages:
[1] knitr_1.9.4

loaded via a namespace (and not attached):
[1] digest_0.6.4    evaluate_0.5.5  formatR_1.0     htmltools_0.2.6 rmarkdown_0.5.1 stringr_0.6.2  
[7] tools_3.1.3     yaml_2.1.13    

1 个答案:

答案 0 :(得分:4)

这是 knitr 中的错误。我只是在fixed(v1.9.5)中development version。失败的原因是pdf设备的选项已传递到png设备。