将脚注换行到第二行以适合 kable 中的表格(LaTeX .Rmd)

c.c*_*ter 5 latex r footnotes r-markdown kable

我想知道是否有一种方法可以强制脚注适应表格的宽度(并换行到第二行)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))
```
Run Code Online (Sandbox Code Playgroud)

针织PDF的屏幕截图: 在此输入图像描述

dfr*_*kow 1

以下是notation="none"@hao 建议的选项。它是中心对齐的。

mydf %>%
  kable(format='latex',booktabs=T,
        col.names=c('X','Y','Z'),
        caption=c('Notation="none"') %>%
  kable_styling(latex_options = c('hold_position')) %>%
  add_footnote(c(fn1, fn2), notation="none")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述