Knitr:文件名中的自动图形编号

时间:2017-08-13 01:18:45

标签: r knitr r-markdown

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

示例:

---
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选项更改数字名称。但我不知道如何捕捉自动图号。

1 个答案:

答案 0 :(得分:0)

我有部分答案。

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

---
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])
```

理想情况下,每个块创建一个数字。 我还不知道如何摆脱大块名称末尾添加的额外数字knitr