Я пытаюсь заставить R подавить длинные таблицы, созданные с помощью kable и kableExtra, во встроенном выводе Rmd, сохраняя их в окончательном связанном PDF-файле. Я хочу сделать это только с несколькими фрагментами, поэтому я бы предпочел не идти по пути установки глобальной опции отключения всего встроенного вывода.
Я прошел через несколько итераций перечисленных здесь вариантов фрагментов: https://yihui.name/knitr/demo/output/ и здесь: https://yihui.name/knitr/options/#plots, но не попал в нужный, поэтому я не уверен, ищу ли я вообще в нужном месте или просто пропустил правильную настройку.
YAML:
---
output:
pdf_document:
latex_engine: xelatex
---
Код:
```{r}
# Setup
library(knitr)
library(kableExtra)
# Create some data
dat <- data.frame ("A" = c(1:5),
"B" = c("Imagine a really long table",
"With at least 50 rows or so",
"Which get in the way in the inline output",
"But I want in the final PDF",
"Without influencing the other chunks")
)
# Produce the table
kable(dat, booktabs=TRUE, format="latex", longtable=TRUE) %>%
kable_styling(latex_options="HOLD_position")
```
Встроенный вывод, который я не хочу, чтобы он появлялся каждый раз, когда я запускаю эту штуку:
\begin{table}[H]
\centering
\begin{tabular}{rl}
\toprule
A & B\\
\midrule
1 & Imagine a really long table\\
2 & With at least 50 rows or so\\
3 & Which get in the way in the inline output\\
4 & But I want in the final PDF\\
5 & Without influencing the other chunks\\
\bottomrule
\end{tabular}
\end{table}
Если вы можете представить себе, что вам нужно прокручивать 50-100 строк этого материала при попытке написать код, вы можете увидеть, насколько это раздражает и отнимает много времени.