为什么我的 RMarkdown 摘要 table 只显示在一个 PDF 页面上,其余的在哪里?

Why is my RMarkdown summary table only showing on one PDF page, where is the rest?

我正在尝试使用包 vtable 创建摘要 table。我确实得到了一个 table,但不知何故字体大小超大并且没有显示整个 table?我真的很茫然。我花了好几个小时,但找不到解决方案...有人可以告诉我如何在 pdf 文档中获得更小的 table(字体大小和整个 table 吗?

---
title: "Example"
date: "22 March 2021"
output: 
  pdf_document
---

{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(vegan)
library(vtable)




{r dune}
data(dune.env)



{r plot1, echo = F,results='asis',out.width='10%',message=F, fig.show='hold'}
st(dune.env,summ=c('mean(x)','median(x)','min(x)','max(x)'),group="Management",group.long = TRUE,out="latex")

默认情况下,sumtableout = 'latex' 将 LaTeX \resizebox{\textwidth} 应用于 table 以使其水平适合页面。但是,当 table 非常窄且高时,就像这个一样,resizebox 可以将其缩放为 更大 (使文本变大)。

您可以使用 fit.page 选项控制 table 的宽度,该选项缩放 table 的水平宽度。默认情况下它是 '\textwidth',但是您可以这样做,例如 .6\textwidth 只填充水平 space 的 60%。这就是我用 fit.page='.5\textwidth':

得到的

现在,这会使文本变小,但它确实适合。这是 LaTeX 给高 tables 带来困难的结果,并且没有对多页 tables 的内置支持。所以它只填满一个页面,其余的不显示。这是 LaTeX 的东西,不是 sumtablesumtable/vtable 目前不支持多页 LaTeX tables。但是,您可以将 keep_tex: true 添加到您的 YAML,然后再进入并编辑 TeX 文件以使用 longtable LaTeX 包,这增加了支持对于多页 tables,将 \begin{table} 变成 \begin{longtable},等等。