类似的问题已经被问到here和here,然而,所有的解决方案都主要依赖于使用kableExtra
包来创建表,我正在尝试在R Markdown中手动创建表,而不使用任何额外的包。
我之所以手动操作是因为我的一些表条目需要特殊字符(或包含LaTex命令,如\url{some url}
)或包含外部网站的链接,因此,我不确定是否可以使用kableExtra
包(或类似包)。
然而,我尝试手动复制kableExtra
表的外观,特别是我尝试在每列之间添加垂直线,以使它在编织的HTML和pdf文件之间保持一致。
例如,使用下面的代码,我使用kableExtra
手动创建了一个表,在手动创建的表中包含了指向wikipedia的链接(我不确定我是否可以使用kableExtra
)。然而,如上所述,在我的实际表中,我需要包括LaTex命令(为了简单起见,我在这里省略了)。第一个图像是编织的HTML,第二个图像是编织的PDF。
1:手工创建表:
| Make | mpg | cyl | disp |
|:-----------------------------------------------------------|:--------|:-----|:------|
| [Mazda RX4](https://en.wikipedia.org/wiki/Mazda_Luce) | 21.0 | 6 | 160 |
| [Mazda RX4 Wag](https://en.wikipedia.org/wiki/Mazda_Luce) | 21.0 | 6 | 160 |
| [Datsun 710](https://en.wikipedia.org/wiki/Nissan_Violet) | 22.8 | 4 | 108 |
2:kableExtra创建的表格:
library(dplyr)
library(kableExtra)
dt <- mtcars[1:3, 1:3]
dt %>%
tibble::rownames_to_column("Make") %>%
knitr::kable() %>%
kableExtra::kable_styling(bootstrap_options = "bordered")
下面是上面的代码如何与HTML结合的:
这就是上面的代码如何编织成pdf:
可以看到,当使用kableExtra
时,每列之间都有垂直线分隔,我想知道是否可以通过手动方法复制这一点?
1条答案
按热度按时间pcww981p1#
kableExtra
中可以有url和特殊字符;如果你分享了你心目中的特殊字符类型,我们当然也可以渲染它们。关于如何在kable
中渲染特殊字符,已经有一些问题了。