kable_styling с full_width = T в документе оттенка
У меня есть следующее tint
PDF документ:
---
title: "Title"
subtitle: "Subtitle"
author: "Author"
date: "`r Sys.Date()`"
output: tint::tintPdf
---
```{r echo = FALSE, message = FALSE}
# Load library
library(dplyr)
# Create data frame
df <- data.frame(A = runif(10),
B = runif(10),
C = runif(10),
D = runif(10),
E = runif(10),
F = runif(10),
G = runif(10),
H = runif(10))
# Print as a table
knitr::kable(df, booktabs = TRUE, format = "latex",
caption = "This is a caption in the margin.")
```
Это создает PDF со следующей таблицей:
Стол широкий и разливается над заголовком. Чтобы избежать этого, я могу указать, что это полная таблица ширины, используя full_width = TRUE
в kable_styling
функция kableExtra
,
---
title: "Title"
subtitle: "Subtitle"
author: "Author"
date: "`r Sys.Date()`"
output: tint::tintPdf
---
```{r echo = FALSE, message = FALSE}
# Load library
library(dplyr)
# Create data frame
df <- data.frame(A = runif(10),
B = runif(10),
C = runif(10),
D = runif(10),
E = runif(10),
F = runif(10),
G = runif(10),
H = runif(10))
# Print as a table
knitr::kable(df, booktabs = TRUE, format = "latex",
caption = "This is a caption in the margin.") %>%
kableExtra::kable_styling(full_width = TRUE)
```
Это дает следующую ошибку:
! LaTeX Ошибка: среда табу не определена.
Ошибка: не удалось скомпилировать Test.tex. Смотрите Test.log для получения дополнительной информации. Исполнение остановлено
Кажется, расстроен tabu
пакет (или его отсутствие). Итак, я добавляю в этот пакет в моем YAML, вот так:
---
title: "Title"
subtitle: "Subtitle"
author: "Author"
date: "`r Sys.Date()`"
output: tint::tintPdf
header-includes:
- \usepackage{tabu}
---
Это работает, но производит следующее:
Теперь содержимое таблицы перекрывается. Humpf. Даже если я включу fig.fullwidth = TRUE
в вариантах куска мне не повезло.
Как мне создать таблицу полной ширины в этой ситуации?
1 ответ
Вот обходной путь. Указав longtable = TRUE
в kable
Подпись поднята наверх. Также в YAML: tables: yes
, Нелогично, используя kable_styling
с full_width = TRUE
будет раздавливать стол на всю ширину основного тела, а не основного тела + поля.
---
title: "Title"
subtitle: "Subtitle"
author: "Author"
date: "`r Sys.Date()`"
output: tint::tintPdf
tables: yes
---
```{r echo = FALSE, message = FALSE}
# Load library
library(dplyr)
# Create data frame
df <- data.frame(A = runif(10),
B = runif(10),
C = runif(10),
D = runif(10),
E = runif(10),
F = runif(10),
G = runif(10),
H = runif(10))
# Print as a table
knitr::kable(df, booktabs = TRUE, format = "latex", longtable = TRUE,
caption = "This is a caption in the margin.")
```
h ttps://stackru.com/images/b5a96ee91c41cbb3a379854b694fd5406ed8d3fe.png