交叉引用和标题在Rmd文件中不起作用

问题描述 投票:1回答:1

任何人都可以帮助我理解如何编写我的标题,以便图标题和交叉引用有效吗?

我正在练习制作字幕并交叉引用我的Rmd文件中的简单绘图。我明白要这样做,我应该添加到我的标题:“output:bookend :: pdf_document2”和“fig_caption = yes”。然后,对于一个名为myfigure的块,我应该添加“fig.cap =”\ label {fig:myfigure}我的标题“。要交叉引用这个图,我应该在文本中写一下”@ref(图:myfigure)“。我的代码如下。它不会编织,因为标题的格式错误。

---
title: "knit"
author: "Chase Hommeyer"
date: "4/1/2019"
output: bookdown::pdf_document2
  toc: true
  fig_caption: yes
---

```{r myfigure, fig.cap = "\\label{fig:myfigure} My caption"}
plot(pressure)
```

My plot is called \@ref(fig:myfigure).

然后,我尝试删除toc和fig_caption之前的空白,然后编织,但没有出现标题,文本字面上印有“@ref(fig:myfigure)”而不是交叉引用。我试过的标题是:

---
title: "knit"
author: "Chase Hommeyer"
date: "4/1/2019"
output: bookdown::pdf_document2
toc: true
fig_caption: yes
---

我也尝试在标题中添加“pdf_document:”,但是没有标题的相同问题和交叉引用字面意思是“@ref(图:myfigure)”。我试过的这个标头在这里:

 ---
title: "knit"
author: "Chase Hommeyer"
date: "4/1/2019"
output: bookdown::pdf_document2
  pdf_document:
    toc: true
    fig_caption: yes
---

任何人都可以帮助我了解如何编写我的标题,以便它的工作原理?

r latex r-markdown pdflatex caption
1个回答
0
投票

你有一个错误的YAML标题和一些错误的引用理解。我用过这个RMD文件:

---
title: "knit"
author: "Chase Hommeyer"
date: "4/1/2019"
output: 
  bookdown::pdf_document2:
    toc: true
    fig_caption: yes
---

```{r myfigure, fig.cap = "My caption"}
plot(pressure)
```

My plot is called Figure \@ref(fig:myfigure).

首先,在标题中的output之后打破线。在YAML标题中,空格非常重要!

然后,阅读bookdown手册:

图形环境的标签是从代码块的标签生成的,例如,如果块标签是foo,则图形标签将是fig:foo(前缀fig:在foo之前添加)。要引用图形,请使用语法,其中label是图形标签,例如fig:foo

要使用块名称“myfigure”引用您的绘图,只需编写\@ref(fig:myfigure)。图中的标题可以通过chunk选项中的fig.cap设置。

© www.soinside.com 2019 - 2024. All rights reserved.