在 LaTeX 报告的目录中添加部分和章节名称前缀

在 LaTeX 报告的目录中添加部分和章节名称前缀

我有一份如下的 LaTeX 报告:

\documentclass[oneside,11pt]{report}

\usepackage{appendix}
\usepackage{hyperref}
\usepackage{bookmark}

\begin{document}

\begin{abstract} ... \end{abstract}

\tableofcontents

\part{Name of part}
\chapter{Name of chapter}
\chapter{Name of chapter}

\part{Name of part}
\chapter{Name of chapter}
\chapter{Name of chapter}

\part{Name of part}
\chapter{Name of chapter}

\part{Name of part}
\chapter{Name of chapter}

\appendix
\bookmarksetupnext{level=-1}
\addappheadtotoc

\chapter{Name of appendix}
\chapter{Name of appendix}

\end{document} 

这将生成一个 .pdf 文件,其内容页如下:

在此处输入图片描述

这没问题,但是部分、章节和附录这些词可以用作目录中相关项目的前缀吗?我的意思是,下图中的第三部分可能显示为:

第三部分 部分名称

第 4 章 章节名称

我已尝试过\renewcommand{\thechapter}{Chapter\Alph{chapter}}但它覆盖了部分实际章节名称。

答案1

下面我修补了环境的启动appendices,以根据您的要求将一些内容放入 ToC 文件中。

调整内容如下\cftpartpresnum(插入数量\part)和\cftchappresnum(插入\chapter由于附录的设置不同,因此会Appendices手动将其作为\part-like 条目插入。

在此处输入图片描述

\documentclass[oneside,11pt]{report}

\usepackage[titletoc]{appendix}%
\usepackage{tocloft}%
\usepackage{hyperref}%
\usepackage{bookmark}%

\setlength{\cftchapnumwidth}{65pt}%

\renewcommand{\cftpartpresnum}{\partname\hspace{10pt}}
\renewcommand{\cftchappresnum}{\chaptername\hspace{5pt}}
\renewcommand{\cftchapaftersnum}{\hspace{5pt}}

\let\oldappendices\appendices
\renewcommand{\appendices}{%
  \oldappendices
  \bookmarksetupnext{level=-1}
  \addtocontents{toc}{\protect\renewcommand\protect\cftpartpresnum{}}
  \addcontentsline{toc}{part}{Appendices}
  \addtocontents{toc}{\protect\renewcommand\protect\cftchappresnum{}%
    \protect\setlength\protect\cftchapnumwidth{15pt}}%
}

\begin{document}

\begin{abstract}
Some content related to the abstract.
\end{abstract}

\tableofcontents

\part{First part}
\chapter{First chapter}
\chapter{Second chapter}

\part{Second part}
\chapter{Third chapter}
\chapter{Fourth chapter}

\part{Third part}
\chapter{Fifth chapter}

\part{Fourth part}
\chapter{Sixth chapter}

\begin{appendices}
\chapter{First appendix}
\chapter{Second appendix}
\end{appendices}

\end{document} 

答案2

更改目录条目的“前缀”最好使用包\cftX....中的各种命令tocloft

\cftchappresnum用于Chapter在章节号条目之前设置,后面跟着一些间距,应该改为“个人喜好”一些是用的\cftpartpresnum

另外,数字宽度的空间也会改变,这取决于个人设置\cftchaptnumwidth

我个人认为章节应该缩进,但我把它注释掉了。随意更改\renewcommand{\cftchapindent}{...}一些合适的值。


\documentclass[oneside,11pt]{report}

\usepackage[titletoc]{appendix}%
\usepackage{tocloft}%
\usepackage{hyperref}%
\usepackage{bookmark}%

\renewcommand{\appendixtocname}{\cftpartfont\appendixname}%

%\renewcommand{\cftchapindent}{20pt}%
\setlength{\cftchapnumwidth}{60pt}%

\renewcommand{\cftchappresnum}{\chaptername\hspace{5pt}}
\renewcommand{\cftchapaftersnum}{\hspace{5pt}}
\renewcommand{\cftpartpresnum}{\partname\hspace{10pt}}

\begin{document}

\begin{abstract} ... \end{abstract}

\tableofcontents

\part{Name of part}
\chapter{Name of chapter}
\chapter{Name of chapter}

\part{Name of part}
\chapter{Name of chapter}
\chapter{Name of chapter}

\part{Name of part}
\chapter{Name of chapter}

\part{Name of part}
\chapter{Name of chapter}

\begin{appendices}%
\bookmarksetupnext{level=-1}
%\addappheadtotoc

\chapter{Name of appendix}
\chapter{Name of appendix}

\end{appendices}

\end{document} 

在此处输入图片描述

相关内容