如何仅在目录中显示 \addcontentsline 单词

如何仅在目录中显示 \addcontentsline 单词

我只需要在目录中显示学生姓名,例如通过使用 \addcontentsline{toc}{section}{name}。但是,有章节、小节和段落,因此会列出章节。但是没有章节。有没有办法删除目录中除通过 \addcontentsline{.}{.}{.} 添加的内容之外的所有内容?

由于没有章节,我尝试了以下方法来删除章节及其以下部分,然后将 \addcontentsline 的内容挂到章节环境中:

\setcounter{tocdepth}{0}
\tableofcontents

并在文中使用:

\addcontentsline{toc}{chapter}{name}

下面是结果(但没有效果):

在此处输入图片描述

答案1

目前尚不清楚您打算如何使用\addcontentsline,但您可以做这样的事情。

\documentclass{article}

\usepackage{etoc}

\etocsetlevel{student}{6}

\newcommand\studentlist {%
  \begingroup
  \etocsetlevel {student}{-1}%
  \etocsetnexttocdepth {student}%
  \etocsetlevel {part}{0}% make parts invisible
  \etocsetstyle {student}
                {}
                {\noindent\textbf{\etocname}\nobreak\hrulefill page \etocpage\par}
                {}
                {}%
  \etocsettocstyle{\section*{\Large\bfseries List of students}}{}%
  \tableofcontents
  \endgroup
}

\begin{document}

\tableofcontents

\studentlist

\part {One}

\section {foo}

\addcontentsline {toc}{student}{John Doe}
\addcontentsline {toc}{student}{Andrew Doe}
\addcontentsline {toc}{student}{Emily Doe}


\section {bar}

\addcontentsline {toc}{student}{Hillary Doe}
\addcontentsline {toc}{student}{Chelsea Doe}
\addcontentsline {toc}{student}{Marie Doe}

\end{document}

在此处输入图片描述

更多信息请参阅埃托克手动的Arbitrary “Lists Of...”, \etoctoccontentsline

相关内容