如何在生成HTML文档时使我的针织.Rmd文档不包装代码?每当我编织我的文件时,我得到如下输出:
您可以看到包含cbind
调用的第一行被包装。这是由以下Rmd代码生成的。基本上,我希望看到生成的HTML文件看起来像StackOverflow上的那样(即使用水平滚动条)。
---
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=...)
,但这似乎只是使输出更加混乱。我想它也看起来就像它在StackOverflow上做的那样(没有包装,带有水平滚动条):
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
答案 0 :(得分:5)
在评论中的人们的帮助下,我能够拼凑出一个解决方案。有两个步骤:
在.Rmd YAML标题中包含自定义样式表:
css: report_styles.css
其中包含以下样式:
pre, code {white-space:pre !important; overflow-x:scroll !important}
这使得回显的代码块不会换行并且它们具有水平滚动条。它也会使浏览器窗口调整大小时块输出不会再进一步。
现在,要使块输出最初不换行,我们需要按this question设置options(width=a-big-number)
。
答案 1 :(得分:1)
这基本上是@JeffKeller的答案,但是您可以只将.Rmd
文件中的CSS编写为代码段,而不必使用单独的CSS文件并在YAML标头中摆弄!例如,
```{css, echo=FALSE}
pre, code {white-space:pre !important; overflow-x:auto}
```
我倾向于在进行其他设置工作的同一时间点进行此操作
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
(也许这更多是评论,但我不能真正格式化它。尽管从其他答案的评论来看,我认为有些人可能会觉得有用。)
答案 2 :(得分:0)
这两个答案的另一种选择-使用html在YAML标头后写CSS:
<style>
pre {
white-space: pre-wrap;
background: #F5F5F5;
max-width: 100%;
overflow-x: auto;
}
</style>