Я использовал предыдущий подход для создания отдельного списка приложений, который также отображается в оглавлении. Описано здесь:Приложение в scrreprt - Отдельная таблица приложений, но упомянутая в исходном оглавлении
Однако я сделал некоторые изменения, чтобы новые записи в списке приложений создавались, когда команды таблиц/рисунков используются вместо команд глав или разделов. Это работает отлично, но я не могу включить подписи таблиц или рисунков в новый список приложений. Пока отображается только, например, "Table S1".
Проблема в том, что в следующей строке отсутствует команда вызова субтитров:
\newcommand*{\thackedtableaddcontentsline}[3]{\oldaddcontentsline{loa}{#2}{\tableformat~~}}
Кто-нибудь знает, как с этим справиться? Спасибо за любую помощь или предложения. С уважением
Вот полный код:
\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
Я не уверен, что понимаю, что вы хотите сделать. Но вот предложение с использованием пакета, scrwfile
который является частью пакета KOMA-Script.
\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}
Результат