【问题标题】:Control width of knitr output for columns in sweave documents控制 sweave 文档中列的 knitr 输出宽度
【发布时间】:2014-03-10 01:16:47
【问题描述】:

根据FAQ.7Example.038,我应该可以通过全局选项options(width=40)或块选项tidy.opts(width.cutoff=40)来控制我的宽度。但是,文本仍然超出灰色框,在我目前的情况下,我有两列投影仪幻灯片。源代码运行到下一列。除了关闭 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}

输出(问题是列一起运行):

【问题讨论】:

  • 请提供一个可重现的最小示例。
  • 你尝试过基本的块选项吗?特别是out.width?
  • out.width 用于数字。除了width.cutoff之外还有什么文字输出的吗?
  • 您可以设置tidy = FALSE 来清理格式。但正如示例中所说,您的输出太宽了 - 您正在获取总行宽并将其分成两列等宽,但您还必须考虑列之间浪费的空白。
  • ...我已经在我原来的问题中建议了tidy=FALSE。但严重的是,尽管上图中的文本溢出似乎比列之间或沿边距浪费的空间要多得多。

标签: r knitr sweave


【解决方案1】:

选项应该像这样传递:

<<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 结果。

【讨论】:

  • 你也可以在author's page查看可能的块选项,但我花了一段时间来收集我一直想要的所有选项:)
猜你喜欢
  • 2012-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-11
  • 1970-01-01
  • 2016-08-19
  • 2012-03-07
  • 1970-01-01
相关资源
最近更新 更多