在knitr代码块中包装长字符串

时间:2017-01-28 21:30:57

标签: r knitr

我无偿使用knitr撰写正式的PDF文档。我想使用代码块而不是块引用,因为......这很有趣。但是,我想在代码块中放置的段落不会包装到框中。我怎样才能做到这一点?我尝试了以下内容:

\documentclass[a4paper]{article}
\usepackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
\usepackage{csquotes}
\begin{document}

<<setup, include=FALSE, results='hide', cache=FALSE>>=
opts_chunk$set(echo=FALSE, warning = FALSE, message = FALSE, cache = FALSE, error = FALSE)
@

Some text

<<tidy=TRUE, width=50, comment=NA>>==
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut     
aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit
in voluptate velit esse cillum dolore eu fugiat nulla pariatur.     
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui 
officia deserunt mollit anim id est laborum."
@

\end{document}

......这就是:

enter image description here

我尝试了this解决方案,但我想避免对每一行进行编号。我也试过粘贴“\ n”来做换行无济于事。

1 个答案:

答案 0 :(得分:0)

根据代码的语法,您可能希望直接使用LaTex而不是RStudio(knitr)来创建输出。在我的RStudio中,我收到了一条错误消息,在删除\begin{document}\end{document}等特定于LaTex的命令之前无法编译PDF。我希望这就是你要找的东西:

---
title: "Untitled"
output: pdf_document
---

```{r setup, include=FALSE}
library(knitr)
opts_chunk$set(echo = TRUE)
options(width=80)
opts_chunk$set(comment = "", warning = FALSE, message = FALSE, echo = TRUE, tidy = TRUE, size="small")
```

Some text

"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut     
aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit
in voluptate velit esse cillum dolore eu fugiat nulla pariatur.     
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui 
officia deserunt mollit anim id est laborum."

enter image description here

我注意到你只为一个块指定了​​width=50作为块选项。如果将该选项设置为全局块选项,可能会有所帮助,如this post