在knitr / pandoc中设置单元格宽度?

时间:2015-08-25 16:40:47

标签: html css r knitr

我正在使用knitr / pandoc生成一个HTML文件,它在循环中打印几个表。这是一个最小的例子:

---
output:
  html_document:
theme: cosmo
---

```{r results ="asis", echo=FALSE, warning=FALSE, kable}
library(knitr)
library(markdown)
library(pander)

for (i in 1:12) {
  df = data.frame(matrix(rnorm(i), nrow=2))
  cat(pandoc.table(df, split.table = Inf))
}
```

打印的数据框(表格)具有不同数量的单元格,但它们都具有相同的总宽度。 我试图通过将表格宽度设置为“自动”并将其左对齐来设置CSS的固定宽度,但我没有成功。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

这是由原始CSS中的width: 100%设置引起的。您可以使用自定义主题或其他CSS来覆盖它 - 例如像这样的最小的东西:

table {
  width: auto !important;
}

!important规则代表强制width而非原始100%。现在将此文件另存为例如custom.css并将其传递到YAML标题中:

---
output:
  html_document:
    theme: cosmo
    css: custom.css
---

顺便说一下,您不需要cat pander的结果:)