class.source
并且class.output
选项将其他HTML类应用于源和输出块请参阅[knitr文档。 要添加myClass
到源块:
```{r cars, class.source='myClass'}
summary(cars)
```
您可以使用fenced_code_attributes
pandoc的扩展名(用于向<pre>
标签添加属性,请参见此处)和一个knitr
输出hook添加类。
以下示例可以正常工作:
---
title: "Untitled"
output:
html_document:
md_extensions: +fenced_code_attributes
---
```{r, include=FALSE}
knitr::knit_hooks$set(source = function(x, options) {
return(paste0(
"```{.r",
ifelse(is.null(options$class),
"",
paste0(" .", gsub(" ", " .", options$class))
),
"}\n",
x,
"\n```"
))
})
```
```{r cars, class="myClass1 myClass2"}
summary(cars)
```
编织此.Rmd
文件后,HTML
文档如下所示:
<pre class="r myClass1 myClass2">
<code>
summary(cars)
</code>
</pre>
该fenced_code_attributes
扩展是默认启用:在标准情况下,你并不需要包括线md_extensions: +fenced_code_attributes
在你的YAML
头。
我不知道是否使用更加直接的解决方案knitr
。