首页 > 解决方案 > kableExtra 中的 row_spec() 函数不会在 html 输出中创建水平线

问题描述

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

row_spec 文档

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

示例代码:

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

输出

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

谢谢

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

标签: rkablekableextra

解决方案


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

源代码

使用 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 调用混淆。


推荐阅读