Пакет R gt: ошибка в латексе ("здесь нет строки в конце")

Я пытаюсь включить таблицу, созданную с помощью функции gt(), в текстовый файл. Я создаю файл.Rnw, затем переплетаю его с помощью knitr и компилирую с помощью pdflatex. Во время компиляции я получаю сообщение об ошибке: "Здесь нет строки для завершения", вызванную новой строкой, вставленной с помощью gt() в заголовок таблицы. Это MWE:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{caption}

\begin{document}
<<setup, include=FALSE>>=
library(knitr)
library(tidyverse)
library(gt)
opts_chunk$set(echo=FALSE)
@

This is a dataframe formatted with the \texttt{gt} package.

<<>>=
tibble(
  group=rep(c("A", "B"), each=5),
  age = c(20, 24, 22, 27, 29, 21, 24, 23, 30, 31)) %>%
    gt %>%
      tab_header(title="Some title")
@

\end{document}

Результирующая таблица в текстовом файле:

\begin{longtable}{lr}
\caption*{
\large Some title\\ 
\small \\ % This newline causes the error
} \\ 
\toprule
group & age \\ 
\midrule
A & 20 \\ 
A & 24 \\ 
A & 22 \\ 
A & 27 \\ 
A & 29 \\ 
B & 21 \\ 
B & 24 \\ 
B & 23 \\ 
B & 30 \\ 
B & 31 \\ 
\bottomrule
\end{longtable}

(Добавил комментарий вручную после плетения)

Из-за новой строки (\\) в подписи получаю: ./mwe.tex:69: LaTeX Error: There's no line here to end. Без этой новой строки PDF-файл создается должным образом. Есть ли способ исправить это, не редактируя файл tex вручную?

1 ответ

Решение

Я обнаружил, что это ошибка gt, возникающая, когда не определен субтитр. Решение заключается в 1) добавлении пробела в качестве подзаголовка или

tab_header(title = md("Data listing from **gtcars**"), subtitle = md("&nbsp;"))

2) вручную отредактировать файл tex, удалив \small \\ в logntable.

Проверьте проблему на https://github.com/rstudio/gt/issues/197.

Другие вопросы по тегам