2

I am knitting a document from rmarkdown to pdf and .docx using bookdown. I have tables that I would like to put on landscape pages. I have made the tables with flextable because I need versions of the document in word for my supervisors, but ultimately, want to knit to a pdf, as some of my other sections have kable items and other features that I don't want to change. For kable tables I can just use kableExtra::landscape(). Is there a simple version with flextable?

At the moment I am putting \landscape and \endlandscape either side of my code chunk for all the tables that need to be landscape, to produce the pdf, but this isn't ideal.

MWE:

header-includes:
- \usepackage{pdflscape}
output:
  bookdown::pdf_document2:
    number_sections: false
    latex_engine: xelatex
  bookdown::word_document2: 
    number_sections: false
always_allow_html: true
geometry: "left=2.5cm,right=2cm,top=2cm,bottom=2cm"
fontsize: 12pt
linestretch: 1.5
---
```{r setup, include=FALSE}
  library(knitr)
  knitr::opts_chunk$set(echo = FALSE, warning = F, message = F)
   library(dplyr)
  library(flextable)
   library(ftExtra)
```
Some text on portrait page

\landscape
```{r table}
flextable(mtcars)%>%
autofit()%>%
theme_booktabs(bold_header = T)%>%
set_caption("Table caption")%>%
  fontsize(size = 11, part =  "all")
```

\endlandscape

 More text, next line back to portrait

I am rendering with commands:

bookdown::render_book(".", "bookdown::word_document2", config_file = "_bookdown.yml", preview = F, clean = T)

bookdown::render_book(".", "bookdown::pdf_document2", config_file = "_bookdown.yml", preview = F, clean = T)

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.