knitr的html输出中的标题

时间:2013-02-21 19:35:51

标签: html r markdown knitr r-markdown

编织以下Rmd文件时

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

```

使用RStudio的“Knit HTML”按钮,然后标题不会出现在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输出?

1 个答案:

答案 0 :(得分:13)

我通常只在块选项中使用results='asis'并在块中包含原始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()
```