【问题标题】:column_spec function in kableExtra in R doesn't workR中kableExtra中的column_spec函数不起作用
【发布时间】:2018-07-31 10:57:01
【问题描述】:

我想用 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)

【问题讨论】:

    标签: r pdf latex tex kable


    【解决方案1】:

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

    【讨论】:

    • 哇,完美!太棒了,非常感谢!!我已经浪费了很多时间来尝试这样做......
    • @Hao Odd,对我来说似乎仍然是一个错误,因为align = "llrr" 适用于 HTML 输出。只有 PDF/LaTeX 文档不喜欢字符串。
    • 是的,请查看 kable rdocumentation.org/packages/knitr/versions/1.20/topics/kable 的文档,“除非”在我第一次阅读时让我发笑。大声笑
    【解决方案2】:

    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 上打开一个问题。如果你这样做,你应该参考这篇文章,并包含一个最小且可重现的示例(类似于我所做的)。

    【讨论】:

    • 谢谢,对我来说似乎是一样的。我将打开一个问题,但我现在需要快速解决方案。我删除了对齐和自定义列宽,但我还需要对齐列,你知道其他解决方案吗?
    • @dorota 抱歉,除了编辑原始 LaTeX 文件并在tabular 环境中手动更改/修复列宽之外,我没有快速的解决方案。
    • 你好,kable 函数的另一个问题。也许你知道'hline_after'参数是否正常工作?我有代码: row_spec( c(grep( 'TOTAL', final[,3])),bold = T , hline_after=T ) 和粗体适用于每条记录,而 hline_after 不适用于每条记录。我不知道为什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-19
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多