Как выровнять заголовок оглавления по центру без использования tocloft?

Как выровнять заголовок оглавления по центру без использования tocloft?

Я просто хотел бы расположить заголовок оглавления по центру в документе моей «книги».

Я только что добавил в оглавление точечные указатели, и, как мне показалось, это лучше всего сделать, отказавшись от tocloftпакета и вместо этого используя \dottedcontentsкоманду titlesecсопутствующего пакета, titletoc, например, так:

\dottedcontents{chapter}[0em]{\vspace{2.1ex}}{0em}{0.5pc}

Введение tocloftнастроек для центрирования заголовка TOC приводит к тому, что, по-видимому, возникает проблема с вертикальным размещением/интервалом, которую я не уверен, как исправить (это подробно описано в моих комментариях к ответу Питера ниже). Поэтому я хотел бы tocloftпо возможности избегать использования этого пакета.

Одним из способов решения задачи центрирования было бы добавление \centeringк команде chapter \titleformatпакета titlesec:

\usepackage{titlesec}
\titleformat{\chapter}[display]{\centering\Large\bfseries}{}{}{}

Однако это центрирует все названия глав, а мне это не нужно.

Итак, мой вопрос: как проще всего отцентрировать заголовок оглавления, не затрагивая при этом заголовки других глав и не используя tocloft?

Вот почти минимальный пример (мои попытки использовать tocloftпакет опущены):

\documentclass{book}

\usepackage{titlesec}
\titleformat{\chapter}[display]{\Large\bfseries}{}{}{}

\usepackage{indentfirst}

\usepackage{titletoc}
\dottedcontents{chapter}[0em]{\vspace{2.1ex}}{0em}{0.5pc}

\begin{document}

\tableofcontents
\vspace{24pt}

\chapter*{Left-Justified Chapter 1}
\addcontentsline{toc}{chapter}{Left-Justified Chapter 1}

Some indented text.

\chapter*{Left-Justified Chapter 2}
\addcontentsline{toc}{chapter}{Left-Justified Chapter 2}

More indented text.

\end{document}

решение1

Вы можете объявить \titleformatвнутри группы после \begin{document}.

Не связано: с сопутствующим пакетом titletocу вас есть гораздо более простой способ форматирования записей в оглавлении с помощью \dottedcontentsкоманды.

\documentclass{book}

\usepackage{titlesec, titletoc, xcolor}
\titleformat{\chapter}[display]{\Large\bfseries}{}{}{}

\usepackage{indentfirst}

\dottedcontents{chapter}[3.8em]{\vspace{2ex}}{2.3em}{0.8pc}

\begin{document}

\begingroup
\titleformat{\chapter}[block]{\Large\bfseries\filcenter}{\color{red}}{}{}
\tableofcontents
\vspace{24pt}
\endgroup

\chapter*{Left-Justified Chapter 1}
\addcontentsline{toc}{chapter}{Left-Justified Chapter 1}

Some indented text.

\chapter*{Left-Justified Chapter 2}
\addcontentsline{toc}{chapter}{Left-Justified Chapter 2}

More indented text.

\end{document} 

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

решение2

По умолчанию tocloftпакет использует стандартные настройки класса ( book, report, article) для ToC, LoF и LoT. Ниже (без опечаток) приведено решение вашей проблемы с использованием tocloft.

\documentclass{book}
\usepackage{tocloft}

%% center Contents title
\renewcommand{\cfttoctitlefont}{\hfill\Huge\bfseries}
\renewcommand{\cftaftertoctitle}{\hfill}

%% add dot leaders to chapters
\renewcommand{\cftchapdotsep}{\cftdotsep}

\begin{document}
\tableofcontents
\chapter{First chapter}
\section{A section}
\subsection{A subsection}
\end{document}

Это не вносит никаких изменений в отступы и вертикальное расположение записей.

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