有人可以帮助我理解如何编写标题,以便图形标题和交叉引用起作用吗?
我正在练习为Rmd文件中的简单绘图制作字幕和交叉引用。我知道要这样做,我应该在标题中添加“ output:bookend :: pdf_document2”和“ fig_caption = yes”。然后,在一个名为myfigure的块中,我应该添加“ fig.cap =“ \ label {fig:myfigure}我的标题”。要交叉引用该图,我应该在文本中输入“ @ref(fig: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(fig:myfigure)”。我尝试过的标头在这里:
---
title: "knit"
author: "Chase Hommeyer"
date: "4/1/2019"
output: bookdown::pdf_document2
pdf_document:
toc: true
fig_caption: yes
---
任何人都可以帮助我理解如何编写标题以便工作吗?
答案 0 :(得分: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标头中,空格非常重要!
然后,阅读本书手册:
图形环境的标签是由代码块的标签生成的,例如,如果块标签为foo,则图形标签将为
fig:foo
(前缀图:在foo之前添加)。要引用图形,请使用以下语法,其中label是图形标签,例如fig:foo
。
要使用块名称“ myfigure”引用您的绘图,只需编写\@ref(fig:myfigure)
。可以通过块选项中的fig.cap
设置图形的标题。
答案 1 :(得分:0)
使用\ref{fig:myfigure}
代替\\@ref(fig:myfigure)