我正在使用Rmarkdown和tufte包编写一些课程资料。但是,我想在文档中使用的一些R输出的宽度大于讲义的宽度(请参阅下面示例中的lm模型的摘要)。我无法设法让这些R输出占据页面的整个宽度(我希望有类似于fig.fullwidth
chunk参数的数字)。
我知道有一个fullwidth
环境但是在这个环境中有一个R块会阻止pandoc构建pdf,因为R输出前面有前导哈希值(通过指定chunk参数{{删除这些哈希值] 1}}生成一个pdf但R输出的格式丢失了)。
有没有办法让R输出全宽?
感谢您的帮助。
以下是一个最小的例子
comment=NA
答案 0 :(得分:1)
这是我在这里的第一个答案,更多的是临时解决方案,而不是真正的fullwidth
输出解决方案。
我也遇到了这个问题,最终通过将输出与cat()
连接起来解决了这个问题。然后我尝试使用capture.output()
使其更加通用,但不幸的是我没有让它工作。
这完全忽略了主宽度,但遗憾的是它不是最佳解决方案,因为它也不会考虑整页宽度并要求您复制粘贴输出:
---
title: "My minimal example"
output: tufte::tufte_handout
---
# Not fullwidth:
```{r, echo = FALSE}
model <- lm(dist ~ speed, data = cars)
summary(model)
```
# Not fullwidth:
```{r, echo = FALSE}
out <- capture.output(summary(model))
cat(out, sep = "\n")
```
# Fullwidth:
```{r, echo = FALSE}
cat("Call:
lm(formula = dist ~ speed, data = cars)
Residuals:
Min 1Q Median 3Q Max
-29.069 -9.525 -2.272 9.215 43.201
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -17.5791 6.7584 -2.601 0.0123 *
speed 3.9324 0.4155 9.464 1.49e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 15.38 on 48 degrees of freedom
Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438
F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12")
```
如果有人建议让capture.output()
版本正常工作,请告知我们。