我目前正在RMarkdown中编写文档并将输出编织为pdf。我希望缩进代码块以与我的其余格式保持一致。
以下是编写的文件:
我希望块的灰色部分符合"这是一个句子。"
有没有办法在R markdown中做到这一点,也许是通过下降到LaTeX?
答案 0 :(得分:2)
如果要更改框的格式,LaTeX模板中的关键行是:
\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}}
snugshade
命令在framed
LaTeX package中定义,这对于创建RMarkdown中包含的阴影框非常有用。但是,它缺少很多控件来简单地编辑样式。
基于this answer,您可以考虑使用mdframed
包,该包提供比framed
包更高级的控件。正如所解释的那样here可以使用renewenvironment
命令调整边距,我们将使用该命令以自定义样式重新定义Shaded
函数:
要在RMarkdown中使用此功能,我们需要使用新定义替换Shaded
环境。这可以通过以下方式实现:
---
output:
pdf_document:
keep_tex: TRUE
header-includes:
- \usepackage{mdframed}
- \definecolor{shadecolor}{gray}{.95}
- \renewenvironment{Shaded}{\begin{mdframed}[
backgroundcolor=shadecolor,
linecolor = shadecolor,
leftmargin=\dimexpr\leftmargin-2pt\relax,
innerleftmargin=1.6pt,
innertopmargin=5pt,
skipabove=10pt,skipbelow=3pt
]}{\end{mdframed}}
---
Some Text
```{r cars}
summary(cars)
```
注意:由于您没有提供可重现的示例,因此您必须对设置进行微调以使其适用于您的配置。
如果你开始获得更多的LaTeX命令,你可以考虑将其保存为单独的.tex文件,如解释here