0

I used a previous approach to create a separate list of appendices that also shows up in the TOC. Described here: Appendix in scrreprt - Separate table of appendices but mentioned in original TOC

However, I did some modifications so that new entries into the appendix list are created when the table/figure commands are used instead of chapter or section commands. This works fine, but I`m not able to include the table or figure captions into the new list of appendices. So far, only e.g. "Table S1" is displayed.

enter image description here

The problem is that I`m missing the command to call the captions in the following line:

\newcommand*{\thackedtableaddcontentsline}[3]{\oldaddcontentsline{loa}{#2}{\tableformat~~}}

Does anyone know how to handle this? Thanks for any helps or suggestions. Regards

Here is the full code:

\documentclass[listof=totoc, bibliography=totoc,chapterprefix=true,appendixprefix=false]{scrreprt}

\usepackage[english]{babel}
\usepackage[T1]{fontenc}          
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{etoolbox}

% Basic changes to directories
% Continuous numbering 
\usepackage{chngcntr}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}

% "Table/Figure..."
\KOMAoption{listof}{entryprefix}
\newcaptionname{english}{\listoflotentryname}{Table}
\newcaptionname{english}{\listoflofentryname}{Figure}

%% --- List of Appendices ---

% Set the name for the list of appendices (LoA) that can be recalled through the command \listofappendices
\newcommand\appendicesname{Appendices}
\newcommand\listofloaname{List of \appendicesname}
\newcommand*{\listofappendices}{\listoftoc{loa}}

% Redefine LOA 
\preto\listofappendices{%
  \cleardoublepage
  \addtocontents{loa}{~\hfill\textbf{Page}\vspace{2ex}\par}%
}

% Add LoA to ToC
\setuptoc{loa}{totoc}   

%% Redefine all Table or Figure commands so to be added to the LoA instead of to the LOT or LOF, when issuing the \appendix command
\makeatletter
\g@addto@macro\appendix{%
\renewcommand*{\tableformat}{\tablename~S\arabic{table}} 
\renewcommand*{\figureformat}{\figurename~S\arabic{figure}}

\let\oldaddcontentsline\addcontentsline
\newcommand*{\thackedaddcontentsline}[3]{\oldaddcontentsline{loa}{#2}{#3}}
\newcommand*{\thackedtableaddcontentsline}[3]{\oldaddcontentsline{loa}{#2}{\tableformat~~}}

\let\oldaddcontentsline\addcontentsline
\newcommand*{\fhackedaddcontentsline}[3]{\oldaddcontentsline{loa}{#2}{#3}}
\newcommand*{\fhackedtableaddcontentsline}[3]{\oldaddcontentsline{loa}{#2}{\figureformat~~}}

% Redefine Lable for Tables
\let\oldtable\table
\renewcommand*\table{%
\let\addcontentsline\thackedtableaddcontentsline%
\oldtable%
}
\let\oldendtable\endtable
\renewcommand*\endtable{%
\oldendtable%
\let\addcontentsline\oldaddcontentsline%
}
% redefine Lable for Figures
\let\oldfigure\figure
\renewcommand*\figure{%
\let\addcontentsline\fhackedtableaddcontentsline%
\oldfigure%
}
\let\oldendfigure\endfigure
\renewcommand*\endfigure{%
\oldendfigure%
\let\addcontentsline\oldaddcontentsline%
}

}
\makeatother 

% - main document
\begin{document}
\tableofcontents
\listoftables
\listoffigures
\listofappendices
\cleardoublepage

\chapter{Introduction}
\section{Section title}

\begin{table}[!hbt]
\caption[Short caption for LOT]{Long caption in the main text} 
\vspace{1ex}\centering\begin{tabular}{|l|l|}
\hline
Formen & Städte\\
\hline
\hline
Quadrat &  Bunkenstedt \\
\hline
Dreieck &  Laggenbeck\\
\hline
Kreis &  Peine\\
\hline
Raute & Wakaluba \\
\hline
\end{tabular}
\label{table1}
\vspace{2ex}\end{table}

\chapter{Results}
\section{Section title}

\newpage
\begin{figure}[h]
 \centering
 \noindent\includegraphics[width=3cm]{example-image} 
 \caption{Example figure}
 \label{figure1}
\end{figure} 

%% - Appendix 
\cleardoublepage
\appendix

%Reset Figure/Table numbering
\counterwithin{figure}{section}
\counterwithin{table}{section}

\addchap{Appendix}  
\refstepcounter{chapter}
\section*{Supplemental Tables}

\begin{table}[!hbt]
\caption[Caption of Supplemental Table not pictured in LOA]{Long caption in the main text} 
\vspace{1ex}\centering\begin{tabular}{|l|l|}
\hline
Formen & Städte\\
\hline
\hline
Quadrat &  Bunkenstedt \\
\hline
Dreieck &  Laggenbeck\\
\hline
Kreis &  Peine\\
\hline
Raute & Wakaluba \\
\hline
\end{tabular}
\label{Appendix1}
\vspace{2ex}\end{table}

\newpage
\section*{Supplemental Figures}

\begin{figure}[h]
 \centering
 \noindent\includegraphics[width=3cm]{example-image} 
 \caption[Caption of Supplemental Figure not pictured in LOA]{Long caption in the main text}
 \label{Appendix2}
\end{figure}

\end{document}

1 Answer 1

1

I am not sure if I understand what you want to do. But here is a suggestion using package scrwfile that is part of the KOMA-Script bundle.

\documentclass[listof=totoc, bibliography=totoc,chapterprefix=true,appendixprefix=false,
  listof=entryprefix,
  english
]{scrreprt}

\usepackage{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{chngcntr}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}

% caption names
\newcaptionname{english}{\listoflotaentryname}{\listoflotentryname}
\newcaptionname{english}{\listoflofaentryname}{\listoflofentryname}
\newcaptionname{english}{\appendicesname}{Appendices}
\newcaptionname{english}{\appendixtablename}{Supplemental Tables}
\newcaptionname{english}{\appendixfigurename}{Supplemental Figures}

\usepackage{scrwfile}
\TOCclone[\protect\appendixtablename]{lot}{lota}
\removefromtoclist[TOCclone]{lota}
\addtotoclist[float]{lota}
\setuptoc{lota}{leveldown}
\unsettoc{lota}{totoc}
\addtocontents{lota}{\protect\value{tocdepth}=0}

\TOCclone[\protect\appendixfigurename]{lof}{lofa}
\removefromtoclist[TOCclone]{lofa}
\addtotoclist[float]{lofa}
\setuptoc{lofa}{leveldown}
\unsettoc{lofa}{totoc}
\addtocontents{lofa}{\protect\value{tocdepth}=0}

\usepackage{xpatch}
\xapptocmd{\appendix}{%
  \addchap{\appendicesname}
  \setcounter{figure}{0}
  \setcounter{table}{0}
  \pretocmd\thetable{S}{}{}
  \pretocmd\thefigure{S}{}{}
  \addtocontents{lot}{\protect\value{tocdepth}=0}% note that this is cloned in lota
  \addtocontents{lof}{\protect\value{tocdepth}=0}% note that this is cloned in lofa
  \addtocontents{lota}{\protect\value{tocdepth}=1}%
  \addtocontents{lofa}{\protect\value{tocdepth}=1}%
}{}{}

\usepackage{blindtext}% dummy text
\begin{document}
\tableofcontents
\listoftables
\listoffigures
\addchap{List of \appendicesname}
\listoflota
\listoflofa

\chapter{Introduction}
\section{Section title}
\begin{table}[ht]
  \centering\rule{5cm}{1cm}
  \caption[Short caption for LOT]{Long caption in the main text} 
\end{table}
\Blindtext

\chapter{Results}
\section{Section title}
\begin{figure}[ht]
  \centering\rule{5cm}{1cm}
  \caption{Example figure}
\end{figure} 
\Blindtext
\begin{figure}[ht]
  \centering\rule{5cm}{1cm}
  \caption{Example figure}
\end{figure}
\begin{table}[ht]
  \centering\rule{5cm}{1cm}
  \caption[Short caption for LOT]{Long caption in the main text} 
\end{table}

%% - Appendix 
\appendix
\addsec*{\appendixtablename}
\begin{table}[!hbt]
  \centering\rule{5cm}{1cm}
  \caption[Caption of Supplemental Table not pictured in LOA]{Long caption in the main text} 
\end{table}

\clearpage
\addsec*{\appendixfigurename}
\begin{figure}[!hbt]
  \centering\rule{5cm}{1cm}
  \caption[Caption of Supplemental Figure not pictured in LOA]{Long caption in the main text}
\end{figure}
\begin{figure}[!hbt]
  \centering\rule{5cm}{1cm}
  \caption[Caption of Supplemental Figure not pictured in LOA]{Long caption in the main text}
\end{figure}
\end{document}

Result

enter image description here

2
  • Great, this is what I intended to do. Many thanks for your help! I assume I can ignore the warnings 'loca/lota are already under control of toc basic'? Just for clarification: In contrast to the previous approach we are cloning the LOT and LOF, right? This means I also dont have to worry that e.g. longtables are not automatically included in the LOA?
    – Seb48
    Feb 12, 2016 at 14:17
  • @Seb48 I have changed the code. So now there is only the warning regarding the alpha status of scrwfile. And yes, longtables in appendix are also automatically in lota.
    – esdd
    Feb 12, 2016 at 20:56

You must log in to answer this question.

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