ciekawe pytanie. Chciałbym wiedzieć, jak to zrobić, ale ten (bardzo) hakowaty sposób działa dla mnie.
---
output:
html_document:
css: ~/knitr.css
---
```{r, include=FALSE}
library(knitr)
knit_hooks$set(plot = function(x, options) {
fig_fn = paste0(opts_knit$get('base.url'), paste(x, collapse = '.'))
fig.cap <<- knitr:::.img.cap(options)
sprintf("<figure><img src='%s'><figcaption>%s</figcaption></figure>",
fig_fn, fig.cap)
})
```
```{r, fig.cap = 'Figure I: the plot of my figure.'}
plot(1:5)
````
I say some things and some other things.
Oh, yeah please refer to `r fig.cap`
Działa to na ostatnim rysunku generowany, ale można pracować w liczniku rysunek albo coś innego zrobić unikalne zmienne dla każdego napisu, tak aby można odwołać w dowolnym momencie.