r语言 - pandoc 和 rmarkdown:无法获取比 rmarkdown 文档高一级的图像



我刚刚开始使用rmarkdown,pandoc和knitr。我很难让 pandoc 获取比 rmarkdown 文档高一级的图像。例如,考虑我们的项目目录是 ~/test,以下 rmarkdown 位于 ~/test/scripts:

---
title: "test"
---
```{r global_options, include=FALSE}
library('knitr')
opts_knit$set(root.dir = '~/test')
```
![test](figures/test.svg)

然后,我从 ~/test 目录Rscript -e "rmarkdown::render('scripts/test.Rmd')"运行命令。它给了我错误:

pandoc: Could not fetch figures/test.svg
figures/test.svg: openBinaryFile: does not exist (No such file or directory)

我会认为通过将 root.dir 设置为项目目录,pandoc 会获取与此相关的文件?但似乎"工作目录"总是设置为相对于 rmarkdown 文档所在的位置?任何帮助将不胜感激。谢谢

>sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C               LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8     LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8
 [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
other attached packages:
[1] vimcom_1.0-0   setwidth_1.0-3 colorout_1.0-2
loaded via a namespace (and not attached):
[1] tools_3.1.0`

Pandoc不知道knitrroot.dir选项。您必须写入相对于当前工作目录的路径,例如 ../figures/test.svg .或者在scripts目录下运行Rscript

如果你刚刚开始使用rmarkdownknitr,我强烈建议你不要使用root.dir选项,除非你真的理解它的含义。这些目录可能非常非常棘手。

最新更新