Подтвердить что ты не робот

Подпись в html-выходе knitr

При вставке следующего файла Rmd

```{r, fig.cap="mycaption"}
plot(0,0,axes=FALSE,xlab=NA,ylab=NA)

```

с кнопкой "Вязать HTML" в RStudio, тогда заголовок не отображается в выходном файле html. Действительно, исходный код html, соответствующий рисунку, выглядит так:

<p><img src="data:image/png;base64,..." alt="mycaption"/></p> 

Чтобы увидеть заголовок, он должен быть, например:

<p><img src="data:image/png;base64,..." alt="mycaption"/><p class="caption">mycaption</p></p> 

Как легко получить вывод html с видимыми заголовками?

4b9b3361

Ответ 1

Обычно я использую results='asis' в параметрах chunk и включаю raw html в кусок, обертывая его в cat(), но, как сказал Yihui, вы можете создать свой собственный крючок:

```{r}
knit_hooks$set(htmlcap = function(before, options, envir) {
  if(!before) {
    paste('<p class="caption">',options$htmlcap,"</p>",sep="")
    }
    })
```

```{r, htmlcap="Hello Dolly"}
library(ggplot2)
ggplot(diamonds,aes(price,carat)) + geom_point()
```