Настройте оглавление так, чтобы главы были в нескольких столбцах, а части — нет

Настройте оглавление так, чтобы главы были в нескольких столбцах, а части — нет

Я использую класс документа «книга» и хотел бы настроить оглавление так, чтобы оно выглядело примерно так:

индивидуальный макет toc

Уроки на самом деле являются главами, переименованными через:

\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}

Связанный контент