如何在章节标题中添加章节编号

如何在章节标题中添加章节编号

我正在使用大学论文模板,该模板的章节/节标题设置方式不允许使用hyperref。问题是他们使用\setcounter{secnumdepth}{0},所以章节/节标题前面没有节号。他们希望标题在目录中和章节开头都使用这种格式显示:

第 1 章:示例章节标题

他们实现这一目标的方式意味着我们必须手动对章节进行编号,而且这也会破坏hyperref

以下是 MWE:

\documentclass[12pt]{article}

\usepackage{setspace}
\setcounter{secnumdepth}{0}
\usepackage{tocstyle}
\usetocstyle{standard}
\renewcommand{\contentsname}{\centerline {\normalsize Table of Contents}}
\usepackage{tocloft}
\renewcommand{\cftsecfont}{\normalsize}
\renewcommand{\cftsecleader}{\cftdotfill{\cftsecdotsep}}
\renewcommand\cftloftitlefont{\normalsize}
\renewcommand\cftlottitlefont{\normalsize}
\usepackage{sectsty}
\sectionfont{\centering\normalsize}

% this breaks their chapter/toc settings
% \usepackage[hidelinks]{hyperref}

\begin{document}
\newpage
\tableofcontents
\newpage

%\section{\protect \centering Chapter 7: Sample Title}
\section{\protect Chapter 7: Sample Title}
chapter text goes here
\end{document}

我确信 latex 能够在使用计数器的同时以这种格式创建章节/节标题,但我很难让它工作。我如何使用内置计数器(最好是节计数器,因为每个节在其设置中都是一个章节)本地创建这种格式的目录,同时还允许使用hyperref

编辑1: 我确实发现\centering章节标题中的标志与 hyperref 相冲突。以下这些 回复(感谢@GonzaloMedina),我能够使用以下命令实现居中和所需的字体大小

\usepackage{sectsty}
\sectionfont{\centering\normalsize\selectfont}

在序言中,我可以\centering从章节标题中删除标志:

%\section{\protect \centering Chapter 7: Sample Title}
\section{\protect Chapter 7: Sample Title}

我在 MWE 中添加了这些修改(注释掉原来的内容)。

目录图像

答案1

要获取正确的章节标签,请使用

\renewcommand\thesection{Chapter \arabic{section}:}

编辑 @Werner 的观点非常好。这里有一个更好的方法(可能需要调整一下间距),它不会弄乱你的标签和参考资料。要更改目录外观

\usepackage{tocloft}
\renewcommand{\cftsecpresnum}{Chapter }
\renewcommand{\cftsecnumwidth}{5.75em}
\renewcommand{\cftsecaftersnum}{:}

更改文档内的节标题

\usepackage{titlesec}
\titleformat{\section}{\bfseries\Large}{Chapter \arabic{section}:}{0.5em}{}

相关内容