在 xaringan 中为 input/output 个块自定义 css
Customize css for input/output chunks in xaringan
我使用 xaringan 进行演示,并希望为输入和输出 R 块自定义 CSS。
最初,我认为我可以使用 knitr
中的 class.source
和 class.output
参数来设置 CSS 类.
knitr::opts_chunk$set(class.source = "foobar",
class.output = "bg-warning")
但是,这些全局操作似乎不能很好地与 xaringen 配合使用。以下最小示例
---
title: Change the chunk style
output:
xaringan::moon_reader
---
```{r}
knitr::opts_chunk$set(class.source = "foobar",
class.output = "bg-warning")
```
```{r}
mtcars[1:5, "mpg"]
```
生成以下渲染图
如果输出设置为 htlm_document
那么一切都可以正常播放,但这并不能解决 xaringan 演示文稿的问题。
这些块选项不适用于 xaringan,因为 xaringan 不使用 Pandoc 的 Markdown 语法,而是 remark.js'秒。也就是说,它们生成 ```{.r .class}
,仅适用于 Pandoc 的 Markdown。我没有时间在 xaringan 支持他们,但如果你想在 Github 上贡献一个拉取请求,这里是开始的地方:https://github.com/yihui/xaringan/blob/2ad2a6d/R/render.R#L195-L204基本上,您将 source/output 字符串包装在 .class[]
中,这是 remark.js 用于向元素添加 classes 的语法。
如果没有补丁,您只能将 class 名称应用于整个输出,并在 class 内设置代码块的样式,例如,
---
title: Change the chunk style
output:
xaringan::moon_reader
---
```{css, echo=FALSE}
/* R code */
.foobar code.r {
font-weight: bold;
}
/* code without language names */
.foobar code[class="remark-code"] {
display: block;
border: 1px solid red;
}
```
.foobar[
```{r}
mtcars[1:5, "mpg"]
```
]
我使用 xaringan 进行演示,并希望为输入和输出 R 块自定义 CSS。
最初,我认为我可以使用 knitr
中的 class.source
和 class.output
参数来设置 CSS 类.
knitr::opts_chunk$set(class.source = "foobar",
class.output = "bg-warning")
但是,这些全局操作似乎不能很好地与 xaringen 配合使用。以下最小示例
---
title: Change the chunk style
output:
xaringan::moon_reader
---
```{r}
knitr::opts_chunk$set(class.source = "foobar",
class.output = "bg-warning")
```
```{r}
mtcars[1:5, "mpg"]
```
生成以下渲染图
如果输出设置为 htlm_document
那么一切都可以正常播放,但这并不能解决 xaringan 演示文稿的问题。
这些块选项不适用于 xaringan,因为 xaringan 不使用 Pandoc 的 Markdown 语法,而是 remark.js'秒。也就是说,它们生成 ```{.r .class}
,仅适用于 Pandoc 的 Markdown。我没有时间在 xaringan 支持他们,但如果你想在 Github 上贡献一个拉取请求,这里是开始的地方:https://github.com/yihui/xaringan/blob/2ad2a6d/R/render.R#L195-L204基本上,您将 source/output 字符串包装在 .class[]
中,这是 remark.js 用于向元素添加 classes 的语法。
如果没有补丁,您只能将 class 名称应用于整个输出,并在 class 内设置代码块的样式,例如,
---
title: Change the chunk style
output:
xaringan::moon_reader
---
```{css, echo=FALSE}
/* R code */
.foobar code.r {
font-weight: bold;
}
/* code without language names */
.foobar code[class="remark-code"] {
display: block;
border: 1px solid red;
}
```
.foobar[
```{r}
mtcars[1:5, "mpg"]
```
]