267

I have a table that takes up a full page, but I want it to start on a page that already has some text and then continue onto the next page (i.e. it's ok if the table gets broken up and spans two pages). It is a simple two column table:

\begin{table}[h] \centering \begin{tabular}{| p{.20\textwidth} | p{.80\textwidth} |} \hline foo & bar \\ \hline foo & bar \\ \hline ... \end{tabular} \end{table} 

I guess I need longtable? How do I use it?

2
  • 15
    The longtable package documentation is available on CTAN. It includes one very detailed example. Commented Aug 24, 2011 at 23:30
  • 3
    Changing tabular -> longtable will do the trick. They have perfect comformance afaict. Commented Mar 1, 2021 at 22:25

2 Answers 2

279

There are a few options described in How can I make a table that takes up more than a single page?

I've put a MWE below using the longtable package; I deliberately didn't put the longtable in the table environment so that it wouldn't float, and would show that it breaks across pages.

As described in @Werner's comment, the documentation has a lot of detail.

\documentclass{article} \usepackage{longtable} \usepackage{lipsum} % just for dummy text- not needed for a longtable \begin{document} \lipsum[1] \lipsum[1] \lipsum[1] %\begin{table}[h] %\centering \begin{longtable}{| p{.20\textwidth} | p{.80\textwidth} |} \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline foo & bar \\ \hline \caption{Your caption here} % needs to go inside longtable environment \label{tab:myfirstlongtable} \end{longtable} %\end{table} Table \ref{tab:myfirstlongtable} shows my first longtable. \end{document} 

As a side note, some folks would advocate against using vertical lines in a table- that's a separate discussion though :) Have a look at Why not use vertical lines ('|') in a tabular?

13
  • 4
    @Goaler444 try adding \small just after \begin{longtable} Commented May 4, 2013 at 15:22
  • 24
    Is there any way to keep repeating the table header at each new page? Commented Aug 29, 2014 at 1:50
  • 4
    When I make a table longer than a single page, it still starts the table on the next empty page. Is there a way of getting it to start from where it is in the code? Commented Mar 1, 2016 at 22:26
  • 14
    @DanielBonetti: \begin{longtable}[H]{|m{0.2\linewidth}|m{0.35\linewidth}|m{0.15\linewidth}|m{0.3\linewidth}|} \hline \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4}\\\hline \endfirsthead \hline \textbf{1} & \textbf{2} & \textbf{3} & \textbf{4}\\\hline \endhead Content ... \end{longtable} Commented Sep 5, 2016 at 15:26
  • 1
    Thank you for this response! Commented Aug 18, 2023 at 16:59
17

You may try longtblr environment of tabularray package. It has X column and can be used in two column documents.

 \documentclass{article} \usepackage[a6paper,margin=15mm]{geometry} \usepackage{tabularray} \usepackage{xcolor} \begin{document} The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. \begin{longtblr}[ caption = {Long Title}, label = {tab:test}, ]{ colspec = {|XX[4]|}, rowhead = 1, hlines, row{even} = {gray9}, row{1} = {olive9}, } Head & Head \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ foo & bar \\ \end{longtblr} The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. \end{document} 

enter image description here

3
  • This is good with automatic table title in the second page. By the way, to use "tabularray", maybe you should do something else. For overlef, one way is useful: Menu -> TeX Live Version -> 2021. Commented Oct 31, 2022 at 8:58
  • Very good! How can you change language in the package to finnish? My document language is finnish but the package cannot take it. Commented May 19, 2024 at 20:21
  • Like this \DefTblrTemplate{contfoot-text}{default}{Jatkuu seuraavalla sivulla} \DefTblrTemplate{conthead-text}{default}{(Jatkuu)} Commented May 19, 2024 at 20:24

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.