目录中每个章节编号前是否包含“章节”?(文章类别)

目录中每个章节编号前是否包含“章节”?(文章类别)

基本上,这是我的 MWE,我需要在目录中每个章节标题之前包含“章节”(不做任何其他更改)。

   \documentclass[12pt]{article}
\usepackage[utf8]{inputenc} 
\usepackage[english]{babel}
\usepackage[titles]{tocloft}
\usepackage{titlesec}
\usepackage{titletoc}

\addto\captionsenglish{ \renewcommand*\contentsname{\centerline{TABLE OF CONTENTS}}}

%\renewcommand{\thesection}{CHAPTER}
%\renewcommand{\cftsecpresnum}{Chapter \thesection}
\titleformat{\section}[display]%
{\null\vskip1em\sffamily\bfseries\filcenter}{Chapter \thesection}{0em}{}[]
\titlespacing*{\section}{0em}{1em}{1em}

\titlecontents{section}
[1.5em] % ie, 1.5em (chapter) + 2.3em
{}
{\contentslabel{1em}}
{\hspace*{-1.5em}}
{\titlerule*[0.5pc]{.}\contentspage}

\begin{document}
\newpage
\tableofcontents
\newpage

\section{Section One}
\section{Section Two}
Content
\end{document}

注释掉的代码是我已经尝试过的。第一个只是将数字更改为“CHAPTER”,而不会移动目录中的文本(因此它只是覆盖在部分名称之上),如果我在“CHAPTER”后面包含“\thesection”,则会产生无限循环定义错误。第二个没有造成任何差异,代码仍然编译。

谢谢!

答案1

这是一个解决方案。我没有加载tocloft,因为我使用titletoc。我还为应该出现在目录中的未编号部分添加了格式:

 \documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[showframe]{geometry}
\usepackage{titlesec}
\usepackage{titletoc}

\addto\captionsenglish{ \renewcommand*\contentsname{\centerline{TABLE OF CONTENTS}}}

\titleformat{\section}[display]%
{\null\vskip1em\sffamily\bfseries\filcenter}{Chapter \thesection}{0em}{}[]
\titleformat{name = \section, numberless}[block]%
{\null\vskip1em\sffamily\bfseries\filcenter}{}{0em}{}
\titlespacing*{\section}{0em}{1em}{1em}

\titlecontents{section}
[7em] % ie, width of contentslabel + 0.5em
{\medskip}
{\contentslabel[\MakeUppercase\chaptername~\thecontentslabel]{6.5em}}%\thecontentslabel
{\hspace*{-6.5em}}
{\titlerule*[0.5pc]{.}\contentspage}

\begin{document}

\tableofcontents
\newpage

\section*{An Unnumbered Section}
\addcontentsline{toc}{section}{An Unnumbered Section}
\section{Section One}
\subsection{A first subsection}
\section{Section Two}
Content

\end{document} 

在此处输入图片描述

答案2

我正在使用 tstextbook 编辑一本书,其中包括使用 titletoc 包。

本主题中给出的解决方案对我没有帮助。因为 titlesec 包在我的编译中引入了太多错误,导致我试图解决的问题比我试图解决的问题更大。当我尝试测试使用 tocloft 包的解决方案时也遇到了同样的情况。

经过几个小时的研究和测试,我的解决方案很简单:只需修改“章节”的 \titlecontents 命令。

我的原始条目:

{\color{tssteelblue}\contentslabel[\Large\thecontentslabel]{1.25cm}} %ORIGINAL

可行的解决方案:

{\chaptername\ \thecontentslabel:\quad}% <numbered-entry-format> %It compiled within my code without errors!!!

我的最终解决方案解决了我的要求:

{\color{tssteelblue}\Large\chaptername\ \thecontentslabel.\space} %Final solution

*请注意,我的书是西班牙语的。

本章的最终完整代码:

%\titlecontents{ <section> }[ <left> ]
%{ <above-code> }
%{ <numbered-entry-format> }{ <numberless-entry-format> }
%{ <filler-page-format> }[ <below-code> ]

\titlecontents{chapter}[0cm]
{\addvspace{14pt}\large\sffamily\bfseries}
{\color{tssteelblue}\Large\chaptername\ \thecontentslabel.\space} %Final solution
{}
{\color{tssteelblue}\normalsize\sffamily\bfseries\;\titlerule*[.5pc]{.}\;\thecontentspage}

TOC 碎片:解决方案之前和之后

我的解决方案从这里给出

相关内容