使用knitr的longtable=T时,如何将PDF表格置于下一页顶部?
解决方法
要让longtable表格直接跳到下一页顶部,直接插入LaTeX分页命令就能搞定,操作步骤如下:
- 给R代码块添加输出设置:把代码块开头改成```r, results='asis',这样R输出的LaTeX命令能被PDF编译器直接识别。
- 在生成表格前插入分页命令:用
cat("\\newpage\n")输出LaTeX的分页指令,强制后面的表格从下一页开头显示。
修改后的完整代码:
t1 <- table1(~ . - Subject | sex, data = dataset) df_t1 <- as.data.frame(t1) # 强制跳转到下一页 cat("\\newpage\n") kable(df_t1, digits=2, format="latex", longtable=T, linesep="", booktab=T, caption = "Baseline Characteristics") %>% kable_styling(latex_options = c("repeat_header","HOLD_positions"))
额外提示
- 如果之前有未排版的图表等浮动元素,想先清空再分页,就把
\\newpage换成\\clearpage,也就是cat("\\clearpage\n")。 - 因为
longtable不属于LaTeX的浮动环境,没法自动排版位置,所以直接用分页命令就能精准控制它的起始页。
内容的提问来源于stack exchange,提问作者Stats_Beginner
相关产品推荐
相关产品推荐

