在 tocloft 包的列表中包含章节编号

在 tocloft 包的列表中包含章节编号

我想在我的之后包含一个附录列表ToC,在某种程度上我已经管理好了,使用以下代码:

\usepackage[titles]{tocloft}
\usepackage{tocloft}

\newcommand{\listappendicesname}{Appendices}
\newlistof{appendices}{apc}{\listappendicesname}
\newcommand{\appendices}[1]{\addcontentsline{apc}{appendices}{#1}}
\parindent0mm

并使用命令

\listofappendices

在我ToC和之后

\appendices{*name of appendix*}

在我想要包含的特定附录部分下。

问题是,在我的文本中,附录编号为 A.1、A.2 等,但在我的tocloft列表中,它们仅显示为“附录名称”。

有什么方法可以将章节编号添加到我的列表中吗?

答案1

只要\addcontentsline{...}{...}{#1}使用 ,就不会有编号。通常的方法是使用\addcontentsline{...}{...}{\theappendices~#1},即在标题前打印附录编号。

我希望该appendix包也不会被使用,否则会与环境发生冲突appendices

定义的方式\appendices(在 OP 中)是不完整的,它既不会在文本中打印标题,也不会appendices通过递增使用计数器。由于很可能会有对相关附录部分的引用,因此我决定使用\refstepcounter{appendices}

只是\section*{#1 \theappendices}为了方便,可以随意用其他字体“视觉效果”代替。

也可以使用\parindent=0em而不是\parindent=0mm

\documentclass{book}

\usepackage[titles]{tocloft}
\usepackage{tocloft}

\newcommand{\listappendicesname}{Appendices}
\newlistof{appendices}{apc}{\listappendicesname}
\newcommand{\appendices}[1]{%
  \refstepcounter{appendices}%
  \section*{#1 \theappendices}%
  \addcontentsline{apc}{appendices}{\theappendices~ #1}%
}

\usepackage{blindtext}

\parindent=0em

\begin{document}
\tableofcontents
\listofappendices

\blinddocument
\appendices{Foo One}
\appendices{Foo Two}
\end{document}

在此处输入图片描述

相关内容