r - Knitr : automated figure numbering in the file names

标签 r knitr r-markdown

编译 knitr 报告时,我想自动更改保存在光盘上的文件的名称(例如 label-1.pdf)以包括数字标题的自动编号(例如 Figure-054.pdf)。

示例:

---
title: "Test"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE,  fig.path = 'Figures/', fig.cap = '  ', fig.pos = "H")
```

```{r}
summary(cars)
```

```{r cars}
plot(cars)
```

```{r, fig.cap = 'pressure'}
plot(pressure)
```

```{r}
summary(iris)
```

```{r}
plot(iris)
plot(iris[,1] ~ iris[,5])
```

我得到4个文件名

cars-1.pdf
unnamed-chunk-2-1.pdf
unnamed-chunk-4-1.pdf
unnamed-chunk-4-2.pdf

我想获得这样的东西(即对应于 pdf 报告中的编号):

Figure-001.pdf
Figure-002.pdf
Figure-003.pdf
Figure-004.pdf

我知道可以使用 fig.process knitr 选项更改图形名称。但是我不知道如何捕获自动图形编号。

最佳答案

我有部分答案。

你必须相应地命名你的 block :

---
title: "Test"
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE,  fig.path = 'Figures/', fig.cap = '  ', fig.pos = "H")
```

```{r}
summary(cars)
```

```{r Figure1}
plot(cars)
```

```{r Figure2, fig.cap = 'pressure'}
plot(pressure)
```

```{r }
summary(iris)
```

```{r Figure3}
plot(iris)

```

```{r Figure4}
plot(iris[,1] ~ iris[,5])
```

理想情况下,每个 block 创建一个图形。 我还不知道如何去掉 knitr 在 block 名称末尾添加的额外数字。

关于r - Knitr : automated figure numbering in the file names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45656258/

相关文章:

在不重命名的情况下附加数据框的推荐做法?

r - knitr 文档中 install.packages 失败 : "trying to use CRAN without setting a mirror"

r - 使用 condformat 和 Knir 在 pdf 上创建表格?

r - vim-rmarkdown 插件配置

r - 如何在 rmarkdown 导航栏中使用子菜单?

r - 你如何在 R 中创建嵌套表?

r - R 中 gsub 的异常

r - 使用 R 的非零零假设的相关显着性

R:将绘图存储到列表中然后编织到knitr文档中

r - 将 R_markdown 编织成 PDF 时加载命名空间出错