我想创建一个目录,使章节编号和章节标题之间的边距相等,而不管章节编号中的数字有多少。
我有一个解决方案的示例,但我想用它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}
重新定义子部分的 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
以适合您的编号方案。