kable:垂直对齐不适用于 pdf 输出
kable: Vertical alignment does not work with pdf output
我正在尝试使用 kable
以 pdf 格式混合文本和数字生成大型 table。我正在尝试将每一行对齐到顶部。我使用位于工作目录内的图形 test.jpg 做了一个例子。我使用的是 knitr
的 1.22 版本。
---
output: pdf_document
---
```{r}
table <- data.frame(
col1 = "test",
col2 = "{width=150px}")
knitr::kable(table)
```
如果我在 html 中编织它,它的行为正确并将图形和文本对齐到顶部,但它使用 pdf 将图形和文本对齐在底部。指定 valign
选项不会改变行为。
有没有人经历过类似的行为?
我没有很好的解决方案,但我有一个解决方法。这是一个使用 LaTeX 包 adjustbox
的 cludge – 具体来说,valign = T
作为 includegraphics
的参数。 (scale = 0.5
只是使图像成为其原始大小的 50%。)为了美观,我还加入了转义换行符 (\\
)。
---
title: \textbf{Title}
author: \normalfont{Author}
output:
pdf_document
header-includes:
- \usepackage[export]{adjustbox}
---
```{r}
table <- dplyr::tibble(
col1 = LETTERS[1:3],
col2= c("\includegraphics[valign=T, scale=0.5]{Osedax_roseus.jpg} \\",
"\includegraphics[valign=T, scale=0.5]{Osedax_roseus.jpg} \\",
"\includegraphics[valign=T, scale=0.5]{Osedax_roseus.jpg} \\"))
knitr::kable(table, format = "latex", escape = FALSE)
```
此示例使用来自 this Wikipedia page 的照片。
我正在尝试使用 kable
以 pdf 格式混合文本和数字生成大型 table。我正在尝试将每一行对齐到顶部。我使用位于工作目录内的图形 test.jpg 做了一个例子。我使用的是 knitr
的 1.22 版本。
---
output: pdf_document
---
```{r}
table <- data.frame(
col1 = "test",
col2 = "{width=150px}")
knitr::kable(table)
```
如果我在 html 中编织它,它的行为正确并将图形和文本对齐到顶部,但它使用 pdf 将图形和文本对齐在底部。指定 valign
选项不会改变行为。
有没有人经历过类似的行为?
我没有很好的解决方案,但我有一个解决方法。这是一个使用 LaTeX 包 adjustbox
的 cludge – 具体来说,valign = T
作为 includegraphics
的参数。 (scale = 0.5
只是使图像成为其原始大小的 50%。)为了美观,我还加入了转义换行符 (\\
)。
---
title: \textbf{Title}
author: \normalfont{Author}
output:
pdf_document
header-includes:
- \usepackage[export]{adjustbox}
---
```{r}
table <- dplyr::tibble(
col1 = LETTERS[1:3],
col2= c("\includegraphics[valign=T, scale=0.5]{Osedax_roseus.jpg} \\",
"\includegraphics[valign=T, scale=0.5]{Osedax_roseus.jpg} \\",
"\includegraphics[valign=T, scale=0.5]{Osedax_roseus.jpg} \\"))
knitr::kable(table, format = "latex", escape = FALSE)
```
此示例使用来自 this Wikipedia page 的照片。