In this MWE, supertabular breaks the page (or column, if one is using twocolumn) early. In fact, the first page holds only 5 lines, while the second holds 7.
\documentclass[twocolumn]{article}
\usepackage[paperheight=2in]{geometry}
\usepackage{supertabular}
\begin{document}
\begin{supertabular}{p{3mm}}
1\\ 2( 3\\ 4( 5\\
1\\ 2\\ 3\\ 4\\ 5\\ 6\\ 7\\
\end{supertabular}
\end{document}
I thought his may have something to do with the presence of the parentheses, but I can reproduce a less severe issue (6 lines vs. 7) without them as well:
\documentclass[twocolumn]{article}
\usepackage[paperheight=2in]{geometry}
\usepackage{supertabular}
\begin{document}
\begin{supertabular}{p{1.7mm}}
1 2\\ 3 4\\ 5 6\\
1\\ 2\\ 3\\ 4\\ 5\\ 6\\ 7\\
\end{supertabular}
\end{document}
In my document, I can even reproduce the issue without any parentheses or line breaks in cells. That is a bit harder to reproduce as an MWE, however.
I have tried the approach described in Prevent xtab breaking table too soon and Prevent supertabular* from breaking too early without success.
Edit: Here's another example not involving line breaks in cells, but a line break in the \tablehead:
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{supertabular}
\def\heads{Head Head Head Head Head Head }
\edef\mycont{\heads\heads\heads\heads\heads\heads\heads}
\tablehead{\multicolumn{1}{p{\dimexpr \columnwidth - 12pt}}{\mycont}\\}
\begin{document}
\lipsum[1-2]
\begin{supertabular}{p{1cm}}
1\2\3\4\5\6\7\8\9\0\
1\2\3\4\5\6\7\8\9\0\
1\2\3\4\5\6\7\8\9\0\
1\2\3\4\5\6\7\8\9\0\
\end{supertabular}
\end{document}
Here's one using \tablefirsthead (in this case, it seems the second column is long, rather than the first too short - but they should have the same length anywy, and I don't get a box warning, either):
\documentclass[twocolumn]{article}
\usepackage{supertabular}
\tablefirsthead{}
\tablehead{Continued\\}
\begin{document}
\begin{supertabular}{p{1cm}}
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
\end{supertabular}
\end{document}
And here's one using \tablecaption:
\documentclass[twocolumn]{article}
\usepackage{supertabular}
\tablecaption{Caption}
\begin{document}
\begin{supertabular}{p{1cm}}
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
\end{supertabular}
\end{document}
Edit 2: I also found Too large bottom margin with xtab (or supertabular) and Long tables (spanning multiple pages), put side by side and tried their solutions.
I need twocolumn, so longtable won't work; and the best solution for the first link is even worse:
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{xtab}
\usepackage[nofoot]{geometry}
\tablefirsthead{}
\tablehead{H\\}
\begin{document}
\begin{xtabular}{p{1cm}}
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
1\\2\\3\\4\\5\\6\\7\\8\\9\\0\\
\end{xtabular}
\end{document}
I think my summary question is: is this fixable at all, or should I refrain from using supertabular/xtab if I want my tables to break correctly?






supertabulardecides to issue a page break based on a very disputable heuristic for evaluating the space taken so far. Possiblyxtabis better, but I'm not sure. – egreg Jan 28 '21 at 10:02