I have created a macro to display some multiplication tables. It's implemented with latex3. I have simplified my code, you can use the following as an example:
\documentclass[a4paper,12pt]{article}
\ExplSyntaxOn
\NewDocumentCommand{\Table}{m}{
\clist_set:Nn \l_tmpa_clist {1,2,3,4,5,6,7,8,9,10,12}
\begin{tabular}{|c|c|}
\hline
\clist_map_inline:Nn {\l_tmpa_clist} {
$##1 \cdot #1$ & \fpeval{##1*#1} \ \hline
}
\end{tabular}
}
\ExplSyntaxOff
\begin{document}
\Table{3}
\end{document}
I get:
I don't understand why I get two vertical lines at the bottom of the table. I expect that when all numbers are processed, there must be an horizontal line at the end of the table.
Does somebody have an idea of what's happening here ? Thank you!


Narguments should not be braced so\clist_map_inline:Nn \l_tmpa_clistnot\clist_map_inline:Nn {\l_tmpa_clist}(sometims, as here, it makes no difference, but sometimes it will fail completely) – David Carlisle Sep 22 '22 at 08:14\clist_map_inline:Nnand there are a whole bunch of "scan marks" in the code. Scan marks are largely invisible (i.e. they leave nothing in the typeset text), but they are still there. My guess is that one or more of these cause an new (empty) row to be started in the tabular. – Pieter van Oostrum Sep 22 '22 at 10:36seq, not aboutclist, so I would have to check that it also applies in that case. – Pieter van Oostrum Sep 23 '22 at 10:23