编译 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/