
Я составляю отчет в рамках группового проекта для части степени по физике, и мне было весело пытаться правильно отформатировать оглавление. Вот MWE:
\documentclass[twoside]{article}
\usepackage[a4paper,pdftex,left=1.7cm,right=1.7cm,top=2cm,bottom=2.5cm]{geometry}
\usepackage{blindtext}
\usepackage[english]{babel}
\renewcommand*\thesection{\arabic{section}.0}
\renewcommand*\thesubsection{\arabic{section}.\arabic{subsection}}
\begin{document}
\tableofcontents
\addtocontents{toc}{~\hfill\textbf{Page}\par}
\newpage
\begin{abstract}
\blindtext
\end{abstract}
\section{A section}
\blindtext
\section{Another section}
\blindtext
\subsection{A subsection}
\blindtext
\subsection{Yet another subsection}
\blindtext
\subsubsection{Oh, exciting, a sub sub section!}
\blindtext
\section{Another boring old section}
\blindtext
\end{document}
Что дает на выходе что-то вроде этого:
Неплохо, за исключением того, что интервал между разделами и их соответствующими номерами слишком мал. Я попытался исправить это, включив это в преамбулу:
\makeatletter
\renewcommand{\l@section}{\@dottedtocline{1}{1.5em}{3em}}
\renewcommand{\l@subsection}{\@dottedtocline{2}{3.0em}{3.5em}}
\renewcommand{\l@subsubsection}{\@dottedtocline{3}{4.5em}{4.2em}}
\makeatother
давая это:
Хотя это позволяет мне настраивать интервалы по своему вкусу (на картинке они настроены некорректно, просто пример), похоже, я потерял жирный шрифт и приобрел несколько точек для разделов, которых раньше не было. Я также потерял красивые интервалы между разделами. Я попытался вернуть жирный шрифт с помощью
\renewcommand\cftsecfont{\bfseries}
но, похоже, это не дало никакого эффекта. Буду признателен за любые советы по лучшему форматированию моего ToC. Мне не нужно следовать какой-либо конкретной схеме форматирования, указанной университетом, но я хочу, чтобы она выглядела понятно и профессионально. Первый пример был идеален, за исключением номеров разделов, которые были приклеены прямо рядом с разделами, хотя для подразделов это было нормально.
решение1
Ширину, используемую для номеров разделов в Toc
(классе статей), можно задать, перенастроив
\cftsecnumwidth
до соответствующего значения ( 30pt
в моем примере).
tocloft
Для этого необходим пакет .
Я не понимаю цели
\renewcommand*\thesection{\arabic{section}.0}
однако.
\documentclass[twoside]{article}
\usepackage[a4paper,pdftex,left=1.7cm,right=1.7cm,top=2cm,bottom=2.5cm]{geometry}
\usepackage{blindtext}
\usepackage[english]{babel}
\usepackage{tocloft}
\renewcommand*\thesection{\arabic{section}.0}
\renewcommand*\thesubsection{\arabic{section}.\arabic{subsection}}
\renewcommand{\cftsecnumwidth}{30pt}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{4}
\begin{document}
\tableofcontents
\addtocontents{toc}{~\hfill\textbf{Page}\par}
\newpage
\begin{abstract}
\blindtext
\end{abstract}
\section{A section}
\blindtext
\section{Another section}
\blindtext
\subsection{A subsection}
\blindtext
\subsection{Yet another subsection}
\blindtext
\subsubsection{Oh, exciting, a sub sub section!}
\blindtext
\section{Another boring old section}
\blindtext
\end{document}