我正在尝试创建一个表来使用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输出如下。 这就是我要的。我喜欢表填写html的方式。但是,当我制作PDF时,我得到以下内容。
正如我们所看到的PDF存在问题,第一个表格在页面上运行,第二个表格没有填满整个宽度。不幸的是,对于R,Kable和RMarkdown来说,我是一个n00b。有没有办法在kable表上设置选项,以便PDF在页面放置和宽度方面看起来像HTML一样好?谢谢!
答案 0 :(得分:4)
LaTeX不会为您打破表格单元格中的长行 - 或者您应该使用自定义环境,这有时在编写由Pandoc处理的降价时非常令人沮丧。这就是为什么我提出了在通过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
-------------------------------------------------------------------------
或者,如果您有多个具有相同问题的表,请指定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,尽管还有其他一些有用的调整。