R Markdown Knit 转 PDF 代码外边距

vio*_*vio 5 latex r r-markdown

我想将完整的代码块附加在文档的末尾。代码包括绘图、插入图形、计算等。它的长。这是我在各自章节中运行相关代码之后的结果。此时,我不希望代码生成任何结果,而只是显示代码,以便其他人可以检查我所做的事情。

这是部分代码的示例:

shapefile1 <- readOGR("./Folder1/Folder2/Folder3", layer = "TM_WORLD_BORDERS-0.3") # Read in world shapefile
Run Code Online (Sandbox Code Playgroud)

当我编译时,它显示在我在 YAML 标头中为文档设置的边距之外,如下所示

geometry: top=2.5cm, bottom=2cm, left=3cm, right=3.5cm
Run Code Online (Sandbox Code Playgroud)

我尝试过以下解决方案:

选项1:

在 RStudio 中的 R markdown 中,如何防止源代码跑出 pdf 页面?

```{r, eval=FALSE, tidy=TRUE, tidy.opts=list(width.cutoff=60)}
```
Run Code Online (Sandbox Code Playgroud)

选项2:

https://tex.stackexchange.com/questions/133810/knitr-plotting-outside-margin

```{r, eval=FALSE, out.width=".9\\paperwidth"}
```
Run Code Online (Sandbox Code Playgroud)

两者都不适合我。我唯一能想到的另一件事是手动缩短代码行,但我确信这不是最好的选择。这是怎么做到的?

小智 1

当我在 R Studio 中使用“pdflatex”作为 Latex 引擎时,就会发生这种情况。当我更改为“xelatex”时,这种情况就不会再发生了。但我还需要在降价开始时使用此代码块:

library(knitr)
# Set so that long lines in R will be wrapped:
opts_chunk$set(tidy.opts=list(width.cutoff=40),tidy=TRUE)
Run Code Online (Sandbox Code Playgroud)