R Markdown中HTML输出的图形和表格标题的自动编号

时间:2018-08-07 15:49:27

标签: r-markdown knitr bookdown

当我将R Markdown文档编织成HTML格式时,是否可以自动为标题中的数字编号?

我想要的输出如下:

  

图1:这是这张惊人的图表的标题。

但是,我目前得到以下信息:

  

这是我给这张惊人图的标题。

这是我的MWE:

---
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的权威指南》,从封面到封面,都找不到。

1 个答案:

答案 0 :(得分:2)

如果您希望对数字进行编号,则需要使用书本提供的输出格式。其中包括html_document2pdf_document2等。有关更全面的选项列表,请参见here

将文档示例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")
```