我正在使用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如下所示:
为什么表格会转到页面底部?有没有办法防止这种行为?
答案 0 :(得分:10)
您可以通过
使用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]
插入到LaTeX table
环境中,这将阻止浮动行为并将表固定在当前位置。
答案 1 :(得分:2)
我不得不使用
kable_styling(latex_options = "HOLD_position")
请注意,大写的HOLD_position与hold_position不同。另请参见here。
要使用该功能,我还必须添加到文档的顶部(来自How to build a latex kable through bookdown::render_book?):
output:
pdf_document:
extra_dependencies: ["float"]