章は複数の列に分かれているがパートは分かれていないように目次をカスタマイズする

章は複数の列に分かれているがパートは分かれていないように目次をカスタマイズする

私は book ドキュメント クラスを使用しており、toc を次のようにカスタマイズしたいと思います。

カスタム 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}

関連情報