15

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?

  • 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) – Axel Sommerfeldt 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 – user2478 Aug 18 '11 at 12:06
15

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. – Axel Sommerfeldt Aug 18 '11 at 12:03
  • did I said something different ... :-)) – user2478 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 7 '17 at 14:39
8

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}
  • Welcome to TeX.SE! Unfortunately; tabularx is not an environment for multi-page tables. – CarLaTeX Oct 19 at 22:20

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.