Rmarkdown 交叉引用数字不起作用

Rmarkdown Cross-referencing figures don't work

所以。 我想将一些图像文件插入到 Rmarkdown 文档中,自动生成标签并能够从文本的其他地方引用这些图像。我正在使用 bookdown,所以我从

开始
---
output: 
  html_document:
    toc: true
    number_sections: true
    fig_caption: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(bookdown)
```

根据 bookdown manual 如果我有以下代码块:

```{r knnPlot, echo=FALSE, fig.cap="Knn Plot"}
    knitr::include_graphics("knn-cs3-gs2.png")
```

那么我应该自动生成一个标签 fig:knnPlot,因为使用 fig.cap 显然会将 R 置于图形环境中并自动将 "fig" 添加到标签前。然后它告诉我我应该能够使用 \@ref(label) 引用该图,或者更确切地说,在这种情况下,\@ref(fig:knnPlot)

然而,当我这样做时,输出的是文本“\@ref(fig:knnPlot)”,而不是实际的交叉引用。没有图形标签,没有编号。这意味着如何工作?

我无法使用建议的硬编码方法 。我也找不到我能找到的唯一其他选项,它告诉我安装 pandoc-crossreference,这让我陷入了一个荒谬的兔子洞,安装所有东西的 haskell 以及无尽的依赖和模糊的毫无意义的错误消息这导致充满 6 页错误日志的极其无用的开发者论坛。

您没有创建簿记文档。使用 bookdown::html_document2 代替:

---
title: "Bookdown"
output: 
  bookdown::html_document2:
    fig_caption: yes
    number_sections: yes
    toc: yes
---

```{r Doge, echo=FALSE, fig.cap="Mighty Doge"}
knitr::include_graphics("unnamed.png")
```

Check out this picture: \@ref(fig:Doge)