73

I have a big table which contains hundreds of rows. I want to repeat the top two rows on every page of the table. How can I do it in TeX?

  • This is also a duplicate of this question – Alan Munn Feb 18 '11 at 5:04
  • 7
    @Alan: It's related, but it isn't a duplicate. More of a follow-up question. – Caramdir Feb 18 '11 at 5:21
76

Both the longtable package and the supertabular package can do this. Here's an example using longtable:

\documentclass{article}
\usepackage{longtable}
\begin{document}      
\begin{longtable}{ccc}
\hline
Column 1 & Column 2 & Column 3\\
\hline
\endhead % all the lines above this will be repeated on every page
A & B & C\\
A & B & C\\
... many lines of table ...
\end{longtable}
\end{document}

The same basic idea works with supertabular but the commands for setting the repeated elements across pages is done before the supertabular environment itself:

\documentclass{article}
\usepackage{supertabular}
\begin{document}
\tablehead{%
\hline
Column 1 & Column 2 & Column 3\\
\hline}
\tabletail{\hline}
\begin{supertabular}{ccc}
A & B & C\\
A & B & C\\
\end{supertabular}
\end{document}
  • 6
    I'd like to mention that I tried this solution with a longtabu table and it worked. – Jonathan Komar Apr 11 '13 at 10:23
  • This also works with pgfplotstable and tabularx – MJeffryes Jul 26 '18 at 15:00
  • How can I do this in supertabular? – Chamila Wijayarathna May 6 at 4:40
  • @ChamilaWijayarathna I've added a supertabular example. – Alan Munn May 6 at 14:29
38

A solution with continued headers and footers

\documentclass{article}
\usepackage{longtable}
\begin{document}      

\begin{longtable}{ccc}
\caption{My caption for this table\label{foo}}\\\hline
Column 1 & Column 2 & Column 3\\\hline
\endfirsthead
\multicolumn{3}{@{}l}{\ldots continued}\\\hline
Column 1 & Column 2 & Column 3\\\hline
\endhead % all the lines above this will be repeated on every page
\hline
\multicolumn{3}{r@{}}{continued \ldots}\\
\endfoot
\hline
\endlastfoot
A & B & C\\     A & B & C\\
A & B & C\\     A & B & C\\
A & B & C\\ \newpage
A & B & C\\     A & B & C\\
A & B & C\\     A & B & C\\
\end{longtable}
\end{document}

page1page2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.