特定のコードチャンクを別の色(赤など)で強調表示して、それが悪い習慣であることを示したいと思います。 .Rnw
を使用していた場合、チャンクオプションbackground = 'red'
を追加して必要なものを取得できましたが、これは.Rmd
で機能しないようです。私の推測では、カスタムcssスタイルシートを作成する必要があり(セレクターはどうなるかはわかりません)、おそらくカスタムフックも作成する必要があります。ドキュメント全体の全体的な変更ではなく、チャンクごとにしたいです。
コードチャンクヘッダーでclass.source
オプションを使用して、R MarkdownにカスタムCSSを提供できます。これについては、次の投稿で説明しています。
例をまとめると、「badCode」というクラスを設定し、必要に応じて背景を変更するためのCSSを少し用意することができます。これが私の.Rmd
です。
---
output: html_document
---
```{css}
.badCode {
background-color: red;
}
```
```{r mtcars}
summary(mtcars)
```
```{r cars, class.source="badCode"}
summary(cars)
```
マークダウンはコードブロック外のHTMLをサポートしていることを忘れないでください。
コードチャンクを、必要なスタイルを設定したカスタムクラスを持つdivで囲みます。この例では、コードを青で、出力を水色でスタイル設定します
<style>
div.blue pre { background-color:lightblue; }
div.blue pre.r { background-color:blue; }
</style>
<div class = "blue">
```{r bluecars}
summary(cars)
```
</div>
```{r normal}
summary(cars)
```
このソリューションは少しハックされていますが、動作します。その要点は、2つのコードチャンクを作成し、{r}指定子を一意のクラス名に置き換えることです。次に、CSSコードを追加して各チャンクをスタイルします。
---
output: html_document
---
<style>
pre.bluecars {
background-color: #aabbff !important;
}
pre.redcars {
background-color: #ffbbbb !important;
}
</style>
## chunk-specific bg colors
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
- blue
```{bluecars}
summary(cars)
```
```{r, echo=FALSE}
summary(cars)
```
- normal
```{r}
summary(cars)
```
- red
```{redcars}
summary(cars)
```
```{r, echo=FALSE}
summary(cars)
```