目录:各部分的漂亮标题

目录:各部分的漂亮标题

我文件中的某些部分有一些长标题{book}

在 TOC 中我收到以下内容:

I Paaaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaart    pagenum

我希望它如下所示:

I Paaaaaaaaaaaaaaa

     aaaaaaaaaaaaaaaaaaart    pagenum

(因此,我想在文本前的第二行留出一些空间)

您知道该怎么做吗?我尝试添加\hspace{}标题,但没有帮助。

LaTeX 对章节和部分采用这种格式,但对部分则不然。

另一个小问题:我使用tocloft包装进行设计。我想在目录中的零件编号前添加单词“Part”(使用\cftpartpresnum),但我只想为编号的零件添加它。例如,我想要:

Intro ..... 1
Part I Lalala ...2
Part II Lalalala...4
Conclusion ....6

有可能吗?\cftpartpresnum添加到所有部分。

答案1

tocloft您可以通过重新定义\@part和命令(后者实际上排版了目录中的部分条目)来实现您想要的效果,而无需使用\l@part;下面是此类重新定义的一个示例(我不确定所需的对齐和缩进,但您可以轻松更改这些设置):

\documentclass{book}

\makeatletter
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%NEW
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \huge\bfseries \partname\nobreakspace\thepart
       \par
       \vskip 20\p@
     \fi
     \Huge \bfseries #2\par}%
    \@endpart}
\renewcommand*\l@part[2]{%
  \ifnum \c@tocdepth >\m@ne
    \addpenalty{-\@highpenalty}%
    \vskip 1.0em \@plus\p@
    \setlength\@tempdima{3.3em}%NEW: indentation for lines 2,3,... change according to your needs
    \begingroup
      \parindent \z@ \rightskip \@pnumwidth
      \parfillskip -\@pnumwidth
      \leavevmode\large\bfseries
      \advance\leftskip\@tempdima% NEW: comment out if no indentation required for lines 2,3,...
      \hskip -\leftskip
      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
      \penalty\@highpenalty
    \endgroup
  \fi}\makeatother

\begin{document}

\tableofcontents

\part{Test part one with a really really long title spanning two lines}
\part{Test part two with a really really long title spanning two lines}
\part{Test part three with a really really long title spanning two lines}
\part{Test part four with a really really long title spanning two lines}

\end{document}

在此处输入图片描述

相关内容