addtocontents 和 minitoc

addtocontents 和 minitoc

如同如何向目录添加描述,我想为目录中显示的部分添加简短描述。不幸的是,这\addtocontents似乎不适用于我想使用的 minitoc。这是一个最小示例:

\documentclass{book}
\usepackage{minitoc}

\begin{document}
\dominitoc
\tableofcontents

\chapter{First Chapter}
\minitoc

\section{First Section}
\addtocontents{toc}{\noindent short description of the first section}
\addcontentsline{toc}{section}{this would work but it adds the page number and dots (which is unwanted)}

\section{Second Section}
\addtocontents{toc}{\noindent short description of the second section}

\end{document}

它创建了正确的输出,\tableofcontents但缺少简短的描述\minitoc正常总有机碳米尼托克TOC

使用\addcontentsline而不是\addtocontents作品(见示例),但带有点和页码的格式是不需要的。有没有办法将章节/小节的简短描述放入 生成的目录中minitoc

答案1

\addcontentsline通过使用 titletoc 和 分别代替 minitoc 和解决了该问题\addtocontents。为了去掉 产生的页码和点\addcontentsline,我使用 tocloft 创建了一种新类型的列表条目,并关闭了页码。

这是一个有效的例子:

\documentclass{book}
\usepackage{titletoc}
\usepackage{tocloft}
\usepackage{blindtext}

\newlistentry[chapter]{shortdescr}{toc}{1}
\cftpagenumbersoff{shortdescr}
\newcommand{\shortdescr}[1]{\addcontentsline{toc}{shortdescr}{\hspace{\cftsecnumwidth}#1}}

\begin{document}

\tableofcontents

\chapter{First Chapter}
\startcontents
\printcontents{}{0}{\section*{Contents}}

\section{First Section}
\shortdescr{short description of the first section}

\section{Second Section}
\shortdescr{short description of the second section}

\stopcontents

\chapter{Second Chapter}
\startcontents
\printcontents{}{0}{\section*{Contents}}

\section{First Section}
\shortdescr{\blindtext}

\section{Second Section}
\shortdescr{short description of the second section in the second chapter}

\stopcontents

\end{document}

相关内容