您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在RMarkdown中将CSS类添加到单个代码块中

在RMarkdown中将CSS类添加到单个代码块中

class.source并且class.output选项将其他HTML类应用于源和输出块请参阅[knitr文档。 要添加myClass到源块:

```{r cars, class.source='myClass'}
summary(cars)
```

您可以使用fenced_code_attributespandoc的扩展名(用于向<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

CSS 2022/1/1 18:22:29 有285人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶