自定义目录,使章节分为几列,但部分内容不分为几列

自定义目录,使章节分为几列,但部分内容不分为几列

我正在使用书籍文档类,并且我想自定义我的目录使其看起来像这样:

自定义目录模型

课程实际上是章节,通过以下方式重命名:

\renewcommand{\chaptername}{Lesson}

它们没有标题,除了每 10 节课的考试。文档中还有一些我不想在目录中显示的部分。

能够决定在哪里分页对于美观目的来说会很好(例如,在 5 个五边形之前),但这不是绝对必要的。

我已经研究过这个tocloft软件包,但到目前为止我还没有能够正确地做到这一点。

答案1

在此处输入图片描述

\documentclass{book}

\makeatletter
\def\chaptername{lesson}
\renewcommand*\l@part[2]{\par
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{-\@highpenalty}%
    \addvspace{2.25em \@plus\p@}%
    \setlength\@tempdima{3em}%
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      {\leavevmode
       \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
       \nobreak
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}%
    \endgroup
  \fi
\par
\smallskip
\rightskip=0pt plus 2pt
\parfillskip=0pt}

\renewcommand\l@chapter[2]{%
\noindent\makebox[.3\linewidth][l]{%
\def\numberline##1{##1 }%
Lesson #1\dotfill#2}\penalty9000\hspace{.05\linewidth}\ignorespaces}



\makeatother

\begin{document}

\tableofcontents



\part{zzzz}
\chapter{aaa}aaa
\chapter{baaa}aaa
\chapter{baaa}aaa
\chapter{cbaaa}aaa
\chapter{dbaaa}aaa
\chapter{fbaaa}aaa
\chapter{gbaaa}aaa
\chapter{byaaa}aaa
\chapter{buaaa}aaa
\chapter{bajjaa}aaa
\chapter{ffbaaa}aaa
\chapter{fghbaaa}aaa

\part{www}
\chapter{tta}tta
\chapter{btta}tta
\chapter{btta}tta
\chapter{cbtta}tta
\chapter{dbtta}tta
\chapter{fbtta}tta
\chapter{gbtta}tta
\chapter{bytta}tta
\chapter{butta}tta
\chapter{bajjtt}tta
\chapter{ffbtta}tta
\chapter{fghbtta}tta

\end{document}

相关内容