Я просто хотел бы расположить заголовок оглавления по центру в документе моей «книги».
Я только что добавил в оглавление точечные указатели, и, как мне показалось, это лучше всего сделать, отказавшись от 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}
Это не вносит никаких изменений в отступы и вертикальное расположение записей.