column_spec R 中的 kableExtra 函数不起作用

column_spec function in kableExtra in R doesn't work

我想用 kable ( , 'latex') 共同更改 pdf 中的列宽,但该功能不起作用。有人知道为什么吗?这是我的代码:

   table = knitr::kable(jeden, "latex" , row.names = F ,  align = "llrrrrrrrrrr" , escape = F, booktabs = F, caption = '1. Sprzedaz uslug i towarow razem') 
   kableExtra::column_spec(table, 1, width = "1cm", bold = TRUE, italic = TRUE)

似乎 align 破坏了您的 column_spec,但仅针对 LaTeX/PDF 输出。

这里有两个最小且可重现的例子。

PDF 输出

---
title: "Untitled"
output:
  pdf_document: default
---

```{r}
library(knitr)
library(kableExtra)
x <- kable(head(mtcars[, 1:4]), "latex", row.names = F, align = "llrr")
column_spec(x, 1:2, width = "4cm", bold = TRUE, italic = TRUE)
```

如果您从 PDF RMarkdown 文档中删除 aligncolumn_spec 将按预期工作。

HTML输出

---
title: "Untitled"
output:
  html_document: default
---

```{r}
library(knitr)
library(kableExtra)
x <- kable(head(mtcars[, 1:4]), "html", row.names = F, align = "llrr")
column_spec(x, 1:2, width = "4cm", bold = TRUE, italic = TRUE)
```

这对我来说似乎是一个错误,我建议在 kableExtra GitHub site 上打开一个问题。如果这样做,您应该参考此 post,并包括一个最小且可重现的示例(类似于我所做的)。

这不是错误,而是 knitr::kable()align 的一个相对奇怪的设置。在 xtable 中,您可以将对齐放在字符串中,但对于 kable,您必须提供一个向量。在您的情况下,如果您输入 align = c(rep("l", 2), rep("r"), 2) 之类的内容,您应该没问题。