在实际应用中,通常需要排版长的表格,前文我们分享了LaTeX技巧349:跨页(多页)表格制作技巧,有时,我们遇到比较瘦长的表格,我们跨页的同时希望表格能够分栏排版,这样可以充分利用页面的空间,例如下图的样式: multicoltab20151120003206 longtable本身是浮动环境无法直接在multicol环境中使用,那么我们就选用supertabular宏包,但是仍然需要用代码进行修正下。

\newcount\n
\n=0
\def\tablebody{}
\makeatletter
\loop\ifnum\n<100
        \advance\n by1
        \protected@edef\tablebody{\tablebody
                \textbf{\number\n.}& shortText
                \tabularnewline
        }
\repeat
\makeatother

\begin{document}
\begin{multicols*}{2}
\let\mcnewpage=\newpage
\makeatletter
\renewcommand\newpage{%
        \if@firstcolumn
                \hrule width\linewidth height0pt
                \columnbreak
        \else
                \mcnewpage
        \fi
}
\makeatother
这样我们代码可以编写出上图的效果。为了更加美观,我们增加\tabletail{\hline}\tablehead{\hline} 这样效果变成如下图: multicoltab20151120003647

下载区

样例下载:multicoltab 选自:http://tex.stackexchange.com/questions/105717/trick-supertabular-into-multicols-in-new-command