在目录中选定的章节号中添加字符串“Chapter”

在目录中选定的章节号中添加字符串“Chapter”

知道如何将字符串“Chapter”添加到目录中选定的位置吗?

目前,TOC 如下所示:

无编号章节 A
无编号章节 B
1. 这是第一章。
2. 这是第二章。
3.这是第3章。
4.这是第4章。

我想给其中一些添加“章节”。结果应该是这样的:

无编号章节 A
无编号章节 B
1. 这是第一章。
2. 这是第二章。
第 3 章。这是第 3 章。
第 4 章。这是第 4 章。

答案1

您可以使用以下方法修补宏\l@chapter中间文档regexpatch以及来自修补宏内的参数

在此处输入图片描述

\documentclass{report}
\usepackage{regexpatch}% http://ctan.org/pkg/regexpatch
\makeatletter
\newcommand{\patchlchapter}{%
  \xpatchcmd{\l@chapter}{##1}{Chapter~##1}{}{}%
}
\makeatother
\begin{document}
\tableofcontents
\chapter*{Chapter without any number A}
\addcontentsline{toc}{chapter}{Chapter without any number A}
\chapter*{Chapter without any number B}
\addcontentsline{toc}{chapter}{Chapter without any number B}
\chapter{This is chapter 1}
\chapter{This is chapter 2}
\addtocontents{toc}{\protect\patchlchapter}
\chapter{This is chapter 3}
\chapter{This is chapter 4}
\end{document}

您必须修补此中间文档,因为.toc通过调用读取的\tableofcontents是一次性执行的。将补丁放置在中间文档中可确保它将在 中的正确位置执行.toc

\contentsline {chapter}{Chapter without any number A}{2}
\contentsline {chapter}{Chapter without any number B}{3}
\contentsline {chapter}{\numberline {1}This is chapter 1}{4}
\contentsline {chapter}{\numberline {2}This is chapter 2}{5}
\patchlchapter 
\contentsline {chapter}{\numberline {3}This is chapter 3}{6}
\contentsline {chapter}{\numberline {4}This is chapter 4}{7}

相关内容