有没有办法在r-markdown或bookdown中使用kableExtra增加pdf输出的行距?
library(knitr) library(kableExtra) kable( head(iris, 5), caption = 'Iris Table', booktabs = TRUE) %>% kable_styling(latex_options = "striped")
dbf7pr2w1#
您可以使用LaTeX命令\arraystretch来执行此操作:
\arraystretch
--- output: pdf_document --- ```{r setup, include=FALSE} library(kableExtra) library(tidyverse)
\renewcommand{\arraystretch}{2}
library(knitr) library(kableExtra) kable(head(iris, 5), caption = 'Iris Table',booktabs = TRUE) %>% kable_styling(latex_options = "striped")
请注意,以下所有表格将使用相同的间距。 ![](https://i.stack.imgur.com/miGOh.png)
tvmytwxo2#
在CL.的答案here的基础上,你也可以使用kable的linesep参数和'\addlinespace'(或者来自Latex的booktabs的类似参数)。linesep = "\\addlinespace"您的示例:
kable
linesep
booktabs
linesep = "\\addlinespace"
kable(head(iris, 5), "latex", caption = 'Iris Table', booktabs = T, linesep = "\\addlinespace") %>% kable_styling(latex_options = "striped")
我认为\arraystretch改变了整个表格的行距,包括标题、注解等,而linesep只控制表格体的行距。这样你也不必在Rmarkdown文档中引入自定义的Latex代码。
uklbhaso3#
除了Martin的答案之外,您还可以将标记\renewcommand{\arraystretch}{2}放入保存_kable函数中,如下所示(如果您和我一样,只想在不使用R Markdown的情况下导出pdf表格):
save_kable(tableName, file="FileName.pdf", latex_header_includes = c("\\renewcommand{\\arraystretch}{2}"))
pgccezyw4#
这只是对Martin Schmelzer答案的补充(我是stackoverflow的新手,不允许发表评论)。问题是你可以在chunck中添加数组拉伸。当一个chunck中有多个表时,就可以使用了。
```{r, echo=FALSE} #array stretch increases row height cat("\\renewcommand{\\arraystretch}{2} \n") #This is the table kable(head(iris, 5), caption = 'Iris Table',booktabs = TRUE) %>% kable_styling(latex_options = "striped") #array stretch sets row height back cat("\\renewcommand{\\arraystretch}{1} \n") kable(....another table in chunck that is unaffected...)
vh0rcniy5#
padding参数可以做到这一点
padding
row_spec(1:nrow(yourdata), extra_css = "padding: 10px")
5条答案
按热度按时间dbf7pr2w1#
您可以使用LaTeX命令
\arraystretch
来执行此操作:\renewcommand{\arraystretch}{2}
tvmytwxo2#
在CL.的答案here的基础上,你也可以使用
kable
的linesep
参数和'\addlinespace'(或者来自Latex的booktabs
的类似参数)。linesep = "\\addlinespace"
您的示例:
我认为
\arraystretch
改变了整个表格的行距,包括标题、注解等,而linesep
只控制表格体的行距。这样你也不必在Rmarkdown文档中引入自定义的Latex代码。uklbhaso3#
除了Martin的答案之外,您还可以将标记\renewcommand{\arraystretch}{2}放入保存_kable函数中,如下所示(如果您和我一样,只想在不使用R Markdown的情况下导出pdf表格):
pgccezyw4#
这只是对Martin Schmelzer答案的补充(我是stackoverflow的新手,不允许发表评论)。问题是你可以在chunck中添加数组拉伸。当一个chunck中有多个表时,就可以使用了。
vh0rcniy5#
padding
参数可以做到这一点