17

我正在使用bookdown创建 pdf 报告,但无论有多少空间,我的表格都浮动到页面底部。看这个例子:

---
title: "test_doc"
author: "Jake Thompson"
date: "6/30/2017"
output:
  bookdown::pdf_document2:
    toc: false
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, collapse = TRUE)
library(tidyverse)
```

# Test heading

Let make a data frame and print it in Table \@ref(tab:test-table)

```{r test-table}
data_frame(col_a = seq_len(5), col_b = rnorm(5), col_c = runif(5)) %>%
  knitr::kable(caption = "This is a test")
```

生成的 pdf 如下所示:

pdf-输出

为什么表格会转到页面底部?有没有办法防止这种行为?

4

2 回答 2

31

kableExtra您可以通过以下方式解决此问题

data_frame(col_a = seq_len(5), col_b = rnorm(5), col_c = runif(5)) %>%
  knitr::kable(caption = "This is a test") %>%
  kableExtra::kable_styling(latex_options = "hold_position")

它基本上插入[!h]到 LaTeXtable环境中,这将防止浮动行为并将表格固定在当前位置。

于 2017-07-03T14:44:16.817 回答
5

我不得不使用

kable_styling(latex_options = "HOLD_position")

注意大写的 HOLD_position,与 hold_position 不同。另请参见此处

为了能够使用它,我还必须添加到文档的顶部(来自How to build a latex kable through bookdown::render_book?):

output:
  pdf_document:
    extra_dependencies: ["float"]
于 2020-05-29T21:53:55.957 回答