具有 longtable 和 expl3 映射函數的假空白行

具有 longtable 和 expl3 映射函數的假空白行

我在 expl3 序列中有一些數據,我在長表中使用它。一切正常,但我在內聯地圖正文之後得到了一個額外的空白行。微量元素:

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

其產生:

空白行

目的是讓內嵌地圖的最後一個循環以 結束\hline,直接進入頁腳。我使用的是舊版的 texlive 和 pdflatex (來自 Ubuntu 18.04),但這個錯誤也出現在背頁上,我假設它是最新的,所以我認為這個錯誤是我的。

答案1

否則\clist_map_function:nN會啟動一個單元格;相反,在\clist_map_function:nNTeX 考慮將其作為單元格開始的任何內容之前就提供完整的結果。

眾所周知,表格是此類問題的根源。

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

在此輸入影像描述

相關內容