2015-01-21 15 views
5

Trong tập tin rmarkdown của tôi, tôi đã tự hỏi liệu nó có thể được bên trong một đoạn r và sử dụng giá trị tùy chọn fig.cap bên trong chính r-chunk.knitr: Lấy chú thích hình bên trong một đoạn r

Ví dụ:

```{r fig.cap = 'test'} 
code 
. 
. 
print(options$fig.cap)? 
```` 

Cảm ơn trước sự giúp đỡ nào hay lời khuyên để bắt đầu từ đâu tìm

Trả lời

1

câu hỏi thú vị. Tôi muốn biết cách thích hợp để làm điều này, nhưng cách này (rất) hacky làm việc cho tôi.

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

enter image description here

này làm việc cho các con số mới nhất được tạo ra, nhưng bạn có thể làm việc trong một con số truy cập hay cái gì khác để làm biến duy nhất cho mỗi chú thích để bạn có thể tham khảo bất cứ khi nào bạn muốn.

1

Nó có thể được truy xuất với knitr::opts_current$get("fig.cap"). Dưới đây là ví dụ:

```{r fig.cap = 'test'} 
library(knitr) 
code 
. 
. 
print(opts_current$get("fig.cap")) 
```` 
Các vấn đề liên quan