# Is there a multicolumn-safe way to get a long table to start on the current page?

I am using the mpsupertabular environment of supertabular, and it starts a new page instead of rendering as much as will fit on the current page and splitting. The longtable package looked like it might be a viable alternative, but it doesn't support multicolumn. Is there a a way to markup a long table, with footnotes, such that the first segment will be split to fit on the current page?

\documentclass{article}
\usepackage{supertabular}

\makeatletter
\newcommand*{\mpfootnotemark}{%
\@ifnextchar[\@xmpfootnotemark{%
\stepcounter{mpfootnote}%
\protected@xdef\@thefnmark{\thempfootnote}%
\@footnotemark
}%
}
\def\@xmpfootnotemark[#1]{%
\begingroup
\c@mpfootnote #1\relax
\unrestored@protected@xdef\@thefnmark{\thempfootnote}%
\endgroup
\@footnotemark
}
\makeatother

\begin{document}

\section {Introduction}
LaTeX is very much a presentation language; it does not provide
much support for semantic markup. Changing the rendering of a
mathematical construct to conform to the style of a particular journal
requires changing the markup of the text. The macros described here
encapsulate stylistic conventions so that only the definitions need to
be changed in order to change the style throughout the document. In
five macros there are global options that can be changed by a setup
command without actually modifying the macro definitions.

\section {Greek letters}
\label{sec:Greek}
The standard LaTeX fonts are missing certain upper case Greek letters.
If you are using a font that has the missing letters, change these
definitions to use them.

\label{sec:Greek}
\bottomcaption{Upper Case Greek Letter Macros}

{
\hline
Macro & Definition & Meaning \\
\hline
% & & \\
%  \hline
}

{
\hline
\multicolumn{3}{|c|}{\small\sl continued from previous page} \\
\hline
Macro & Definition & Meaning \\
\hline
%  & & \\
%  \hline
}

\tabletail%
{
\hline
\multicolumn{3}{|c|}{\small\sl continued on next page} \\
\hline
}

\tablelasttail%
{
\hline
}

\begin{supertabular}{| l | l | l |}
\label{ref:Alpha}
{\textbackslash}Alpha & Alpha & Upper case Alpha \\
\hline
\label{ref:Beta}
{\textbackslash}Beta & Beta & Upper case Beta \\
\hline
\label{ref:Epsilon}
{\textbackslash}Epsilon & E & Upper case Epsilon \\
\hline
\label{ref:Zeta}
{\textbackslash}Zeta & Z & Upper case Zeta \\
\hline
\label{ref:Eta}
{\textbackslash}Eta & H & Upper case Eta \\
\hline
\label{ref:Iota}
{\textbackslash}Iota & I & Upper case Iota \\
\hline
\label{ref:Kappa}
{\textbackslash}Kappa & K & Upper case Kappa \\
\hline
\label{ref:Mu}
{\textbackslash}Mu & M & Upper case Mu \\
\hline
\label{ref:Nu}
{\textbackslash}Nu & N & Upper case Nu \\
\hline
\label{ref:Omicron}
{\textbackslash}Omicron & O & Upper case Omicron \\
\hline
\label{ref:Rho}
{\textbackslash}Rho & P & Upper case Rho \\
\hline
\label{ref:Tau}
{\textbackslash}Tau & T & Upper case Tau \\
\hline
\label{ref:Chi}
{\textbackslash}Chi & X & Upper case Chi \\
\hline
\end{supertabular}

\section {References}
\label{sec:References}
These macros provide links within a document. If the referenced key
has a description, they will render it within parentheses.  They rely on
the cleveref package.  Change them to match your house style.

\bottomcaption{Internal references}
{
\hline
Macro & Example & Rendering \\
\hline
%  & & \\
%  \hline
}

{
\hline
\multicolumn{3}{|c|}{\small\sl continued from previous page} \\
\hline
Macro & Example & Rendering \\
\hline
%  & & \\
%  \hline
}

\tabletail%
{
\hline
\multicolumn{3}{|c|}{\small\sl continued on next page} \\
\hline
}

\tablelasttail%
{
\hline
}

\begin{mpsupertabular}[t]{| l | l | p{2.8in} |}
{\textbackslash}fullcref & {\textbackslash}fullcref\{sec:Greek\} & fullcref{sec:Greek} \\
\hline
{\textbackslash}pagecref & {\textbackslash}pagecref\{ref:Eta\} & pagecref{ref:Eta} \\
\hline
{\textbackslash}Pagecref & {\textbackslash}Pagecref\{ref:Eta\} & Pagecref{ref:Eta} \\
\end{mpsupertabular}

\section {Name styles}
\label{sec:NameStyles}
These macros set the rendering of names, e.g.,
{\textbackslash}catseqname\{A\} will set A in bold Caligraphic.
Change these to match your house style.

\bottomcaption{Name styles}
{
\hline
Macro & Definition & Meaning \\
\hline
%  & & \\
%  \hline
}

{
\hline
\multicolumn{3}{|c|}{\small\sl continued from previous page} \\
\hline
Macro & Definition & Meaning \\
\hline
%  & & \\
%  \hline
}

\tabletail%
{
\hline
\multicolumn{3}{|c|}{\small\sl continued on next page} \\
\hline
}

\tablelasttail%
{
\hline
}

\begin{mpsupertabular}[t]{| l | l | p{2.9in} |}
{\textbackslash}catname\{C\} & $catname{C}$ & Name of category \\
\hline
{\textbackslash}catseqname\{C\} & $catseqname{C}$ & Name of category sequence \\
\hline
{\textbackslash}funcname\{f\} & $funcname{f}$ & Name of function \\
\hline
{\textbackslash}funcseqname\{f\} & $funcseqname{f}$ & Name of function sequence or tuple \\
\hline
{\textbackslash}seqname\{S\} & $seqname{S}$ & Name of sequence, set or tuple \\
\hline
{\textbackslash}topname\{T\} & $topname{T}$ & Name of topology \\
\hline
\end{mpsupertabular}

\end{document}

• longtable supports \multicolumn just as in a standard tabular perhaps you were thinking of its lack of support for two-column documents? – David Carlisle Sep 18 '17 at 21:54
• Possibly. In general I don't have control over whether paper I submit will be set in one column or two; the editors would normally revise my TeX markup to match their house style. – shmuel Sep 19 '17 at 17:44
• you probably need to clarify your question and possibly change the example, the example as posted could be switched to longtable with minimal changes but it's a single column document despite your references to multicolum in the question, by multicolumn do you mean the standard [twocolumn] class option or the multicol package these are quite different internally so any required table support would be completely different. – David Carlisle Sep 19 '17 at 19:27
• The editors could potentially add multicol with the [twocolumn] option. – shmuel Sep 20 '17 at 20:54
• I suspect that the only reasonable solution given those constraints is not to use tables that break over multiple columns. the required code to make a multi-column table environment that worked in one column, or with standard twocolumn or with multicolumn would be far too much code to submit as part of a journal submission even if someone worked out what to do, probably several hundred lines, and redefining core parts of latex, and quite likely breaking any journal submission requirements which typically require you not to redefine core commands. – David Carlisle Sep 20 '17 at 21:03