Marc BF
Marc BF

Reputation: 119

Table way too wide to fit in Markdown generated PDF

I am trying to display a table from an SQL query to a pdf by using Rmarkdown. However, the table I get is too wide and it does not fit in the document.

I have been recommended to use the Pander package, and so I tried to use the pandoc.table() function which works greatly on the console, but for some reason it stops my document from rendering in Rmarkdown.

The code looks kinda like this :

rz = dbSendQuery(mydb, "select result.id result_id, company.id company_id, (...)")
datz = fetch(rz, n=-1)

It is a very long query but, as I said, it works both on MySQL and R console (working on RStudio).

So, when I do

kable(datz, "latex", col.names = c(colnames(datz)), caption=paste('This is a sample table')) %>% kable_styling(latex_options = "striped") %>% column_spec(1, bold = T, color = "red"))

the results that get printed are too wide to fit in the PDF.

I do not know how can I solve this. I tried with pandoc.tables() from pander package, but the format of the result seems to be very humble compared to the options I have in kable.

Upvotes: 4

Views: 9440

Answers (1)

Gainz
Gainz

Reputation: 1771

You have to use the scale_down option from kableExtra. The scale_down option is going to fit your table on one page when it is too wide. The police font will also be reduce.

Here is an example of the code you could use :

kable(your_dt, "latex", booktabs = T) %>%
kable_styling(latex_options = c("striped", "scale_down"))

Upvotes: 14

Related Questions