latexr-markdownlandscapekablelongtable

r markdown longtable + landscape kable caption width shrinking (no longer width of page)


I am trying to use longtable and lanscape together for a wide table that spans multiple pages. When I do this, the table caption goes from the full width of the page to just squished in the middle of the page.

I have tried using the following suggestions to no avail. R Markdown table caption width with kable and longtable

I am new to r markdown, and I'm not at all familiar with latek so following the above instructions has been confusing for me, though I have tried all the options that I think are correct. Can someone give me very explicit step-by-step instructions for where and what to put in the YAML to fix this issue? Or does anyone have another work around? Thank you for your help

test <- data.frame(col1=rep("MyLongWordsareLong",5),
               col2=rep("MyLongWordsareLong",5),
               col3=rep("MyLongWordsareLong",5),
               col4=rep("MyLongWordsareLong",5),
               col5=rep("MyLongWordsareLong",5),
               col6=rep("MyLongWordsareLong",5))

kable(test,format='latex',booktabs=TRUE,
caption="This is my example caption. See how, when I don't use 
longtable, it extends the full width of the table, but when I use the 
longtable option, it compresses down to only a portion of the table's width. 
Is this weird or is it just me?") %>% 
 landscape()

kable(test,longtable=TRUE,format='latex',booktabs=TRUE,caption="This is my 
example caption. See how, when I don't use longtable, it extends the full 
width of the table, but when I use the longtable option, it compresses down 
to only a portion of the table's width. Is this weird or is it just me?") 
%>% 
landscape()

**edit: I'm knitting to PDF!!


Solution

  • ---
    title: "Untitled"
    author: "anonymous"
    date: "14/12/2020"
    header-includes:
      - \usepackage{caption}
    output:
      pdf_document:
        keep_tex: yes
      html_document: default
    ---
    
    ```{r setup, include=FALSE}
    knitr::opts_chunk$set(echo = TRUE)
    library(tidyverse)
    library(kableExtra)
    ```
    
    ```{r}
    test <- data.frame(col1=rep("MyLongWordsareLong", 5),
                   col2=rep("MyLongWordsareLong",5),
                   col3=rep("MyLongWordsareLong",5),
                   col4=rep("MyLongWordsareLong",5),
                   col5=rep("MyLongWordsareLong",5),
                   col6=rep("MyLongWordsareLong",5))
    
    kable(test, booktabs=TRUE, caption="This is my example caption. See how, when I don't use  longtable, it extends the full width of the table, but when I use the longtable option, it compresses down to only a portion of the table's width.  Is this weird or is it just me?") %>% 
     landscape()
    
    kable(test, longtable=TRUE, booktabs=TRUE, caption="This is my example caption. See how, when I don't use longtable, it extends the full  width of the table, but when I use the longtable option, it compresses down to only a portion of the table's width. Is this weird or is it just me?") %>% 
    landscape()
    ```
    

    Solution as per R Markdown table caption width with kable and longtable