knitr:我可以使用fig.cap块选项引用图标题中的文章吗?

时间:2015-10-22 15:06:02

标签: r knitr r-markdown

我想在我的图标题中引用一篇文章。我已经尝试在[@citekey] chunk选项中使用Rmarkdown / pandoc \\citep{citekey}和latex fig.cap表单而没有任何运气。

这是一个可重复的例子:

---
output:
  rmarkdown::tufte_handout
references:
- id: Nobody06
  title: 'My Article'
  author:
  - family: Nobody
    given: Jr
  issued:
    year: 2006
---

Some text [@Nobody06].

```{r figure, fig.cap="A figure [@Nobody06]"}
library(ggplot2)
qplot(1:10, rnorm(10))
```

# References

这会在文本块中生成正确的引文,但在图标题中[@Nobody06](当我使用RMarkdown表单时)或(?)(当我使用Latex表单时)。

这是一个屏幕截图:screencap

有人知道是否可以在fig.cap字段中使用引文?

1 个答案:

答案 0 :(得分:0)

bookdown 软件包扩展了rmarkdown的功能并提供了一些有用的工具。文本引用可用于解决此问题。如软件包作者所述,可以使用文本引用:

  

您可以将一些文本分配给标签,并使用   在文档中的其他地方添加标签。

这对于引用非常有效,如下所示:

---
output: bookdown::tufte_handout2
references:
- id: Nobody06
  title: 'My Article'
  author:
  - family: Nobody
    given: Jr
  issued:
    year: 2006
---


(ref:crossref) Some text [@Nobody06].

```{r figure, fig.cap="(ref:crossref)"}
library(ggplot2)
qplot(1:10, rnorm(10))
```

# References

enter image description here

您会注意到输出格式已调整为bookdown::tufte_handout2,这使工作簿功能可用。您可以找到输出格式here的完整列表。

  

在此处阅读有关文本参考的更多信息:https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html#text-references