如何使用kable将表格调整为pdf页面?

Gai*_*inz 5 r knitr kableextra kable

我目前工作的一个降价文件(乳胶),我使用kable()kableExtra我的表。问题是我的一些表格太大,不适合 pdf 页面(即使是横向)。

我试图latex_options = "scale_down"从 kableExtra使用,但由于某些原因它不起作用,它不会改变任何东西。这是我正在运行的代码示例:

kable(dt, "latex", longtable = T, caption = "SampleCaption") %>% 
  add_header_above(c("","Mens" = 3, "Womens" = 3))  %>%  
  kable_styling(latex_options = c("striped", "scale_down", "repeat_header"),repeat_header_text = "",
                full_width = F) %>%
  column_spec(1, width = "10cm")    
Run Code Online (Sandbox Code Playgroud)

我已经看过谷歌和stackoverflow。任何人都知道我做错了什么?谢谢

编辑,这是评论中要求的工作代码:

  kable(dt, "latex", longtable = T, caption = "SampleCaption") %>% 
 add_header_above(c("","Mens" = 3, "Womens" = 3, "Total" = 2))  %>%  
 kable_styling(font_size = 7, latex_options = c("striped", "repeat_header"),repeat_header_text = "",
               full_width = F) %>%
 column_spec(1, width = "5cm") 
Run Code Online (Sandbox Code Playgroud)

Hao*_*Hao 4

这不是一个答案,而更像是一个澄清,因为scale_down使用的是resizeboxin 包graphicx,而 longtable 是 longtable 并且这两个乳胶包不会相互通信,所以 scale_down 仅适用于普通表。

事实上,您应该在控制台中看到一条注释,指出“scale_down”不适用于longtable

来源 kableExtra

if (table_info$tabular == "longtable") {
    warning("Longtable cannot be resized.")
    return(x)
}
Run Code Online (Sandbox Code Playgroud)

  • 哈哈,我会在PDF文档的某处添加注释。这段代码是我大约 2 年前写的。感谢您提出这个问题!:D (2认同)