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

时间:2019-01-07 16:05:43

标签: r knitr kable kableextra

我目前正在处理Markdown文件(使用乳胶),在其中我的表使用kable() kableExtra 。问题是我的一些桌子很大,无法放在pdf页面上(即使是横向的)。

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

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")    

我已经看过Google和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") 

1 个答案:

答案 0 :(得分:1)

这不是答案,而更像是一种澄清,因为scale_down正在使用resizebox包中的graphicx而longtable是longtable,而这两个乳胶包不会互相交谈其他,scale_down仅适用于普通表。

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

Source in kableExtra

if (table_info$tabular == "longtable") {
    warning("Longtable cannot be resized.")
    return(x)
}