【问题标题】:dev='png' is not working for pdf output in knitrdev='png' 不适用于 knitr 中的 pdf 输出
【发布时间】:2015-03-10 01:17:46
【问题描述】:

在默认设置中,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    

【问题讨论】:

  • 这个问题的序言对我来说没有多大意义。你能解释一下你为什么期待dev='png' [to "work"] for pdf。在这种情况下,动词“工作”是什么意思?

标签: r knitr


【解决方案1】:

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

【讨论】:

  • 感谢@Yihui。将安装开发版本。
  • 嗨@Yihui,我今天遇到了与上面描述的相同的问题,并尝试按照您的建议直接从github安装knitr(我使用以下行:devtools::install_github('yihui/knitr', build_vignettes = TRUE)),但那没有' t 改变结果。还有其他建议吗?我正在处理一个 Rnw 文件,并希望将 png 作为我的绘图的输出。
猜你喜欢
  • 2014-09-10
  • 2017-02-04
  • 2016-10-17
  • 2018-02-18
  • 1970-01-01
  • 2019-08-16
  • 2019-05-29
  • 2014-03-30
  • 1970-01-01
相关资源
最近更新 更多