【发布时间】:2018-04-11 16:08:18
【问题描述】:
我想知道是否有一种方法可以使用 R 中的kable 强制脚注适应表格的宽度(并换行到第二行)(我正在将 .Rmd 编织成 PDF 所以格式是乳胶)。我用过add_footnote() 和footnote()。 add_footnote 函数实际上会将脚注换到第二行,如果它超出表格的宽度,但它也会强制使用上标(为此,我的表格中不能有上标)。 footnote 为我提供了删除上标的选项,但我不确定如何让它与add_footnote 的格式相匹配,并将比表格更宽的脚注换行到第二行。另一种解决方案是从add_footnote中删除上标
\captionsetup[table]{labelformat=empty}
```{r packs}
library(pacman)
p_load(tidyverse,knitr,kableExtra,janitor)
mydf <-data_frame(x=1:4,y=2:5,z=3:6)
fn1='This the footnote 1'
fn2='This is footnote 2 and is much longer'
mydf %>%
kable(format='latex',booktabs=T,
col.names=c('X','Y','Z'),
caption=c('This method stretches', 'my table out in an ugly way')) %>%
kable_styling(latex_options = c('hold_position')) %>%
footnote(general=c(fn1, fn2),general_title="")
mydf %>%
kable(format='latex',booktabs=T,
col.names=c('X','Y','Z'),
caption=c('This method ruins my title', 'and left justifies my table')) %>%
kable_styling(latex_options = c('hold_position')) %>%
footnote(general=c(fn1, fn2),general_title="",threeparttable = T)
mydf %>%
kable(format='latex',booktabs=T,
col.names=c('X','Y','Z'),
caption=c('This is pretty close to perfect', 'if I could remove the superscripts')) %>%
kable_styling(latex_options = c('hold_position')) %>%
add_footnote(c(fn1, fn2))
```
【问题讨论】:
-
有一个
threeparttable选项 -
@Hao 是的,但这会破坏我的字幕/标题,并且似乎也迫使我的表格在 PDF 中左对齐。诚然,我在 LaTex 方面很差,所以我猜想修复最简单的理由很简单,但它只是删除了我的部分标题。我在上面编辑/附加了一个 MWE。
-
我几乎忘记了我在 add_footnote 中有这样的 hack,因为它实际上是使用多列来做脚注......好吧,在开发版本中,
add_footnote我添加了“none”到notation。你可以试试看。 -
不走运。它给了我一个错误,我需要使用
c('alphabet', 'number', 'symbol')之一 -
“in the dev version”表示需要从github安装
标签: r latex r-markdown kable footnotes