Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

knitr: can I cite an article in a figure caption using the fig.cap chunk option?

I'd like to cite an article in my figure caption. I've tried using the Rmarkdown/pandoc [@citekey] and the latex \\citep{citekey} forms in the fig.cap chunk option without any luck.

Here is a reproducible example:

---
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

This produces the correct citation in the text block but either [@Nobody06] (when I use the RMarkdown form) or (?) (when I use the Latex form) in the figure caption.

Here is a screencap: screencap.

Does anyone know if it's possible to use citations in thefig.cap field?

like image 423
Tom Harrop Avatar asked Oct 22 '15 15:10

Tom Harrop


1 Answers

The bookdown package extends the functionality of rmarkdown and provides some useful tools. Text-references can be used to address this problem. As described by the package author, text references can be used:

You can assign some text to a label and reference the text using the label elsewhere in your document.

This works really well with citations, as shown below:

---
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

You'll notice that the output format has been adjusted to bookdown::tufte_handout2 which allows the bookdown features to work. You can find a full list of the output formats here.

Read more about text references here: https://bookdown.org/yihui/bookdown/markdown-extensions-by-bookdown.html#text-references

like image 190
Michael Harper Avatar answered Nov 15 '22 06:11

Michael Harper