Eu tenho alguns dados em uma sequência expl3, que estou usando em uma tabela longa. Tudo funciona bem, mas estou recebendo uma linha em branco adicional após o corpo do mapa embutido. MWE:
\documentclass{article}
\usepackage{expl3}
\usepackage{xparse}
\usepackage{longtable}
\ExplSyntaxOn
\NewDocumentCommand{\printData}{}
{
\begin{longtable}{l}
\hline
Minimal~Working~Example \\
\hline
\endhead
End \\
\hline
\endfoot
\clist_map_inline:nn
{comma,separated,list,of,data,also,fails,with,seq}
{
##1 \\
\hline
}
% Uncomment to fill the blank row
% Mystery row here! \\ \hline
\end{longtable}
}
\ExplSyntaxOff
\begin{document}
\printData
\end{document}
O que produz:
A intenção é que o loop final do mapa embutido feche com um \hline
, indo direto para o rodapé. Estou em uma versão mais antiga do texlive e pdflatex (do Ubuntu 18.04), mas esse erro também está presente no verso, que presumo estar atualizado, então presumo que o erro seja meu.
Responder1
Caso \clist_map_function:nN
contrário, uma célula seria iniciada; pelo contrário, \clist_map_function:nN
entrega seu resultado completo antes que qualquer coisa que o TeX considere como o início de uma célula seja considerada.
As tabelas são bem conhecidas por serem uma fonte de problemas deste tipo.
\documentclass{article}
\usepackage{expl3}
\usepackage{xparse}
\usepackage{longtable}
\ExplSyntaxOn
\NewDocumentCommand{\printData}{}
{
\begin{longtable}{l}
\hline
Minimal~Working~Example \\
\hline
\endhead
End \\
\hline
\endfoot
\clist_map_function:nN {comma,separated,list,of,data} \aejh_entry:n
\end{longtable}
}
\cs_new_protected:Nn \aejh_entry:n { #1 \\ \hline }
\ExplSyntaxOff
\begin{document}
\printData
\end{document}