Scale kable table to fit page width

后端 未结 2 1216
一个人的身影
一个人的身影 2021-02-07 02:36

How do you format a table in pdf using kable function? Because my output table width exceeds the width of the pdf. Here is an example:

---
output: pdf_document
-         


        
相关标签:
2条回答
  • 2021-02-07 03:09

    One option is to use kable_styling from the kableExtra package. The option latex_options="scale_down" will fit the table within the paper margins. See the vignette for detailed examples on all of the formatting options.

    ---
    output: pdf_document
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = FALSE)
    library(knitr)
    library(kableExtra)
    ```
    
    ```{r}
    kable(cbind(mtcars[1:5,], mtcars[1:5,]))
    ```
    
    ```{r}
    kable(cbind(mtcars[1:5,], mtcars[1:5,]), format="latex", booktabs=TRUE) %>% 
      kable_styling(latex_options="scale_down")
    ```
    

    0 讨论(0)
  • 2021-02-07 03:20

    Note if you are using longtable, this answer says,

    since longtable doesn't support resizebox, you cannot use the "scale_down" option in latex_options.

    However, they suggested using font_size, e.g.,

    kable(df, "latex", longtable = T, booktabs = T) %>%
      kable_styling(font_size = 7)
    
    0 讨论(0)
提交回复
热议问题