首页  >  文章  >  web前端  >  如何在 RMarkdown 中将 CSS 类添加到单个代码块?

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

Linda Hamilton
Linda Hamilton原创
2024-10-25 03:33:29631浏览

How to Add CSS Classes to Individual Code Chunks in RMarkdown?

向 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn