我已经创建了一个 reprex 来展示我的问题,但是我在制作的自定义 Rmd 模板中遇到了同样的问题。
我希望能够在 tcolorbox 环境中包含风格化的代码块和绘图输出。出于某种原因。当我编织 Rmarkdown 时,它不会渲染 tcolorbox 环境。
这是我的 reprex .RMD:
---
title: "Untitled"
output:
pdf_document:
extra_dependencies: ["tcolorbox", "tikz"]
---
```{r, include=FALSE}
library(tidyverse)
```
\begin{tcolorbox}
```{r,results='asis', eval=F}
iris %>%
group_by(Species) %>%
summarise(mean = mean(Sepal.Length),
sd = sd(Sepal.Width))
```
```{r,results='asis'}
ggplot(iris, aes(Sepal.Length, Sepal.Width, colors = Species)) +
geom_point()
```
\end{tcolorbox}
最终的 .pdf 版本如下:
当我移除 Rchunks 时,tcolorbox 可以正确渲染。我打开了中间的 .tex 文件来查看发生了什么,看起来它正在用\textbackslash{}
\textbackslash{}begin\{tcolorbox\}
\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{iris }\OperatorTok{%>%}\StringTok{ }
\StringTok{ }\KeywordTok{group_by}\NormalTok{(Species) }\OperatorTok{%>%}\StringTok{ }
\StringTok{ }\KeywordTok{summarise}\NormalTok{(}\DataTypeTok{mean =} \KeywordTok{mean}\NormalTok{(Sepal.Length), }
\DataTypeTok{sd =} \KeywordTok{sd}\NormalTok{(Sepal.Width))}
\end{Highlighting}
\end{Shaded}
\begin{Shaded}
\begin{Highlighting}[]
\KeywordTok{ggplot}\NormalTok{(iris, }\KeywordTok{aes}\NormalTok{(Sepal.Length, Sepal.Width, }\DataTypeTok{colors =}\NormalTok{ Species)) }\OperatorTok{+}\StringTok{ }
\StringTok{ }\KeywordTok{geom_point}\NormalTok{()}
\end{Highlighting}
\end{Shaded}
\includegraphics{Untitled1_files/figure-latex/unnamed-chunk-3-1.pdf}
\textbackslash{}end\{tcolorbox\}
如果没有 Rchunks,它看起来很好:
\begin{tcolorbox}
\end{tcolorbox}