Удалить ссылку/номер страницы из оглавления для Части, выровнять ее по центру и переименовать в новой строке.

Удалить ссылку/номер страницы из оглавления для Части, выровнять ее по центру и переименовать в новой строке.

Я пытаюсь воспроизвести формат оглавления, показанный здесь:

введите описание изображения здесь

Моя попытка:

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

Вывод немного близок, но не совсем. Отсутствующие функции:

  1. Часть и метка не начинается с Части. Для этого я уже пробовал модифицировать с помощью, \titlecontentsно получил ошибку, поэтому удалил его из MWE.
  2. Детали центрированы
  3. В конце частей нет ссылки на страницу.
  4. Наименование деталей указано на отдельной строке.
  5. Названия глав выровнены, чего нет в моем выводе

введите описание изображения здесь

решение1

В этом решении токлофт не используется.

Сложность заключалась в том, чтобы отделить номер детали от названия в гиперссылке.

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

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