如何在pdf中停止从页面浮动到底部的簿记表?

Jak*_*son 9 latex r knitr r-markdown bookdown

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")
```
Run Code Online (Sandbox Code Playgroud)

生成的pdf如下所示:

PDF输出

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

Hao*_*Hao 16

你能解决这个问题,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")
Run Code Online (Sandbox Code Playgroud)

它基本上将一个插入[!h]到LaTeX table环境中,这将阻止浮动行为并将表固定在当前位置.

  • 如果像我一样,您同时遇到相同的数字问题,这里有一个解决方案:/sf/ask/1163852371/ -和-pandoc/33801326#33801326 (2认同)

dfr*_*kow 10

我不得不使用

kable_styling(latex_options = "HOLD_position")
Run Code Online (Sandbox Code Playgroud)

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

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

output:
  pdf_document:
    extra_dependencies: ["float"]
Run Code Online (Sandbox Code Playgroud)

  • 我会重申“HOLD_position”有效,而“hold_position”对我不起作用。 (2认同)