Seitenlink/Seitennummer aus dem Inhaltsverzeichnis für Teil entfernen, zentrieren und in neuer Zeile benennen

Seitenlink/Seitennummer aus dem Inhaltsverzeichnis für Teil entfernen, zentrieren und in neuer Zeile benennen

Ich versuche, das hier gezeigte Format des Inhaltsverzeichnisses zu reproduzieren:

Bildbeschreibung hier eingeben

Mein Versuch:

\documentclass[12pt]{book}
\usepackage{tocloft,titletoc}

%\cftsetindents{section}{0em}{2em}
%\cftsetindents{subsection}{0em}{2em}
\usepackage{theanomodern}
\usepackage[baskerville]{newtxmath}

\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\contentsname}{\parbox{\linewidth}{\centerline{\Large CONTENTS}~\\[-1.5cm]}}

\titlecontents*{chapter}[0pt]{}{\textsc{\chaptername} \thecontentslabel:\quad}{}{\bfseries\hfill\contentspage}


\setcounter{tocdepth}{0}

\usepackage{hyperref}
\hypersetup{linktoc=none,}

\begin{document}
    \tableofcontents
    \pagenumbering{arabic}
    \clearpage
    %\addcontentsline{toc}{part}{\protect\centering{}Chapter I}
    \part{One}
    \chapter{The Greatest Common Divisor of Two Numbers}
    \part{Two}
    \chapter{Prime Numbers and Factorization into Prime Factors}
    
\end{document}

Das Ergebnis ist ein wenig nah dran, aber nicht ganz. Fehlende Funktionen:

  1. Teil und das Etikett beginnen nicht mit Teil. Aus diesem Grund habe ich bereits versucht, es zu ändern, \titlecontentsaber es trat ein Fehler auf, also habe ich es aus MWE entfernt.
  2. Teile sind zentriert
  3. Teile haben am Ende keinen Link zur Seite
  4. Die Namen der Teile stehen in einer separaten Zeile.
  5. Die Kapitelnamen sind ausgerichtet, was in meiner Ausgabe nicht der Fall ist.

Bildbeschreibung hier eingeben

Antwort1

Diese Lösung verwendet kein Tocloft.

Der schwierige Teil bestand darin, die Teilenummer im Hyperlink vom Titel zu trennen.

\documentclass[12pt]{book}
\usepackage{etoolbox}
%\usepackage{showframe}% alignment tool

\usepackage{theanomodern}
\usepackage[baskerville]{newtxmath}

\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\contentsname}{\parbox{\linewidth}{\centerline{\Large CONTENTS}~\\[-1.5cm]}}

\makeatletter
\patchcmd{\@part}{\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}%
  {\addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}}{}{FAILED}%

\newcommand*{\@partnumber}{}% reserve global name

\renewcommand*\l@part[2]{%
  \ifnum \c@tocdepth >-2\relax
    \addpenalty{-\@highpenalty}%
    \addvspace{1.0em \@plus\p@}%
    \begingroup
      \def\numberline##1{\xdef\@partnumber{##1}}%
      \setbox0=\vbox{\centering\bfseries\strut #1}% Could be more than one line
      \centering
      \leavevmode
       \hyperlink{\Hy@tocdestname}{\large \partname~\@partnumber}\\
       \usebox0
         \global\@nobreaktrue
         \everypar{\global\@nobreakfalse\everypar{}}%
    \endgroup
  \fi}
  
\renewcommand*\l@chapter[2]{% #1 = title, #2 = pagenumber
\begingroup
  \def\numberline##1{\hbox to \@tempdima{\chaptername~##1:\hfill}}% add \chaptername
  \@dottedtocline{0}{0pt}{3cm}{#1}{\hyperlink{\Hy@tocdestname}{\bfseries #2}}% 3cm is the space reserved for the chapter number box
\endgroup}
 
\makeatother

\setcounter{tocdepth}{0}

\usepackage{hyperref}
\hypersetup{linktoc=none,}

\begin{document}
    \tableofcontents
    \pagenumbering{arabic}
    \clearpage
    %\addcontentsline{toc}{part}{\protect\centering{}Chapter I}
    \part{One}
    \chapter{The Greatest Common Divisor of Two Numbers}
    \part{Two}
    \chapter{Prime Numbers and Factorization into Prime Factors}
    
\end{document}

verwandte Informationen