目录:包括章节条目的部分编号

目录:包括章节条目的部分编号

我有以下代码

\documentclass{scrreprt}
%\usepackage[titles]{tocloft}
%\renewcommand{\cftchappresnum}{\thepart.}

\begin{document}
    \tableofcontents
    \part{First Part}
    \chapter{First Chapter}
\end{document}

其结果为下表内容: 目录

我怎样才能将部分的编号纳入章节条目中,即获取I.1. First Chapter

正如您所看到的,我尝试使用该tocloft包但没有成功。

答案1

除了计数器表示之外,您还必须调整数字的长度。这是一个最小示例,其中对部分级别进行了一些调整:

在此处输入图片描述

\documentclass{scrreprt}
\renewcommand{\thechapter}{\thepart.\arabic{chapter}}% Prefix chapter with part number
\usepackage{etoolbox}
\makeatletter
\patchcmd{\l@chapter}{1.5em}{2em}{}{}% Increase number width for chapter
\renewcommand{\l@section}{\bprot@dottedtocline{1}{2em}{2.7em}}% Increase number width and
                                                              % indent for section
\makeatother
\begin{document}
    \tableofcontents
    \part{First Part}
    \chapter{First Chapter}
    \section{A section}
\end{document}

将零件编号添加到章节编号前面是使用

\renewcommand{\thechapter}{\thepart.\arabic{chapter}}

这将是一次全局替换,使其\thepart.出现在文本中的章节编号、目录和章节引用(以及较低的章节单位,因为它们继承了层次结构)之前。

其次,我们修补\l@chapter(使用etoolbox) 以允许数字周围有更宽的间距。由于目录构成了文档结构的层次结构,因此一个缩进级别的更改通常也应该在较低级别上进行调整。因此,由于从 1.5em 增加到 2em,我们还需要调整<indent>\l@section可能还有\l@subsection……):

\renewcommand{\l@section}{\bprot@dottedtocline{1}{2em}{2.7em}}% Increase number width and
                                                              % indent for section

的参数结构\bprot@dottedtocline{<level>}{<indent>}{<numwidth>}将一个分段单位在水平<level>方向上缩进一个长度<indent>,并将数字放在一个宽度为的框中<numwidth>。在 下scrreprt,以下定义适用于较低的分段单位(如果您也希望调整它们):

\newcommand*\l@subsection{\bprot@dottedtocline{2}{3.8em}{3.2em}}
\newcommand*\l@subsubsection{\bprot@dottedtocline{3}{7.0em}{4.1em}}
\newcommand*\l@paragraph{\bprot@dottedtocline{4}{10em}{5em}}
\newcommand*\l@subparagraph{\bprot@dottedtocline{5}{12em}{6em}}

相关内容