RMarkdown for Word 文档中的交叉引用

Lau*_*ckx 7 label r r-markdown

我正在编写一个 Rmd 文件,该文件将被编入 Word 中的报告中。我正在尝试为图形创建一个标签,并对其进行交叉引用,如下所示:

如图所示\ref{fig:TotalCarStock},等等,等等。

```{r TotalCarStock, echo=FALSE, fig.cap="Forecasted versus actual car stock", out.width = '100%'}
knitr::include_graphics("C:/Usr/WP vehicle stock/TotalCarStock.jpg")
```
Run Code Online (Sandbox Code Playgroud)

我在这里看到的所有讨论都表明这在创建 pdf 文档时可以正常工作,但我希望将我的 Rmd 文件“编织”到 Word 文档中。Word 文档创建正确,除了标签和交叉引用保持空白。

Car*_*era 5

@LaurentFrankx最后,我找到了解决方案:如果您在YAML 标头行中使用bookdown::word_document2:代替,您将能够得到以下结果,如下所示。word_documentoutput

在此输入图像描述

---
title: "VHS Report"
author: "Laurent Franckx"
date: "14 September 2018"
output: 
  bookdown::word_document2:
  fig_caption: yes
#pdf_document: default
---

As illustrated in Figure \@ref(fig:TotalCarStock), etc, etc. However, `out.width = '100%'` in an R chunk cannnot be specified when we want to produce a `.docx` output, because `out.width = '100%'` is used for creating `.pdf` outcome.

```{r TotalCarStock, echo=FALSE, fig.cap="Forecasted versus actual car stock"}
knitr::include_graphics("https://i.stack.imgur.com/JlNbf.png")
```
Run Code Online (Sandbox Code Playgroud)

bookdown::word_document2:以及其他***_document2功能由@Yihui创建。我们可以在官方指南中看到它们的用法。这些使我们能够进行自动编号,如此处所述

如需进一步定制,可以参考《与 Rmd 愉快协作 to docx》一文。尽管本文介绍了如何使用 来配置格式word_document,但对于更新后的功能 来说,这些提示仍然有效且有用word_document2

  • 很好的答案,而且有效。然而!- 参考文献的名称不喜欢下划线。我只是花了很长时间试图找出它不起作用的原因。我使用的是 `fig:Total_Car_Stock` 和 `{r Total_Car_Stock...`(或我文档中的等效项),但它不起作用,但 `fig:TotalCarStock` 和 `{r TotalCarStock...` 确实适用于一些原因。有谁知道这是为什么吗? (3认同)

Car*_*era 3

根据创建者@Yihui 的Rmarkdown 指南\@ref(figure's label),应该用来指代数字。因此,您可以使用\@ref(fig:TotalCarStock), 代替\ref{fig:TotalCarStock},如下所示:

如图所示\@ref(fig:TotalCarStock)等。

在编织、或时,该符号\@ref(figure's/table's label)可用于参考图像、图表或表格。.docx.pdf.html