wrap long text in kable table column

Eric Green picture Eric Green · Apr 3, 2015 · Viewed 19.2k times · Source

I would like wrap long text in my kable table. Here is a simple example of a table with column text that is too long and needs to be wrapped for the table to fit on the page.

---
title: "test"
output: pdf_document
---

```{r setup, include=FALSE}
  library(knitr)
```


This is my test

```{r test, echo=FALSE}
test <- data.frame(v1=c("This is a long string. This is a long string. This is a long string. This is a long string. This is a long string.",
                        "This is a another long string. This is a another long string. This is a another long string. This is a another long string. This is a another long string."),
                   v2=c(1, 2))
kable(test)
```

enter image description here

Answer

Hao picture Hao · Jun 12, 2017

An alternative solution other than the awesome pander package is to use column_spec in kableExtra. In this case, the following code will do the trick.

kable(test, "latex") %>%
  column_spec(1, width = "10em")