【发布时间】:2019-09-17 23:00:47
【问题描述】:
我正在尝试使用 R Markdown 编织中的 kable 和 kableExtra 包修改表格的外观到 PDF 输出。
特别是,我想从表格中删除所有边框,只在标题下添加一条水平线,在行名旁边添加一条垂直线。
目前,我有这个代码:
---
header-includes: \setmainfont[Path = C:/Windows/Fonts/]{Arial}
\usepackage{colortbl}
\arrayrulecolor{white}
output:
pdf_document:
latex_engine: xelatex
word_document: default
---
```{r echo=FALSE, message=FALSE, warning=F, paged.print=TRUE}
library(kableExtra)
library(magrittr)
DATA<- data.frame(jen=c(1,2,3,4,5), feb=c(2,3,4,5,3), mar=c(0,2,4,1,2))
rownames(DATA)<-c("first","second","third","fourth","fifth")
kable(DATA, "latex")
```
生成此表:
要删除所有边框,我将默认边框设置为白色作为this 建议问题的答案。
现在,我想在标题下方添加一条水平蓝线,并在行名右侧添加一条垂直蓝线。
我可以通过以下方式获得水平线:
---
header-includes: \setmainfont[Path = C:/Windows/Fonts/]{Arial}
\usepackage{colortbl}
\arrayrulecolor{white}
output:
pdf_document:
latex_engine: xelatex
---
```{r echo=FALSE, message=FALSE, warning=F, paged.print=TRUE}
library(kableExtra)
library(magrittr)
DATA<- data.frame(jen=c(1,2,3,4,5), feb=c(2,3,4,5,3), mar=c(0,2,4,1,2))
rownames(DATA)<-c("first","second","third","fourth","fifth")
kable(DATA, "latex") %>%
row_spec(0, extra_latex_after = "\\arrayrulecolor[rgb]{0,.275,.725}") %>%
row_spec(1:nrow(DATA), extra_latex_after = "\\arrayrulecolor{white}")
```
获取this。
我想对垂直线做同样的事情,但函数“column_spec”中没有“extra_latex_after”这样的命令。它只接受显然不适用于 PDF 输出的“extra_css”命令。
我的目标是获得类似this 的东西。 我知道我可以使用其他表格包获得相同的结果,但我想知道是否可以使用 kable 获得类似的结果。
有没有人知道有没有办法解决这个问题?
【问题讨论】:
-
你应该展示一些接近你想要的可重现代码,并解释输出有什么问题。否则,我们无法真正判断您要做什么。
标签: r r-markdown kable