【发布时间】:2018-04-19 19:58:53
【问题描述】:
我目前正在 RMarkdown 中编写文档并将输出编织为 pdf。我希望缩进代码块以与我的其余格式保持一致。
这是书面文件:
我希望该块的灰色部分与“这是一个句子”一致。
有没有办法在 R markdown 中做到这一点,也许是通过下拉到 LaTeX 中?
【问题讨论】:
标签: latex r-markdown knitr
我目前正在 RMarkdown 中编写文档并将输出编织为 pdf。我希望缩进代码块以与我的其余格式保持一致。
这是书面文件:
我希望该块的灰色部分与“这是一个句子”一致。
有没有办法在 R markdown 中做到这一点,也许是通过下拉到 LaTeX 中?
【问题讨论】:
标签: latex r-markdown knitr
如果要更改框的格式,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 所述
【讨论】: