Я пытаюсь создать сводную таблицу с помощью пакета vtable. Я получаю таблицу, но почему-то размер шрифта очень большой, и отображается не вся таблица? Я действительно в растерянности. Я потратил на это часы, но не смог найти решения ... Может, кто-нибудь скажет мне, как получить меньшую таблицу (размер шрифта и всю таблицу в PDF-документе?)

---
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")
0
Conny 22 Мар 2021 в 19:17

1 ответ

Лучший ответ

По умолчанию sumtable с out = 'latex' применяет LaTeX \resizebox{\textwidth} к таблице, чтобы она умещалась по горизонтали на странице. Однако, когда таблица очень узкая и высокая, как эта, resizebox может масштабировать ее до большего (делая текст большим).

Вы можете контролировать ширину таблицы с помощью параметра fit.page, который масштабирует горизонтальную ширину таблицы. По умолчанию это '\\textwidth', но вы можете сделать, например, .6\\textwidth, чтобы заполнить только 60% горизонтального пространства. Вот что я получаю с fit.page='.5\\textwidth':

Table filling 50% of horizontal space

Теперь текст становится крошечным, но он подходит. Это следствие того, что LaTeX затрудняет работу с высокими таблицами и не имеет встроенной поддержки многостраничных таблиц. Таким образом, он просто заполняет страницу, а остальное не отображается. Это вещь LaTeX, а не sumtable. В настоящее время нет поддержки многостраничных таблиц LaTeX в sumtable / vtable . Однако вы можете добавить keep_tex: true в свой YAML, а затем после этого войти и отредактировать файл TeX, чтобы использовать пакет longtable LaTeX, который добавляет поддержку многостраничных таблиц, и включите \begin{table} в \begin{longtable} и т. д.

1
NickCHK 25 Мар 2021 в 00:26