如何设置目录中章节编号和章节标题之间的边距?

如何设置目录中章节编号和章节标题之间的边距?

我想创建一个目录,使章节编号和章节标题之间的边距相等,而不管章节编号中的数字有多少。

我有一个解决方案的示例,但我想用它titlesec来定义我的部分。

\renewcommand{\subsection}[1]
{%
  \refstepcounter{subsection}%
  \vskip 1.5ex%  
    {\bf\thesubsection \ #1}%
    \addcontentsline{toc}{subsection{\hspace{1em}\thesubsection\hspace{0.5em}#1}%
  \vskip 1.5ex %  
}%

这是我的尝试,titletoc它似乎是正确的,但我的文档中可以有大量的章节和小节,因此保留的空间很快就会用完。

\documentclass{article}

\usepackage{titletoc}
\dottedcontents{subsection}[3.5em]{}{3.2em}{1pc}

\begin{document}

\tableofcontents

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\subsection{Subsection1}

\subsection{Subsection2}

\subsection{Subsection3}

\subsection{Subsection4}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\end{document}

带 titlesec 的目录

重新定义子部分的 MWE:

\documentclass{article}

\renewcommand{\subsection}[1]
{%
  \refstepcounter{subsection}%
  \vskip 1.5ex%  
    {\bf\thesubsection \ #1}%
    \addcontentsline{toc}{subsection}{\hspace{1em}\thesubsection\hspace{0.5em}#1}%
  \vskip 1.5ex %  
}%

\begin{document}

\tableofcontents

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\subsection{Subsection1}

\subsection{Subsection2}

\subsection{Subsection3}

\subsection{Subsection4}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\end{document}

重新定义子部分的目录

答案1

我可以提出这个建议,rightlabels并提供一些选项和反复试验:

\documentclass{article}

\usepackage[rightlabels]{titletoc}%
\dottedcontents{section}[1.7em]{}{1.5em}{1pc}
\dottedcontents{subsection}[4.25em]{\small}{4.25em}{1pc}

\begin{document}
\setlength{\labelsep}{1cm}
\tableofcontents

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\section{Section}

\subsection{Subsection1}

\subsection{Subsection2}

\subsection{Subsection3}

\subsection{Subsection4}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\subsection{SubsectionN}

\end{document} 

在此处输入图片描述

答案2

您可以使用该tocloft包。

很抱歉,我最初使用了该memoir代码,但以下内容适用于该article课程。

\documentclass{article}
\usepackage{tocloft}
\setlength{\cftsecnumwidth}{...} % resets space for section number (usually 2.3em)
\setlength{\cftsubsecnumwidth}{...} % resets space for subsection number (usually 3.2em)
\begin{document}
\tableofcontents
% ...
\end{document}

更改...numwidths以适合您的编号方案。

相关内容