【问题标题】:row_spec() function from kableExtra does not create a horizontal line in html outputkableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线
【发布时间】:2019-05-08 10:05:21
【问题描述】:

我想在我的 kableextra 表的某一行下添加一条水平线。 row_spec 函数的参数 hline_after 应该是在行下添加水平线:

row_spec documentation

但是,这并没有发生,该参数似乎根本没有效果。

示例代码:

x <- knitr::kable(head(mtcars), "html")
kableExtra::row_spec(x, 2, hline_after = TRUE)

有谁知道为什么会发生这种情况,是否有另一种方法可以将水平线添加到表格中(使用相同的包)。

谢谢

编辑 正如 Lyngbakr 指出的那样,当输出设置为 LaTeX 时,该功能起作用。

【问题讨论】:

  • 它在 LaTeX 中对我有用。但是,它不适用于 html。查看代码,这并不奇怪,因为hline_after 甚至没有传递给row_spec_html,它实际上是在html 中创建表格的内部函数。不过,它被传递给row_spec_latex
  • 你是对的,我的乳胶输出有一个单独的问题(我从不使用它)。我现在也检查了源代码,该参数仅用于乳胶输出,只是在文档本身中没有提及。我已经编辑了这个问题。谢谢
  • 如果你没有设置kable/kableExtra,你可以使用xtable
  • 是的,是的。对于我目前的情况,我不需要它, extra_css 就足够了。下次我需要使用更高级的格式时,我会研究一下。谢谢

标签: r kable kableextra


【解决方案1】:

正如 Lyngbakr 在 cmets 中指出的那样,如果输出设置为 html,该函数不使用参数 hline_after。该参数仅对 Latex 输出有用,只是文档中没有明确提及。

source code

使用 hline_after 参数的替代方法是使用 extra_css:

x <- knitr::kable(head(mtcars), "html")
kableExtra::row_spec(x, 2, extra_css = "border-bottom: 1px solid")

但是,在更复杂的表中,这会与您可能正在使用的其他 row_spec 和 column_spec 调用混淆。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多