在R Markdown中为HTML输出自动编号图表标题

6

在将R Markdown文档转换为HTML格式时,有没有一种自动编号图例的方法?

我希望我的输出结果如下:

图1:这是我对这张惊人图表的说明。

然而,我目前得到的结果是:

这是我对这张惊人图表的说明。

以下是我的最小工作示例:

---
title: "My title"
author: "Me"
output: 
  html_document:
  number_sections: TRUE
  fig_caption: TRUE
---

```{r setup}
knitr::opts_chunk$set(echo=FALSE)
```

```{r plot1,fig.cap="Here is my caption for this amazing graph."}
x <- 1:10
y <- rnorm(10)
plot(x,y)
```

```{r table1, fig.cap="Here is my caption for an amazing table."}
head(mtcars, 2)
```

我已经阅读过关于使用Bookdown解决此问题的内容,但是我已经全文阅读了《Bookdown权威指南》,并没有找到相关内容。


回答完这个问题后,我意识到它可能是R Markdown HTML Number Figures的重复问题。然而,该答案缺乏任何使用bookdown的好答案,因此我已经在另一个帖子中添加了类似的答案。 - Michael Harper
1个回答

7
如果您希望有编号的图表,您需要使用bookdown提供的输出格式,例如html_document2pdf_document2等。如需了解更多选项,请查看此处提供的更详细的列表。
将您的文档示例html_document更改为bookdown::html_document2即可解决您的问题。
---
title: "My title"
author: "Me"
output: 
  bookdown::html_document2:
  number_sections: TRUE
  fig_caption: TRUE
---

```{r setup}
knitr::opts_chunk$set(echo=FALSE)
```

```{r plot1,fig.cap="Here is my caption for this amazing graph."}
x <- 1:10
y <- rnorm(10)
plot(x,y)
```

```{r plot2, fig.cap="Here is my caption for another amazing graph."}
plot(y,x)
```

如果您想为使用knitr :: kable 创建的表格添加标签,您需要在表格代码中指定标题

```{r table1}
knitr::kable(mtcars[1:5, 1:5], caption = "Here is an amazing table")
```

1
太棒了,谢谢Mikey。我意识到fig.cap不能用于表格。是否有tbl.cap? - DuckDuckGoose
还有帮助:https://stackoverflow.com/questions/64896314/how-to-generate-automatic-numbering-of-table-titles-in-word-using-knit-in-rmarkd - user63230

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接