Tengo algunos datos en una secuencia expl3, que estoy usando en una tabla larga. Todo funciona bien, pero aparece una fila en blanco adicional después del cuerpo del mapa en línea. 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}
Que produce:
La intención es que el bucle final del mapa en línea se cierre con un \hline
, que vaya directamente al pie de página. Estoy en una versión anterior de texlive y pdflatex (de Ubuntu 18.04), pero este error también está presente al dorso, que supongo que está actualizado, por lo que supongo que el error es mío.
Respuesta1
De \clist_map_function:nN
lo contrario, se iniciará una celda; por el contrario, \clist_map_function:nN
entrega su resultado completo antes de que se considere cualquier cosa que TeX tome como inicio de una celda.
Es bien sabido que las tablas son una fuente de problemas de este 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}