【问题标题】:R Markdown - xtable with longtable and scalebox outputs scalebox valueR Markdown - 带有 longtable 和 scalebox 的 xtable 输出 scalebox 值
【发布时间】:2016-07-28 23:13:28
【问题描述】:

我正在使用 rmarkdown 和 knitr 创建 PDF 文档。下面是一个示例代码块。编织到 PDF 时,它会将 scalebox 值打印到 PDF,这是我不想要的。我的实际表格要宽得多,因此必须使用 scalebox 参数。

```{r, results = 'asis', echo = FALSE, message = FALSE, warning=FALSE}

    x <- matrix(rnorm(1000), ncol = 10)
    x.big <- xtable(x)

    print.xtable(x.big, hline.after=c(-1), tabular.environment = "longtable", scalebox = 0.7)

    ```

这仅在使用 longtable 表格环境时发生。使用标准表格环境运行相同的代码块不会输出比例框信息。我尝试将 print.xtable 函数和 r 代码块中的每个注释参数设置为 FALSE,但没有成功。

如何在不打印缩放框文本的情况下输出我的 PDF 文件?

【问题讨论】:

  • FWIW 如果您保留 tex 输出,并手动编织 rmd 文档,您会看到 rmd->md 步骤没问题,但 md->tex 转义了乳胶命令。所以我想这是一个pandoc问题。如果没有简单的解决方法,您也许可以使用 Rnw 源文件。
  • 这个问题有答案吗?
  • @user3022875 我发布了一个解决方法作为答案,但不会将其标记为已回答,因为它并不能真正解决从 pdf 输出中删除比例框文本的指定问题。

标签: r pdf knitr r-markdown longtable


【解决方案1】:

我还没有找到解决 scalebox 问题的方法。我最终做的是使用 print.xtable 中的 size 参数。下面是一个示例函数,其中 size 是一个表示所需字体大小的整数。

outputXtableTest <- function( df, size){

  sizeNew = paste0("\\fontsize{", size,"pt}{", size+1, "pt}\\selectfont") 

  print.xtable(
             df, hline.after=c(-1,0, 1:nrow(table)),
             tabular.environment = 'longtable', 
             floating = FALSE, size = sizeNew
            )
}

请参阅此post 了解更多信息。

【讨论】:

    猜你喜欢
    • 2016-10-03
    • 1970-01-01
    • 2014-11-08
    • 2014-03-18
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    相关资源
    最近更新 更多