
Я использую класс документа «книга» и хотел бы настроить оглавление так, чтобы оно выглядело примерно так:
Уроки на самом деле являются главами, переименованными через:
\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}