当我使用该命令时,\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
这将增加部分编号的空间。