2

I realise this is perhaps linked to this question, but I feel the answer and comments do not address the problem (or I didn't understand/read intently enough). Wonder if someone can help with a new instance.

I am writing my thesis and have tables that span multiple pages. To break them up I am inserting individual .pdf files using \includegraphics in a table environment. In my document I have a single long data table (call it table 1.2 for now) for which I need the caption to be unique on the first page only i.e. "Table 1.2: this table contains xyz", and the following pages reading "Table (continued)" - see screenshot1 attached.

I've managed to get this to work as intended and reset the caption counter ( \addtocounter{table}{-1}) before each table float to keep the same number of tables in my document and for each new page. This however does NOT help to suppress the extra table entry in the List of Tables (or figure, I also sometimes split the full page figure from its caption using the same method of resetting counter ending up in doubling up of the items in LOF and LOT at the start of the document) - ssee screenshot2 attached.

As you see 1.2 is printed as many times as a table corresponding to the 1.2 counter is detected in the document.

Is there a way to manually suppress these extra caption entries? When I enter nothing in the [ ] following \caption command it simply prints the contents of the caption in the List of Tables.

MWE is included below (note the thesis structure is perhaps a little complex, using \subfiles and the document class is a modified \report class). The table spans three pages (2 landscape, as shown in screenshot1, and 1 portrait) - I've included code for all of them

Any help to correctly break the tables up would be much appreciated. I know of the longtable package but that was unfortunately no use for tables that I have to break across pages sideways (many columns) rather than downwards (many rows).

So I'm a bit stumped and thought it's best trying to ask

\documentclass[a4paper, 12pt, twoside, en]{modifiedreportclass}
\usepackage{booktabs, array, tabularx, ragged2e, tabulary,longtable, threeparttable, threeparttablex, xltabular} # including to show what I have called in the preamble, not necessarily what's necessary to execute the code
\usepackage{pdflscape}
\RequirePackage{tocloft}
\usepackage{graphicx}

#modifications below are included in the .cls file of the document class and as far as I can see are the only modifications of the tocloft defaults \renewcommand{\cfttoctitlefont}{\bfseries\Large} \renewcommand{\cftbeforetoctitleskip}{-2mm} \renewcommand{\cftaftertoctitleskip}{10mm} \renewcommand{\cftbeforeloftitleskip}{2mm} \renewcommand{\cftafterloftitleskip}{5mm} \renewcommand{\cftchapleader}{\cftdotfill{\cftdot}} \renewcommand{\cftsecleader}{\cftdotfill{\cftdot}} \renewcommand{\cftsubsecleader}{\cftdotfill{\cftdot}} \renewcommand{\cftchapaftersnum}{.} \renewcommand{\cftsecaftersnum}{.} \renewcommand{\cftsubsecaftersnum}{.} \setlength{\cftparskip}{-2pt} %\setlength{\cftbeforechapskip}{-1mm} \setlength{\cftbeforechapskip}{1.0em @plus\p@} \setlength\cftparskip{-2pt} \setlength\cftbeforesecskip{0pt} \addtocontents{toc}{\protect\setstretch{1.2}} \renewcommand{\cftchappagefont}{\normalsize} \setlength{\cftfignumwidth}{3 em}

\listoftables \begin{document}

        \begin{landscape}
            \begin{table}[H]
            \centering
            \caption[Eriksfjord whole-rock data summary table]{\label{tab:wholeRKsummary}
                    Eriksfjord sandstone, its fenite and the Illerfissalik I4 intrusion whole-rock data summary; * - I4 unit data from St Andrews and \textcite{Harrison1983}
                    MDL = method detection limit; BVC = Bureau Veritas, Canada; STA = St Andrews; ALS = ALS geochemistry, Loughrea, Ireland; na = not analysed, bdl = below detection limit
                    }
                {\includegraphics[trim=1cm 2.5cm 2cm 2cm, clip, width=0.85\linewidth]{Table(p1).pdf}
                }
                \captionsetup{aboveskip=2pt, belowskip=0pt}
            \end{table}
            \addtocounter{table}{-1}
            \begin{table}[t!]
                \centering
                \caption{\label{tab:x1}
                    \emph{(Continued)}
                    }
                {\includegraphics[trim=1cm 2.5cm 2cm 2cm, clip, width=0.85\linewidth]{Table(p2).pdf}
                }
                    \captionsetup{aboveskip=2pt, belowskip=0pt}
            \end{table}
            \end{landscape}
             \addtocounter{table}{-1}
            \begin{table}[H]
                \centering
                \caption{\label{tab:x2}
                    \emph{(Continued)}
                    }
                {\includegraphics[trim=1cm 3cm 8cm 2cm, clip, width=16cm]{Table(p3).pdf}
                }
                    \captionsetup{aboveskip=2pt, belowskip=0pt}
            \end{table}

\end{document}

Wolfe79
  • 303

1 Answers1

3

It is not entirely clear, what you like to achieve. If you not like to have of some table captions listed in the LoT, than write them as \caption[]{caption text}.

An minimal example (where I didn't interfere in how to correct design of caption), partly based on your document example, is:

\documentclass[a4paper, 12pt, twoside, draft]{report}
\usepackage{ragged2e} 
\usepackage{booktabs, longtable, tabularx, tabulary, threeparttable, threeparttablex, xltabular} \usepackage{pdflscape}
\RequirePackage{tocloft}
\usepackage{graphicx}
\usepackage{caption} % <---
    \captionsetup{aboveskip=2pt, belowskip=0pt} % <---

\begin{document} \listoftables

\begin{landscape} \begin{table}[ht] \centering \caption[Eriksfjord whole-rock data summary table]% {Eriksfjord sandstone, its fenite and the Illerfissalik I4 intrusion whole-rock data summary; * - I4 unit data from St Andrews and %\textcite{Harrison1983} MDL = method detection limit; BVC = Bureau Veritas, Canada; STA = St Andrews; ALS = ALS geochemistry, Loughrea, Ireland; na = not analysed, bdl = below detection limit} \label{tab:wholeRKsummary} \includegraphics[trim=1cm 2.5cm 2cm 2cm, clip, width=0.85\linewidth]{Table(p1).pdf} \end{table}

\begin{table}[ht] \centering \ContinuedFloat % <--- \caption[]{\emph{(Continued)}} % <--- \label{tab:x1} \includegraphics[trim=1cm 2.5cm 2cm 2cm, clip, width=0.85\linewidth]{Table(p2).pdf} \end{table} \end{landscape}

\begin{table}[ht] \centering \ContinuedFloat % <--- \caption[]{\emph{(Continued)}} % <--- \includegraphics[trim=1cm 3cm 8cm 2cm, clip, width=0.85\linewidth]{Table(p3).pdf} \end{table}

\end{document}

which gives the following LoT:

enter image description here

Addendum: Your tables' images can be insert in long table, for example using xltabular. In this case you not need \ContinuedFloat macro (defined in the caption package. Only you need to use \caption[]{<caption text>} in table headers (see MWE below).

If the tables have not the same size (as is expected since they share common caption), you can their individual size define as locally, as is done in above MWE, otherwise use of Gin keys is handy.

\documentclass[a4paper, 12pt, twoside, draft]{report}
\usepackage{graphicx}
\usepackage[skip=1ex, 
            font={footnotesize,sf}, 
            labelfont=bf
            ]{caption}
\usepackage{xltabular}
\usepackage{pdflscape}

\begin{document} \listoftables

\begin{landscape}

\setlength\LTcapwidth{\linewidth}

\setkeys{Gin}{height=0.8\textheight, % at real table image probably is not needed width=\linewidth} \begin{xltabular}{\linewidth}{@{} X @{}} \caption[Eriksfjord whole-rock data summary table] {Eriksfjord sandstone, its fenite and the Illerfissalik I4 intrusion whole-rock data summary;\medskip %
* - I4 unit data from St. Andrews and \cite{Harrison1983} % \textcite MDL: method detection limit; BVC: Bureau Veritas, Canada; STA: St Andrews; ALS: ALS geochemistry, Loughrea, Ireland; na: not analysed, bdl: below detection limit}, \label{tab:wholeRKsummary}\ \endfirsthead \caption[]{Eriksfjord whole-rock data summary table (continued)}\ \endhead \multicolumn{1}{r}{\footnotesize\itshape{Continued on the next page}} \endfoot \endlastfoot \includegraphics{Table(p1).pdf} \ \pagebreak \includegraphics{Table(p2).pdf} \ \pagebreak \includegraphics{Table(p3).pdf} \ \end{xltabular} \end{landscape} \end{document}

enter image description here enter image description here

Sebastiano
  • 54,118
Zarko
  • 296,517
  • I'd like to have that entry for Table 1.2 to be listed only once as it should be. In the MWE I had Table 1.2 split into 3 instances of the table environment, because I wanted it to appear on three individual pages - the first page with a caption as it is supposed to be, the two following pages with the 'Table (continued)' caption. – Wolfe79 Nov 30 '21 at 11:37
  • Ok, I can see what this solution is trying to do - it's the inclusion of \ContinuedFloat % <--- which helps as it suppresses the LoT entries for each table instance apart from the first (the only one that needs to be referenced in LoT with the others just constituting subsequent pages of the table).

    Edit: OK it works as intended now. Many thanks!

    – Wolfe79 Nov 30 '21 at 11:51
  • @Wolfe79, No. \ContinuedFloat preserve caption number from previous figure float. That you have only one record of tables captions in LoT is "guilty" of use\caption[]{`. – Zarko Nov 30 '21 at 11:58
  • Sure. Effect is what's desired though. – Wolfe79 Nov 30 '21 at 12:22
  • @Wolfe79, see addendum in my answer. In it is described more consistent solution of your problem. BTW, I wouldn't insert table as images Rather would write them directly in document. – Zarko Nov 30 '21 at 12:56
  • 1
    @Sebastiano, thank you very much for editing my answer! – Zarko Nov 30 '21 at 13:16
  • I tried xltabular I think and found it took far too long to edit the tables and make the lateral breaks across pages work consistently. I often 30+ columns and some 20-25 rows due to dataset being rather large. For those which I do not need to break I used threeparttable, tabulary or tabular* I'll opt for .PDFs for now and if I have time I'll try to convert it to Latex format. – Wolfe79 Nov 30 '21 at 14:38
  • @Wolfe79, all is up to you. BTW, to my opinion such huge table hasn't sense since they are unreadable. Number of rows at long table is not a problem (table just occupy more pages), but number of columns is critical. More than 30 columns? This means that their width is less than about 8mm ... :-( – Zarko Nov 30 '21 at 14:45
  • Yes, sure, but these long ones are not intended to be read in the main text. They are generally sitting in the Appendix with data to be efficiently extracted straight out of PDF for anyone that doesn't have access to another digital format i.e. .xls file. Hence when table has 30+ columns I need it to break laterally across pages to not squeeze column width too much. Such tables are quite common in natural sciences theses really. The table which I've asked this question about is a summary of such datasets, which happens to span more than 1 page (don't need those often). – Wolfe79 Nov 30 '21 at 14:50
  • 1
    @Wolfe79, you not need to justify to me, why you do anything with your document. I'm not your bos, I will not be evaluator of your work neither be a reader of your document :) – Zarko Nov 30 '21 at 14:55
  • Ofc. Just for clarity. Have a good one ;] – Wolfe79 Nov 30 '21 at 14:57
  • But you're welcome ahahahhah :-) – Sebastiano Nov 30 '21 at 15:06