向 RMarkdown 中的各个代码块添加 CSS 类
在 RMarkdown 中,自定义代码块的外观可以增强文档的可读性和美观性。实现此目的的一种方法是将 CSS 类分配给特定的代码块。
挑战:
作为 RMarkdown 用户,您可能会遇到需要添加 CSS 类的情况到由标签指定的某个代码块,例如 .myClass。我们的目标是找到一种简单的解决方案,不需要繁琐的解决方法,例如将块包装在额外的
初始尝试:
人们可以尝试使用以下语法将 .myClass 类添加到标记为“cars”的代码块中:
summary(cars)
不幸的是,这种方法不起作用。为了解决这个限制,我们提出了两种解决方案:
解决方案 1:Knit 的 class.source 选项
knitr,RMarkdown 的底层 R 包,最近引入了该类。 source 选项,它允许您为源代码块指定 CSS 类:
summary(cars)
此方法很简单,会将 .myClass 类添加到
中。 <p><strong>解决方案 2:Pandoc 的 fenced_code_attributes 扩展和输出挂钩</strong></p><p>在 knit 实现 class.source 选项之前,解决方案涉及Pandoc 的 fenced_code_attributes 扩展和自定义knitr 输出钩子很受欢迎。此方法的工作原理是向 </p><pre class="brush:php;toolbar:false"> 添加属性。标签:<pre class="brush:php;toolbar:false">--- title: "Untitled" output: html_document: md_extensions: +fenced_code_attributes ---
knitr::knit_hooks$set(source = function(x, options) {
return(paste0(
"```{.r", ifelse(is.null(options$class), "", paste0(" .", gsub(" ", " .", options$class)) ), "}\n", x, "\n```"
))
})
摘要(汽车)
以上是如何在 RMarkdown 中将 CSS 类添加到单个代码块?的详细内容。更多信息请关注PHP中文网其他相关文章!