RMarkdown Kable 宽度问题
RMarkdown Kable width issues
我正在尝试创建一个 table 以在 RMarkdown 中使用 Kable 保存一些基本信息,这些信息将在 HTML、PDF 和 Word 中生成。这是我的代码
---
title: "test"
author: ''
date: "2015/03/24"
output:
pdf_document:
keep_tex: yes
---
```{r kable1, echo=FALSE}
Variable <- c("VAR1", "VAR2", "VAR3", "VAR4")
Label <- c("LABEL", "A very loooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooo nnnnnnngggggggg label yall", "LAB3", "LAB4")
Classification <- c("Type1", "Type2", "Type1", "Type1")
data <- data.frame(Variable, Label, Classification)
library(knitr)
kable(data)
```
```{r kable2, echo=FALSE}
Variable <- c("VAR1", "VAR2", "VAR3", "VAR4")
Label <- c("LABEL", "LabLE", "LAB3", "LAB4")
Classification <- c("Type1", "Type2", "Type1", "Type1")
data <- data.frame(Variable, Label, Classification)
library(knitr)
kable(data)
```
HTML输出如下。
这就是我要的。我喜欢 table 填充 html 的方式。但是,当我生成 PDF 时,我得到以下信息。
正如我们所见,PDF 存在问题,第一个 table 超出了页面,第二个没有填满整个宽度。不幸的是,当涉及到 R、Kable 和 RMarkdown 时,我是一个 n00b。有没有办法在 kable table 上设置选项,以便 PDF 在页面位置和宽度方面看起来与 HTML 一样好?谢谢!
LaTeX 不会为您打断 table 单元格内的长行——或者您应该为此使用自定义环境,这在编写要由 Pandoc 处理的 markdown 时有时会非常令人沮丧。这就是为什么我想出在通过 pander package 转换为降价之前打破单元格内的长行的原因。快速示例:
> pander(data, split.cells = 30, split.table = Inf)
-------------------------------------------------------------------------
Variable Label Classification
---------- --------------------------------------------- ----------------
VAR1 LABEL Type1
VAR2 A very Type2
loooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
nnnnnnngggggggg label yall
VAR3 LAB3 Type1
VAR4 LAB4 Type1
-------------------------------------------------------------------------
或者,如果您有多个 table 遇到同样的问题,请指定一次 split
值:
> panderOptions('table.split.table', Inf)
> pander(data)
-------------------------------------------------------------------------
Variable Label Classification
---------- --------------------------------------------- ----------------
VAR1 LABEL Type1
VAR2 A very Type2
loooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
nnnnnnngggggggg label yall
VAR3 LAB3 Type1
VAR4 LAB4 Type1
-------------------------------------------------------------------------
简而言之,寻找 table.split.table
和 table.split.cells
global options,尽管还有许多其他有用的调整。
我正在尝试创建一个 table 以在 RMarkdown 中使用 Kable 保存一些基本信息,这些信息将在 HTML、PDF 和 Word 中生成。这是我的代码
---
title: "test"
author: ''
date: "2015/03/24"
output:
pdf_document:
keep_tex: yes
---
```{r kable1, echo=FALSE}
Variable <- c("VAR1", "VAR2", "VAR3", "VAR4")
Label <- c("LABEL", "A very loooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooo nnnnnnngggggggg label yall", "LAB3", "LAB4")
Classification <- c("Type1", "Type2", "Type1", "Type1")
data <- data.frame(Variable, Label, Classification)
library(knitr)
kable(data)
```
```{r kable2, echo=FALSE}
Variable <- c("VAR1", "VAR2", "VAR3", "VAR4")
Label <- c("LABEL", "LabLE", "LAB3", "LAB4")
Classification <- c("Type1", "Type2", "Type1", "Type1")
data <- data.frame(Variable, Label, Classification)
library(knitr)
kable(data)
```
HTML输出如下。
正如我们所见,PDF 存在问题,第一个 table 超出了页面,第二个没有填满整个宽度。不幸的是,当涉及到 R、Kable 和 RMarkdown 时,我是一个 n00b。有没有办法在 kable table 上设置选项,以便 PDF 在页面位置和宽度方面看起来与 HTML 一样好?谢谢!
LaTeX 不会为您打断 table 单元格内的长行——或者您应该为此使用自定义环境,这在编写要由 Pandoc 处理的 markdown 时有时会非常令人沮丧。这就是为什么我想出在通过 pander package 转换为降价之前打破单元格内的长行的原因。快速示例:
> pander(data, split.cells = 30, split.table = Inf)
-------------------------------------------------------------------------
Variable Label Classification
---------- --------------------------------------------- ----------------
VAR1 LABEL Type1
VAR2 A very Type2
loooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
nnnnnnngggggggg label yall
VAR3 LAB3 Type1
VAR4 LAB4 Type1
-------------------------------------------------------------------------
或者,如果您有多个 table 遇到同样的问题,请指定一次 split
值:
> panderOptions('table.split.table', Inf)
> pander(data)
-------------------------------------------------------------------------
Variable Label Classification
---------- --------------------------------------------- ----------------
VAR1 LABEL Type1
VAR2 A very Type2
loooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooooooooooooooooo
nnnnnnngggggggg label yall
VAR3 LAB3 Type1
VAR4 LAB4 Type1
-------------------------------------------------------------------------
简而言之,寻找 table.split.table
和 table.split.cells
global options,尽管还有许多其他有用的调整。