TOC 从目录中的部分部分编辑编号

TOC 从目录中的部分部分编辑编号

我对 Tex 还很陌生,我正在使用别人给我的模板。

我正在尝试改变 /part{第一部分:我的东西}在目录中看起来像这样

 1 Introduction

 I  Part I: my stuff

 2  Procedure blah blah

 3  Procedure blah blah

 II Part II: my stuff

 4  Procedure blah blah

类似于:

 1 Introduction

 Part I: my stuff

    2  Procedure blah blah

    3  Procedure blah blah

 Part II: my stuff

    4  Procedure blah blah

目前我有这个

%% ---------------------------------------------------------------------- %%
\mainmatter

% Main matter
% -> Global Introduction
\input{Chapters/Introduction.tex} 
%% *****     PART 1     *****
\part*{<Insert Title of First Part>}

\input{Chapters/SummaryPartA.tex}

%% *****     PART 2     *****
\part*{<Insert Title of second Part>}

\input{Chapters/SummaryPartB.tex}

感谢您的帮助

答案1

以下内容适用于book文档类,所以我希望它也能适用于你的文档类,因为它基于这个。

我觉得你希望\chapter从第二个开始缩进 s。所以我们可以添加一行(需要tocloft包)

\addtocontents{toc}{\protect\setlength{\cftchapindent}{2em}}

就在第一个之后\chapter

另外,为了使目录中的编号不显示,我们可以通过这种方式\part修补命令(需要软件包)\@part\patchcmdetoolbox

\makeatletter
\patchcmd{\@part}
    {\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}
    {\addcontentsline{toc}{part}{#1}}
    {}
    {}
\makeatother

完成 MWE:

\documentclass{book}
\usepackage{tocloft}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@part}
    {\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}
    {\addcontentsline{toc}{part}{#1}}
    {}
    {}
\makeatother

\begin{document}

\tableofcontents

\chapter{Introduction}
\addtocontents{toc}{\protect\setlength{\cftchapindent}{2em}}
\part{Part I: my stuff}
\chapter{Procedure blah blah}
\chapter{Procedure blah blah}
\part{Part II: my stuff}
\chapter{Procedure blah blah}
\end{document} 

输出:

在此处输入图片描述

相关内容