【问题标题】:caption in the html output of knitrknitr 的 html 输出中的标题
【发布时间】:2013-02-07 06:39:01
【问题描述】:

编织以下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 输出?

【问题讨论】:

  • 如果通过Pandoc将md转为html,会得到可见的caption;否则你可能需要重新定义plot hook,我会留给其他人来回答你
  • 当我查看答案的结果 html 时,我注意到一些奇怪的事情,看起来粘贴被包裹在代码块自己的 &lt;p&gt; 中,即使它应该在块之后。 Yihui,这是预期的行为吗?

标签: html r markdown knitr r-markdown


【解决方案1】:

我通常只在块选项中使用 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()
```

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 2014-03-18
    • 2014-03-16
    • 2017-06-24
    相关资源
    最近更新 更多