附录单独目录

附录单独目录

我们正在编写一本书(类scrbook),我们希望有两个单独的目录:一个位于文档开头,用于显示书的实际“内容”,另一个位于附录第一章开始之前,仅包含附录的章节和部分。附录本身不应出现在主目录中。(背景:书的内容将打印出来,而附录将仅以 PDF 文件的形式在线提供)

类似这样的:

Table of Contents
1   First chapter .... 1
1.1 A section ........ 2

First chapter
text text text

A section
text text text

Appendix
1   Something ....... 5
1.1 Specific ........ 6

Appendix A
Something
text text text

A.1 Specific
text text text

我对“appendix”、“titletoc”、“tocloft”等不同包提供的可能性有点困惑……

有人知道如何实现这一点吗?

答案1

这是一个使用etoc包的解决方案

\documentclass{scrbook}
\usepackage{etoc}

\begin{document}
\etocdepthtag.toc{mtchapter}
\etocsettagdepth{mtchapter}{subsection}
\etocsettagdepth{mtappendix}{none}
\tableofcontents‎‎
\chapter{First chapter}
text text text

\section{A section}
text text text

\subsection{A subsection}
text text text

\appendix

\etocdepthtag.toc{mtappendix}
\etocsettagdepth{mtchapter}{none}
\etocsettagdepth{mtappendix}{subsection}
\tableofcontents‎‎
\chapter{Appendix A}
text text text

\section{Specific}
text text text

\subsection{A subsection}
text text text

\end{document}

答案2

更新 这是一个无需任何附加包的建议,但它需要 KOMA-Script 版本 3.23 或更新版本。

\documentclass[appendixprefix]{scrbook}[2017/04/13]

\DeclareNewTOC[%
  owner=\jobname,
  listname={\contentsname~(\appendixname)},% title of the appendix ToC
]{atoc}

\makeatletter
\newcommand*\appendixwithtoc{%
  \appendix
  \renewcommand*{\ext@toc}{atoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{\hypersetup{bookmarkstype=atoc}}%
  \listofatocs
}
\makeatother

\usepackage{blindtext}
\begin{document}
\tableofcontents
\chapter{Chapter I}
\section{Section I}
\chapter{Chapter II}

\appendixwithtoc
\chapter{Annex I}
\section{Section of Annex I}
\chapter{Annex II}
\end{document}

原始答案

以下是使用 KOMA-Script 包的另一个建议scrwfile

\documentclass[appendixprefix]{scrbook}
%
\usepackage{scrwfile}
\TOCclone[\contentsname~(\appendixname)]{toc}{atoc}
\newcommand\StartAppendixEntries{}
\AfterTOCHead[toc]{%
  \renewcommand\StartAppendixEntries{\value{tocdepth}=-10000\relax}%
}
\AfterTOCHead[atoc]{%
  \edef\maintocdepth{\the\value{tocdepth}}%
  \value{tocdepth}=-10000\relax%
  \renewcommand\StartAppendixEntries{\value{tocdepth}=\maintocdepth\relax}%
}
\newcommand*\appendixwithtoc{%
  \cleardoublepage
  \appendix
  \addtocontents{toc}{\protect\StartAppendixEntries}
  \listofatoc
}
%
\usepackage{blindtext}
\begin{document}
\tableofcontents
\chapter{Chapter I}
\section{Section I}
\chapter{Chapter II}

\appendixwithtoc
\chapter{Annex I}
\section{Section of Annex I}
\chapter{Annex II}
\end{document}

在此处输入图片描述

在此处输入图片描述

相关内容