【问题标题】:How to control output width when use knitr to compile to pdf?使用knitr编译为pdf时如何控制输出宽度?
【发布时间】:2013-12-10 09:40:16
【问题描述】:

使用 knitr 将 .Rnw 文档编译为 pdf,out.width 选项无法重置块中输出文本的宽度。

如何将输出文本保持在具有背景颜色的区域中?

【问题讨论】:

    标签: r knitr


    【解决方案1】:

    PDF 中的文本输出宽度一直是个令人头疼的问题。确保所有内容都适合a page 并不容易。两种可能的通用解决方案(如果您必须使用 LaTeX/PDF):

    1. 在 LaTeX 中使白色边距变小,例如

      \usepackage{geometry}
      \geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=3cm,rmargin=3cm}
      
    2. 在 R 中使文本输出更窄,例如

      options(width = 60)
      

    请注意,这些解决方案不能保证有效,因为您永远无法确定文本输出的宽度,并且某些输出函数不尊重width 选项。例如,几乎不可能做到这一点:

    cat('This is a long long long long long long long long long long long long long long long long long long long long long long long long string. Haha.\n')
    

    有一些 LaTeX 包,例如 listings,可以包装逐字输出,但这也可能导致输出丑陋。例如,如果 R 的自然输出是这样的(假设两条线太宽):

    text output wrapped by R
    and then wrapped by LaTeX
    

    LaTeX 换行可以变成这样:

    text output wrapped
    by R
    and then wrapped by
    LaTeX
    

    对于显示列联表的具体应用,我的建议是转置表 (t(table(...))) 并打印出来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-18
      相关资源
      最近更新 更多