在我的rmarkdown文件中,我想知道是否有可能进入r块并在r-chunk本身内使用fig.cap选项值。
例如:
```{r fig.cap = 'test'}
code
.
.
print(options$fig.cap)?
````
预先感谢您提供任何帮助或建议,以便从哪里开始寻找
答案 0 :(得分:1)
有趣的问题。我想知道这样做的正确方法,但这种(非常)hacky方式对我有用。
---
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`
这适用于最近生成的数字,但您可以使用数字计数器或其他内容为每个标题创建唯一变量,以便您可以随时引用。
答案 1 :(得分:1)
可以使用knitr::opts_current$get("fig.cap")
检索它。这是一个例子:
```{r fig.cap = 'test'}
library(knitr)
code
.
.
print(opts_current$get("fig.cap"))
````