Unzutreffende leere Zeile mit der Longtable- und der Expl3-Map-Funktion

Unzutreffende leere Zeile mit der Longtable- und der Expl3-Map-Funktion

Ich habe einige Daten in einer expl3-Sequenz, die ich in einer Longtable verwende. Alles funktioniert einwandfrei, aber ich erhalte eine zusätzliche leere Zeile nach dem Inline-Map-Body. 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}

Das Ergebnis:

Leere Zeile

Die Absicht besteht darin, dass die letzte Schleife der Inline-Map mit einem endet \hlineund direkt in die Fußzeile übergeht. Ich verwende eine ältere Version von Texlive und PDFlatex (von Ubuntu 18.04), aber dieser Fehler tritt auch bei Overleaf auf, von dem ich annehme, dass es auf dem neuesten Stand ist. Daher gehe ich davon aus, dass der Fehler bei mir liegt.

Antwort1

Verwenden Sie \clist_map_function:nNes, da andernfalls eine Zelle gestartet würde; liefert im Gegenteil \clist_map_function:nNihr vollständiges Ergebnis, bevor alles berücksichtigt wird, was TeX als Start einer Zelle ansieht.

Es ist bekannt, dass Tabellen eine Quelle für Probleme dieser Art sind.

\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}

Bildbeschreibung hier eingeben

verwandte Informationen