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?

Marco Daniel
  • 95,681
adnc
  • 1,746
  • 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. – Martin Scharrer Aug 18 '11 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 '11 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) –  Aug 18 '11 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 '11 at 12:04
  • 1
    @adnc: Then you used \endhead instead of \endfirsthead –  Aug 18 '11 at 12:06

3 Answers3

19

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

  • 1
    Same here, for the starred version of \caption inside longtables the caption package is not needed. –  Aug 18 '11 at 12:03
  • did I said something different ... :-)) –  Aug 18 '11 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. – Schweinebacke Jun 07 '17 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}
Moriambar
  • 11,466
lockstep
  • 250,273
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}