使用 \numberwithin{section}{part} 时目录格式错误

使用 \numberwithin{section}{part} 时目录格式错误

当我使用该命令时,\numberwithin{section}{part}目录格式被破坏。

最小工作示例如下:

\documentclass[a4paper,12pt]{scrartcl}

\usepackage{amsmath}
\numberwithin{section}{part}


\begin{document}


\tableofcontents{}

\newpage

\part{First PArt}
\section{First Section}
\section{Next Section}
\subsection{abc}
\subsection{ABC}

\part{Second PArt}
\section{The third Section}
\section{And another Section}
\subsection{This is an example}
\subsection{Example ;-)}

\part{Third Part}
\section{Wrong formatting}
\section{Another Section}
\section{Test Section}
\subsection{xyz}
\subsection{XYZ}



\end{document}

这将产生以下内容表:(如果相关的话,我会使用 Lualatex 进行编译) 在此处输入图片描述

我们可以看出,章节编号和标题之间的空格是错误的,并且第 3 部分甚至重叠。

我怎样才能解决这个问题?

答案1

您可以使用(不带\numberwithin{section}{part}

\RedeclareSectionCommand[tocdynnumwidth]{part}
\RedeclareSectionCommand[counterwithin=part,tocdynnumwidth]{section}
\RedeclareSectionCommands[tocdynnumwidth,tocdynindent]
  {subsection,subsubsection,paragraph,subparagraph}

例子:

\documentclass[a4paper,12pt]{scrartcl}
\RedeclareSectionCommand[tocdynnumwidth]{part}
\RedeclareSectionCommand[counterwithin=part,tocdynnumwidth]{section}
\RedeclareSectionCommands[tocdynnumwidth,tocdynindent]
  {subsection,subsubsection,paragraph,subparagraph}

\begin{document}
\tableofcontents{}
\clearpage

\part{First PArt}
\section{First Section}
\section{Next Section}
\subsection{abc}
\subsection{ABC}

\part{Second PArt}
\section{The third Section}
\section{And another Section}
\subsection{This is an example}
\subsection{Example ;-)}

\part{Third Part}
\section{Wrong formatting}
\section{Another Section}
\section{Test Section}
\subsection{xyz}
\subsection{XYZ}
\end{document}

运行三次即可获得

在此处输入图片描述

答案2

使用该tocloft包。

...

\usepackage{tocloft}
\addtolength{\cftsecnumwidth}{2em} % or other length

这将增加部分编号的空间。

相关内容