19

I'm using longtable to spread my table over three pages. Unfortunately the caption is also added three times to the list of tables. Is is possible to have it displayed only once?

5
  • 1
    How do you add the caption exactly? Please add minimal working example (MWE) that shows it. I probably use \caption several times. Try to replace it all but the first with \caption*. This might require the caption package. Aug 18, 2011 at 11:59
  • i simply use only one time \caption{My Caption above Table} I'll try to make a MWE. But in fact I have \begin{longtable}{r r} \caption{xxx} ....
    – adnc
    Aug 18, 2011 at 12:02
  • @Martin: \caption* inside longtables is offered by the longtable package itself. So no need for the caption package. (This differs from \caption* inside floating environments, this one is offered by the caption package)
    – user2574
    Aug 18, 2011 at 12:02
  • axel: but this time the caption disappears totally from my toc. I would like to have it displayed only once, not three times. It prints the caption as much as the table takes space in pages here
    – adnc
    Aug 18, 2011 at 12:04
  • 1
    @adnc: Then you used \endhead instead of \endfirsthead
    – user2478
    Aug 18, 2011 at 12:06

3 Answers 3

19

use for the \endfirsthead the default \caption and for \endhead the starred version of \caption.

3
  • 1
    Same here, for the starred version of \caption inside longtables the caption package is not needed.
    – user2574
    Aug 18, 2011 at 12:03
  • did I said something different ... :-))
    – user2478
    Aug 18, 2011 at 12:05
  • 1
    \caption* does not print the table number. \caption[]{…} does print the number but does not make an entry to the list of tables. Jun 7, 2017 at 14:39
10

In case you want a numbered caption on follow-up table pages, use

\caption{<Caption Text>}
\endfirsthead
\caption[]{<Caption Text>}
\endhead

Minimal working example:

\documentclass{article}

\usepackage{longtable}

\renewcommand*{\arraystretch}{5}% just for the example

\begin{document}

\listoftables

\section{foo}

\begin{longtable}{c}
\caption{A table}
\endfirsthead
\caption[]{A table}
\endhead
bar \\
bar \\
bar \\
bar \\
bar \\
bar \\
bar \\
bar \\
\end{longtable}

\end{document}
0

You can also use the \usepackage{tabularx} to solve the problem. The following code will produce a list of tables with a caption added only once.

\documentclass{article}

\usepackage{array} 
\usepackage{multirow} 
\usepackage{textcomp}
\usepackage{changepage} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{booktabs} 
\usepackage{ltablex} 
\usepackage{longtable}

\begin{document}

\listoftables

\begin{tabularx}{1\textwidth}{
        >{\raggedright\arraybackslash}m{2cm}
        >{\raggedright\arraybackslash}m{2.2cm}
        >{\raggedright\arraybackslash}m{4cm}}
    \caption{Table A} \label{tab:Table A} \\
    \toprule
    \textbf{Sample 1} & \textbf{Sample 2} & \textbf{Sample 3} \\
    \midrule
    \endfirsthead
    \caption[]{Table A} \label{Table A} \\
    \toprule
    \textbf{Sample 1} & \textbf{Sample 2} & \textbf{Sample 3} \\
    \midrule
    \endhead
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    3 & 2 & 6 \\
    2 & 6 & 1 \\
    7 & 8 & 3 \\
    \bottomrule
\end{tabularx}
1
  • 1
    Welcome to TeX.SE! Unfortunately; tabularx is not an environment for multi-page tables.
    – CarLaTeX
    Oct 19, 2019 at 22:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .