为什么用点分隔的两位数的数字只能在html_document2中显示?

时间:2018-01-14 21:15:49

标签: r r-markdown bookdown

这是简单的RMarkdown文档,包含两个部分和两个图像。

---
output:
  bookdown::html_document2: default
  bookdown::word_document2: default
  bookdown::pdf_document2: default
---

\newpage

# Part 1

Part 1 starts here. See Figure \@ref(fig:fig1-1) 

![(\#fig:fig1-1) expected to be Figure 1.1.](/usr/lib/rstudio/www/images/rstudio.png)

# Part 2

Part 2 starts here. See Figure \@ref(fig:fig2-1) 

![(\#fig:fig2-1) expected to be Figure 2.1.](/usr/lib/rstudio/www/images/rstudio.png)

我希望使用Knit将两个图像渲染到以下编号 - 首先是图1.1 ,第二个是图2.1 。但我只在html_document2中得到此渲染(见下图):

knit to html render

我使用最新的RStudio 1.1.414和最新的Git书籍(38efc82)。 我在这里有两个问题:

  1. 为什么我在Word或PDF中没有图1.1 图2.1
  2. 如何在Word或PDF中获得图1.1 图2.1

1 个答案:

答案 0 :(得分:1)

我只能通过LaTeX处理PDF输出。默认情况下,使用LaTeX文档类article,它使用连续的图形编号。如果您的文档太长,以至于对每个顶级部分中的数字进行编号是有意义的,那么您可能希望使用reportbook代替,例如:

---
documentclass: book
output:
  bookdown::pdf_document2: default
  bookdown::word_document2: default
  bookdown::html_document2: default
---

或者,您可以使用一些LaTeX包来更改图号的格式,例如:

---
header-includes:
  \usepackage{chngcntr}
  \counterwithin{figure}{section}
output:
  bookdown::pdf_document2: default
  bookdown::word_document2: default
  bookdown::html_document2: default
---

如果你正在使用该软件包,那么另一种选择是来自\numberwithin的{​​{1}}命令。