增加章节编号的空间(+前缀)

增加章节编号的空间(+前缀)

我的问题基本上是为章节标题添加前缀,问题是如何在标题/章节之前的数字中添加任意前缀。

我的后续问题是:我需要做什么才能确保目录有足够的空间,以便前缀数字不与标题重叠?

考虑以下 MWE:

\documentclass{scrartcl}

\renewcommand*{\thesection}{Some Prefix~\arabic{section}:}

\begin{document}

  \tableofcontents  

  \section{First Headline}
  Some text.

  \section{Second Headline}
  More text!

  \section{Third Headline}
  And so on...  

\end{document}

没有第二行(即 renew 命令)的结果看起来符合预期:

在此处输入图片描述

renew 命令,各部分本身看起来是正确的(顺便说一句:这是对上面链接的问题的解决方案),但目录中的文本重叠:

在此处输入图片描述

因此,

问题:我需要做什么才能在目录中实际标题开始之前有足够的空间?

答案1

由于您正在使用koma类,因此您可以使用它来格式化您的目录。如果您显式加载( ),tocbasic以下内容koma也应该在没有类的情况下工作。您可以选择两种不同的方法。一般来说,我建议您查看手册 (tocbasicusepackage{tocbasic}koma英语或者德语)。

增加章节编号的空间(+前缀)

要增加目录中部分名称左侧的空间,您可以执行以下操作:

\DeclareTOCStyleEntry[numwidth=8em]{tocline}{section}

8em这使得所有部分名称都从左侧的相同位置开始。

动态宽度取决于前缀+数字的长度

或者,您可以将章节名称放在目录中最长的数字(+前缀)后面

\DeclareTOCStyleEntry[dynnumwidth=true]{tocline}{section}

您可以添加numsep=1em参数来将数字和名称之间的空格设置为不同的值:

\DeclareTOCStyleEntry[dynnumwidth=true,
                      numsep=1em,
]{tocline}{section}

两者都在 MWE 中

\documentclass{scrartcl}

\renewcommand*{\thesection}{Some Prefix~%
  \if\arabic{section}1Ooone\else
    \if\arabic{section}2Two\else%
      \if\arabic{section}33%
      \fi
    \fi
  \fi:}

% Try *one* of the following styles. They add up!
\DeclareTOCStyleEntry[dynnumwidth=true,
                      numsep=1em,
]{tocline}{section}

%\DeclareTOCStyleEntry[numwidth=10em]{tocline}{section}

\begin{document}

  \tableofcontents  

  \section{First Headline}
  Some text.

  \section{Second Headline}
  More text!

  \section{Third Headline}
  And so on...  

\end{document}

我改变了前缀的长度,以显示其效果dynnumwidth

第一种风格,有dynnumwidth

结果1

第二种样式,已修复:

结果2

相关内容