R Markdown HTML 代码块和输出中缺少水平滚动条
Missing horizontal scroll bar in R Markdown HTML code chunks and output
如何让编织的 .Rmd 文档在生成 HTML 文档时不换行代码?每当我编织我的文件时,我都会得到如下输出:
您可以看到包含 cbind
调用的第一行被换行了。这是由以下 Rmd 代码生成的。基本上,我希望看到生成的 HTML 文件看起来像它在 Whosebug 上的样子(即带有水平滚动条)。
---
title: "Title"
author: "Author"
date: "March 25, 2016"
output: html_document
---
```{r}
myveryveryveryveryverylongvariablenameanditsdataaaaaaaaaaaaaaaaaaaaaaaaaaa <- cbind(iris, iris, iris, iris, iris, iris, iris)
head(myveryveryveryveryverylongvariablenameanditsdataaaaaaaaaaaaaaaaaaaaaaaaaaa )
```
那么另外,第二行的文本输出怎么办呢?我试过 options(width=...)
但这似乎只会使输出更加混乱。我希望它看起来也和 Whosebug 上的一样(没有换行,带有水平滚动条):
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.1 3.5 1.4 0.2 setosa 5.1 3.5 1.4 0.2 setosa 5.1 3.5 1.4 0.2 setosa 5.1 3.5 1.4 0.2
2 4.9 3.0 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.9 3.0 1.4 0.2
3 4.7 3.2 1.3 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.7 3.2 1.3 0.2
4 4.6 3.1 1.5 0.2 setosa 4.6 3.1 1.5 0.2 setosa 4.6 3.1 1.5 0.2 setosa 4.6 3.1 1.5 0.2
5 5.0 3.6 1.4 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.0 3.6 1.4 0.2
6 5.4 3.9 1.7 0.4 setosa 5.4 3.9 1.7 0.4 setosa 5.4 3.9 1.7 0.4 setosa 5.4 3.9 1.7 0.4
在评论中的一些人的帮助下,我能够拼凑出一个解决方案。有两个步骤:
在 .Rmd YAML 中包含自定义样式 sheet header:
css: report_styles.css
其中包含这些样式:
pre, code {white-space:pre !important; overflow-x:scroll !important}
这使得回显的代码块不会换行,并且它们有一个水平滚动条。它还将使当浏览器 window 调整大小时,块输出不会 进一步包装 。
现在,为了让块输出最初不换行,我们需要根据 this question.
设置 options(width=a-big-number)
这基本上是@JeffKeller 的回答,但与其使用单独的 CSS 文件并在 YAML header 中摆弄,不如将 CSS 写入 .Rmd
] 文件作为代码片段!例如,
```{css, echo=FALSE}
pre, code {white-space:pre !important; overflow-x:auto}
```
我倾向于在大约与我进行其他设置的相同早期时间点执行此操作,例如
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
(也许这更像是评论,但我不能真正将其格式化。不过从对其他答案的评论来看,我认为有些人可能会觉得这很有用。)
两个答案的另一种选择 - 使用 html:
在 YAML header 之后写 css
<style>
pre {
white-space: pre-wrap;
background: #F5F5F5;
max-width: 100%;
overflow-x: auto;
}
</style>
如何让编织的 .Rmd 文档在生成 HTML 文档时不换行代码?每当我编织我的文件时,我都会得到如下输出:
您可以看到包含 cbind
调用的第一行被换行了。这是由以下 Rmd 代码生成的。基本上,我希望看到生成的 HTML 文件看起来像它在 Whosebug 上的样子(即带有水平滚动条)。
---
title: "Title"
author: "Author"
date: "March 25, 2016"
output: html_document
---
```{r}
myveryveryveryveryverylongvariablenameanditsdataaaaaaaaaaaaaaaaaaaaaaaaaaa <- cbind(iris, iris, iris, iris, iris, iris, iris)
head(myveryveryveryveryverylongvariablenameanditsdataaaaaaaaaaaaaaaaaaaaaaaaaaa )
```
那么另外,第二行的文本输出怎么办呢?我试过 options(width=...)
但这似乎只会使输出更加混乱。我希望它看起来也和 Whosebug 上的一样(没有换行,带有水平滚动条):
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length Sepal.Width Petal.Length Petal.Width Species Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.1 3.5 1.4 0.2 setosa 5.1 3.5 1.4 0.2 setosa 5.1 3.5 1.4 0.2 setosa 5.1 3.5 1.4 0.2
2 4.9 3.0 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.9 3.0 1.4 0.2 setosa 4.9 3.0 1.4 0.2
3 4.7 3.2 1.3 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.7 3.2 1.3 0.2 setosa 4.7 3.2 1.3 0.2
4 4.6 3.1 1.5 0.2 setosa 4.6 3.1 1.5 0.2 setosa 4.6 3.1 1.5 0.2 setosa 4.6 3.1 1.5 0.2
5 5.0 3.6 1.4 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.0 3.6 1.4 0.2 setosa 5.0 3.6 1.4 0.2
6 5.4 3.9 1.7 0.4 setosa 5.4 3.9 1.7 0.4 setosa 5.4 3.9 1.7 0.4 setosa 5.4 3.9 1.7 0.4
在评论中的一些人的帮助下,我能够拼凑出一个解决方案。有两个步骤:
在 .Rmd YAML 中包含自定义样式 sheet header:
css: report_styles.css
其中包含这些样式:
pre, code {white-space:pre !important; overflow-x:scroll !important}
这使得回显的代码块不会换行,并且它们有一个水平滚动条。它还将使当浏览器 window 调整大小时,块输出不会 进一步包装 。
现在,为了让块输出最初不换行,我们需要根据 this question.
设置
options(width=a-big-number)
这基本上是@JeffKeller 的回答,但与其使用单独的 CSS 文件并在 YAML header 中摆弄,不如将 CSS 写入 .Rmd
] 文件作为代码片段!例如,
```{css, echo=FALSE}
pre, code {white-space:pre !important; overflow-x:auto}
```
我倾向于在大约与我进行其他设置的相同早期时间点执行此操作,例如
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
(也许这更像是评论,但我不能真正将其格式化。不过从对其他答案的评论来看,我认为有些人可能会觉得这很有用。)
两个答案的另一种选择 - 使用 html:
在 YAML header 之后写 css<style>
pre {
white-space: pre-wrap;
background: #F5F5F5;
max-width: 100%;
overflow-x: auto;
}
</style>