代码之家  ›  专栏  ›  技术社区  ›  balin

` bookdown`/`rmarkdown`/`knitr`:用代码块换行

  •  2
  • balin  · 技术社区  · 6 年前

    我在用

    ```{r}
    library(magrittr)
    session_info <- devtools::session_info(include_base = TRUE)
    session_info[[2]] <- session_info %>%
      magrittr::extract2(2) %>%
      magrittr::inset2("date", value = NULL)
    session_info
    ```
    

    在我的结尾 bookdown 文件。就像我用的 git 跟踪内部包版本字符串会变长一点。这将导致 R / knitr / rmarkdown / 预订 破坏结果的行 data.frame ( session_info[[2]] ,这将从视觉上断开名称和版本,因此是次优的。

    我玩过 this 减少代码块字体大小的解决方案,但这只是表明问题的根源是在 pdflatex 惯性导航与制导。

    我在哪里可以影响 / / 标记 / 预订 换行符代码输出?

    1 回复  |  直到 6 年前
        1
  •  1
  •   balin    6 年前

    决赛 session_info 调用透明地调用 print 在物体上(通过 print.data.frame 在这种情况下 session_info[[2]] )中。

    打印 提供 width 参数,默认为 getOption("width") 为此 ?options 国家

    宽度 以下内容:

    控制打印矢量、矩阵和数组以及按CAT填充时所用行上的最大列数。

    除东亚语言外,列通常与字符相同。

    相应地 getoption(“宽度”) 在我的环境中生成136,上面的代码可以扩展为:

    ```{r}
    library(magrittr)
    session_info <- devtools::session_info(include_base = TRUE)
    session_info[[2]] <- session_info %>%
      magrittr::extract2(2) %>%
      magrittr::inset2("date", value = NULL)
    print(session_info, width = 200)
    ```