控制sweave文档中knitr输出列的宽度

9
根据FAQ.7Example.038,我应该能够通过全局选项options(width=40)或块选项tidy.opts(width.cutoff=40)来控制宽度。然而,文本仍然超出了灰色框,并且在我的当前情况下,我有双列 Beamer 幻灯片,源代码进入了下一列。除了关闭 tidy tidy=FALSE 并手动设置代码中的换行符之外,还有其他可以做的吗?

最小工作示例:

\documentclass[8pt]{beamer}
\begin{document}
\begin{frame}[fragile]
<<>>=
library(reshape2)
options(width=38)
@ 
\begin{columns}[t]
  \column{.5\textwidth}
  <<>>=
  dataframe <- data.frame(Column1=1:10,Column2=1:10,Variable=1:10,Value=1:10)
  @ 
  \column{.5\textwidth}
  <<>>=
  dataframe <- melt(dataframe,
  id.vars=c("Column1","Column2"),
  variable.name="Variable",
  value.name="Value")
  @ 
\end{columns}
\end{frame}
\end{document}

输出(问题在于列混合在一起):

输入图像说明


请提供一个最小可重现的示例。 - Josh O'Brien
你尝试过基本的块选项了吗?特别是 out.width - rawr
out.width 用于图形输出。除了 width.cutoff,还有什么是用于文本输出的吗? - hatmatrix
2
你可以设置 tidy = FALSE 来清理格式。但正如示例中所述,你的输出过宽 - 你将总行宽分成了两个等宽列,但你还必须考虑列之间浪费的空白空间。 - rawr
我在原问题中已经建议使用 tidy=FALSE。但是说真的,上面图片中的文本溢出似乎比由于列之间或边距沿着浪费空间造成的要显著得多。 - hatmatrix
1个回答

5

选项应该像这样传递:

<<echo=FALSE>>=
opts_chunk$set(comment="", message=FALSE,tidy.opts=list(keep.blank.line=TRUE, width.cutoff=120),options(width=100), cache=TRUE,fig.align='center',fig.height=6, fig.width=10,fig.path='figure/beamer-',fig.show='hold',size='footnotesize', cache=TRUE)
@

在这里,您指定width.cutoff用于代码和width用于 R 结果。


你也可以在作者的页面上查看可能的代码块选项,但是我花了一些时间收集了我一直想要的所有选项 :) - Marcin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接