我尝试找到此特定案例的解决方案,但未能成功。我想要实现的是在以下类中创建附录:
\documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
在通常的目录中,它只被提及一次,即“附录”。此外,我想为附录的子部分添加一个单独的目录作为“附录列表”。这应该成为附录的第一页。标题应该仍按预期工作,即显示当前附录/章节。“附录”和“附录列表”的名称应该是可更改的(如果可能的话),因为我还不确定哪些名称是理想的。
为了更好地说明这一点,我想要目录中的以下条目:
TOC
Introduction
Chapter
etc.
List of appendices
然后在文档的某个部分:
List of appendices
A
B
etc.
有人知道怎么做吗?谢谢您的帮助/提示。问候
这是一个非常小的 MWE:
\documentclass[a4paper, 12pt, headsepline, smallheadings]{scrreprt}
\begin{document}
\listoffigures
\listoftables
\tableofcontents
\chapter{Start}
Start
\appendix
\chapter{AAA}
\chapter{vvv}
\chapter{ccc}
\end{document}
答案1
这是一个解决方案。
通过这些行,我们创建一个新的“附录列表”(LoA),然后可以通过命令调用它\listofappendices
。请注意,名称是可自定义的。
\newcommand\appendicesname{Appendices}
\newcommand\listofloaname{List of \appendicesname}
\newcommand*{\listofappendices}{\listoftoc{loa}}
以下行用于将 LoA 添加到 ToC:
\setuptoc{loa}{totoc}
以下内容部分引用自回答在 Caramdir 中,我们重新定义了所有分段命令,以便在发出命令时将其添加到 LoA 而不是 ToC \appendix
:
\makeatletter
\g@addto@macro\appendix{%
\let\oldaddcontentsline\addcontentsline
\newcommand\hackedaddcontentsline[3]{\oldaddcontentsline{loa}{#2}{#3}}
\let\oldpart\part
\renewcommand*\part[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldpart{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldchapter\chapter
\renewcommand*\chapter[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldchapter{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldsection\section
\renewcommand*\section[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldsection{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldsubsection\subsection
\renewcommand*\subsection[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldsubsection{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldsubsubsection\subsubsection
\renewcommand*\subsubsection[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldsubsubsection{#1}%
\let\addcontentsline\oldaddcontentsline%
}
}
\makeatother
完整的工作示例(如果您不想在 ToC 中使用 LoT 和 LoF,请listof=totoc
从选项中删除):scrreprt
\documentclass[a4paper, 12pt, headsepline, smallheadings, listof=totoc]{scrreprt}
\newcommand\appendicesname{Appendices}
\newcommand\listofloaname{List of \appendicesname}
\newcommand*{\listofappendices}{\listoftoc{loa}}
\setuptoc{loa}{totoc}
\makeatletter
\g@addto@macro\appendix{%
\let\oldaddcontentsline\addcontentsline
\newcommand\hackedaddcontentsline[3]{\oldaddcontentsline{loa}{#2}{#3}}
\let\oldpart\part
\renewcommand*\part[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldpart{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldchapter\chapter
\renewcommand*\chapter[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldchapter{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldsection\section
\renewcommand*\section[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldsection{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldsubsection\subsection
\renewcommand*\subsection[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldsubsection{#1}%
\let\addcontentsline\oldaddcontentsline%
}
\let\oldsubsubsection\subsubsection
\renewcommand*\subsubsection[1]{%
\let\addcontentsline\hackedaddcontentsline%
\oldsubsubsection{#1}%
\let\addcontentsline\oldaddcontentsline%
}
}
\makeatother
\begin{document}
\listoffigures
\listoftables
\tableofcontents
\chapter{1st chapter}
\section{1st section}
\chapter{2nd chapter}
\section{2nd section}
\listofappendices
\appendix
\chapter{1st appendix chapter}
\section{1st appendix section}
\chapter{2nd appendix chapter}
\section{2nd appendix section}
\end{document}
输出(目录):
输出(LoA):