当我将R Markdown文档编译为HTML文档时,非R代码块的格式很好。但是,当我将以下R Markdown文档编译为pdf时,唯一添加的代码格式为字体。没有阴影,栅栏,突出显示等。
---
output: pdf_document
---
```
code
```
我不想对输出进行微管理,我只想添加一些常识格式以将代码与散文清楚地分开。我在具有以下引擎的MAc上使用TeXShop。
#!/bin/bash
/Library/Frameworks/R.framework/Versions/Current/Resources/bin/Rscript -e "rmarkdown::render(\"$1\", encoding='UTF-8')"
随```
您介绍一个普通的markdown代码块,而不是knitr
代码块。但是您期望的输出(围栏,突出显示,阴影)是样式knitr
添加到其代码块中的方式。
因此,用于```{r}
将代码包装成knitr
块(eval = FALSE
如果您不希望对代码进行求值,请使用)。这也可以用于非R代码块:只要不对代码求值,语言就没有关系。
但是,对于非R代码,这将导致错误或缺少语法突出显示。要获得正确的语法高亮显示,如果语言在受支持的语言引擎中,请使用该选项 。engine
下面的示例显示了痛苦减价块,一个经过评估和未经评估的R代码块,一个没有突出显示的(未经评估)Python块以及最后两个具有正确突出显示的(未经评估)Python块。
---
output:
pdf_document
---
```
Plain markdown code block.
```
```{r}
print("This is a knitr code chunk.")
```
```{r, eval = FALSE}
print("This is a knitr code chunk that isn't evaluated.")
```
Chunk with Python code (borrowed from http://stackoverflow.com/q/231767/2706569), *wrong* (no) highlighting:
```{r, eval = FALSE}
if self._leftchild and distance - max_dist < self._median:
yield self._leftchild
```
Chunk with Python code, *correct* highlighting:
```{r, eval = FALSE, engine = "python"}
if self._leftchild and distance - max_dist < self._median:
yield self._leftchild
```
Chunk with Python code, *correct* highlighting (alternative notation):
```{python, eval = FALSE}
if self._leftchild and distance - max_dist < self._median:
yield self._leftchild
```
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句