kableExtra 只需加载带有 2 列 kable 的包即可添加间距

kableExtra adding spacing just by loading the package with 2 column kable

提问人:Jan Stanstrup 提问时间:10/23/2023 最后编辑:Jan Stanstrup 更新时间:10/23/2023 访问量:44

问:

我发现了一个奇怪的问题,这可能是一个错误,但由于我想它不太可能被修复,我真的在寻找一种解决方法。 在下面的示例中,表格和图像应该在顶部对齐。如果 kableExtra 未加载,则有效,但如果它甚至被加载(但未使用),它会在图像上方增加空间。 我的猜测是它与 latex 包有关 kableExtra 加载,但不知道如何调试或修复它。

有什么解决方法的想法吗?

---
title: "Gamelist"
editor: visual
params:
  game: Vermeer
  location: dunno
format:
  pdf:
    fig-pos: H
---

```{r}
#| message: false
#| warning: false
#| echo: false
library(tidyverse)
library(rvest)
library(glue)
library(magrittr)
library(knitr)
library(kableExtra)
knitr::opts_chunk$set(echo = FALSE)
```

\vspace{-2.5cm}

some texts

:::: {layout="[50,-2, 50]" layout-valign="top"}


::: {#firstcol}

```{r}
#| results: asis
#| 
for(i in 1:2){
mtcars %>% select(1:4) %>% slice(1:13) %>% kable() %>% print
}

```

:::


::: {#secondcol}


```{r}
download.file("https://www.lemon64.com/assets/images/games/covers/large/vermeer_01.jpg",destfile="cover.jpg",method="curl")
knitr::include_graphics("cover.jpg", dpi = 96)

```

:::


::::

编辑: 根据 @Julian 的建议,我研究了生成的 tex。 以下软件包都加载了 kableExtra。 但重要的区别似乎是,默认情况下使用长表,而如果加载了 kableExtra,则使用常规表。设置解决了对齐问题。kable(longtable = TRUE)

\usepackage{booktabs}
\usepackage{longtable}
\usepackage{array}
\usepackage{multirow}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{colortbl}
\usepackage{pdflscape}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{threeparttablex}
\usepackage[normalem]{ulem}
\usepackage{makecell}
\usepackage{xcolor}
r-markdown quarto kableextra

评论

1赞 Julian 10/23/2023
我会添加到您的 YAML 中以获得更好的乳胶调试。keep-tex: true
1赞 Jan Stanstrup 10/23/2023
谢谢。如上所述,我在编辑中找到了罪魁祸首。
0赞 Julian 10/23/2023
太好了,你解决了它。您实际上可以将其作为答案发布,而不是编辑:)

答: 暂无答案