gpt4 book ai didi

r - 在 R-Markdown 输出中换行没有空格

转载 作者:行者123 更新时间:2023-12-05 03:18:58 25 4
gpt4 key购买 nike

在 R-Markdown 文件的开头写入以下 R-Markdown block 允许我在 R-Markdown PDF 输出中换行,前提是安装了 R 包 formatR 并且该行to wrap 有一个空白字符。如果该行没有空白字符,我该如何换行?

```{r, echo = FALSE}
library(knitr)
opts_chunk$set(tidy.opts = list(width.cutoff = 27), tidy=TRUE)
```

例如,下面的 R block 演示了在 27 个字符后换行和换行失败。

```{r, eval=TRUE, echo=TRUE, results="show", message=FALSE}
# devtools::install_github("tslever/Tom_Levers_Git_Repository/TomLeversRPackage")
# devtools::install_github( "tslever/Tom_Levers_Git_Repository/TomLeversRPackage")
```

enter image description here

我希望第一个命令呈现为

# devtools::install_github(
"tslever/Tom_Levers_Git_Rep
ository/TomLeversRPackage")

可能是另一个问题:使用上述选项,以下 R block 将呈现为一行。如何防止这种重新格式化,并在 27 个字符后仍换行?

```{r, eval=TRUE, echo=TRUE, results="show", message=FALSE}
test.data.frame <- read.csv(
file = "C:/Users/Tom/Documents/Tom_Levers_Git_Repository/test.csv"
)
```

enter image description here

最佳答案

HTML 输出

您可以使用一些自定义 CSS;这是一个最小的 RMarkdown 示例:

---
title: "Untitled"
output: html_document
date: "2022-09-02"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{css, echo=FALSE}
pre {
width: 30ch;
}
```

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.

```{r, eval=TRUE, echo=TRUE, results="show", message=FALSE}
# devtools::install_github("tslever/Tom_Levers_Git_Repository/TomLeversRPackage")
# devtools::install_github( "tslever/Tom_Levers_Git_Repository/TomLeversRPackage")
```

这将代码块的宽度限制为 30 个字符(width: 30ch)并生成

enter image description here

PDF输出

---
title: "Untitled"
output:
pdf_document:
pandoc_args: --listings
includes:
in_header: preamble.tex
date: "2022-09-02"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

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.

```{r, eval=TRUE, echo=TRUE, results="show", message=FALSE}
# devtools::install_github("tslever/Tom_Levers_Git_Repository/TomLeversRPackage")
# devtools::install_github( "tslever/Tom_Levers_Git_Repository/TomLeversRPackage")
```

使用以下 preamble.tex

\lstset{
breaklines=true,
basicstyle=\ttfamily,
linewidth=30ex
}

这产生

enter image description here

请注意,这可能需要对 listings 参数进行一些调整。这里的关键是你需要 breaklines=true 来启用断开长行,然后定义一个线宽,例如线宽=30ex。请注意,这不会正好给你 30 个字符,因为这不是 LaTeX 中指定宽度的方式;因此您需要调整宽度以满足您的审美需求。

关于r - 在 R-Markdown 输出中换行没有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73577848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com