为目录中的章节条目编写章节前缀

为目录中的章节条目编写章节前缀

我正在寻找允许我将前缀“Chapter”附加到章节条目的代码,但不能用于前言,如摘要、声明,也不能用于参考书目和附录。下面是我正在寻找的内容。我不希望章节打印在候选人声明、摘要、致谢、LOF、LOT、缩写列表之前。我需要它只打印在章节之前。

这是我使用的

\makeatletter

% Per-section appendicies
\newcounter{Appx}
\numberwithin{Appx}{chapter}
\def\@Appx[#1]#2{
\refstepcounter{Appx}
\section*{%
\addcontentsline{toc}{section}{\appendixname\ \Alph{Appx}\quad#1}%
\appendixname\ \Alph{Appx}\quad#2}
}
\def\@@Appx#1{\@Appx[#1]{#1}}
\def\Appx{\@ifnextchar[\@Appx\@@Appx}

% "Chapter" prefix in ToC
\let\@@l@chapter\l@chapter
\def\l@chapter#1{\@@l@chapter{\chaptername\ #1}}

\makeatother

目录

答案1

有了titlese/titletoc它,你就可以做到。为了模仿你问题中显示的格式,我不得不加载包etoolbox以便不包含目录本身。由于修补环境似乎相当复杂abstract,我建议你将其变成\chapter*命令。我以为你正在使用report没有\front/mainmatter命令的类,所以我提供了它们,以便为 \frontmatter 使用罗马数字 — 实际上,我使用了small caps罗马数字(法语排版中的一种古老传统),但如果你不喜欢它,很容易改变。

    \documentclass[11pt, a4paper, twoside]{report}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{fourier}
    \usepackage{heuristica}
    \usepackage{microtype}

    \usepackage[pagestyles, explicit]{titlesec}%
    \usepackage{titletoc}%

    \usepackage{etoolbox}
    \newbool{addtoc}%initial value:  false
    \pretocmd{\lsstyle}{\SetTracking[no ligatures = {f}]{encoding = *}{50}}{}{}%

    \titleformat{name = \chapter}[display]%
    {\lsstyle\bfseries\Large\filcenter\vskip-4\baselineskip}
    {\LARGE\chaptername~\thechapter}
    {0.5pc}
    {\vspace{0.5pc}\Huge#1}%
    \titlespacing{\chapter}{0pt}{3\baselineskip}{8\baselineskip}

    \titleformat{name=\chapter, numberless}[display]
    {\vskip-4\baselineskip\lsstyle\bfseries\itshape\large\filcenter}
    {}
    {0.5pc}
    {\vspace{0.5pc}#1}%
    [\ifbool{addtoc}{\addcontentsline{toc}{chapter}{#1}}]%
     \titlespacing{name = \chapter, numberless}{0pt}{2\baselineskip}{8\baselineskip}

      \titlecontents{chapter}[0em]{\lsstyle\smallskip\bfseries}%\vspace{1cm}%
      {\contentslabel[\chaptername~\thecontentslabel]{0em}\hspace{5.6em}}%
      {\renewcommand\thecontentslabel{\relax}\itshape}%numberless%
      {\hfill\contentspage}[\medskip]%
    %
     \titlecontents{section}[4.25em]{\smallskip}%
      {\contentslabel[\thecontentslabel]{2em}}%numbered
      {\hspace*{-1em}}%numberless
      {\hfill\contentspage}[\smallskip]%
    %
     \titlecontents{subsection}[7em]{}%
      {\contentslabel[\thecontentslabel]{2.75em}}%numbered
      {\hspace*{-1em}}%numberless
      {\hfill\contentspage}[\smallskip]

    \renewcommand*{\contentsname}{\upshape TABLE OF CONTENTS \vspace{3\baselineskip}\par \hrule height 1pt\vskip1.5ex Contents\hfill Page No \vskip 1.5ex\par\hrule height 1pt\vskip -8\baselineskip}%
    \apptocmd{\tableofcontents}{\booltrue{addtoc}}{}{}

    \providecommand\frontmatter{\renewcommand\thepage{\scshape\mdseries\roman{page}}}%
    \providecommand\mainmatter{\clearpage\pagenumbering{arabic}}

    \begin{document}

    \frontmatter
    \tableofcontents

     \chapter*{Candidate’s Declaration}
     \chapter*{Abstract}
    \chapter*{Acknowledgments}
    \listoffigures
    \listoftables
    \chapter*{List of Abbreviations}

    \mainmatter

    \chapter{INTRODUCTION}

    \section{Motivation}
    \section{Introduction to Data Mining}
    \newpage

    \section{Steps for Knowledge Discovery in Databases Process}
    \section{Architecture of Data Mining System}
    \newpage

    \section{Datamining Techniques}
    \newpage

    \section{Classification}
    \subsection{Naive Bayes}
    \subsection{J48}
    \newpage

    \subsection{OneR}
    \subsection{ZeroR}
    \subsection{IBk (k nearest neighbor)}
    \section{Association Techniques}
    \section{Description of Heart disease dataset used in Experiment}

    \end{document}

在此处输入图片描述

相关内容