如何在章节中切换数字?

如何在章节中切换数字?

所以我希望我的章节是这样的:

Chapter 1
Chapter 2
Chapter 3+4
Chapter 6

是的,我想找到一种方法,将两个章节合并为一个,并跳过一个章节

答案1

可以通过使用增加章节计数器来跳过章节\refstepcounter{chapter}

合并两个章节有点困难。为此,您可以临时重新定义用于打印章节编号的宏,该宏称为\thechapter。通常将其定义为\arabic{chapter},意思是“以阿拉伯数字打印章节计数器”。您可以将其重新定义为“打印章节计数器和章节计数器+1”,然后添加合并的章节,然后将计数器打印宏重置为原始定义。

可以使用\numexpr(numeric expression)(用于执行算术的内置 LaTeX 宏)打印计数器加一。在这种情况下,您需要章节计数器的值 ( \value{chapter}) 并加一。此表达式以 结尾\relax并打印\the。完整语句如下:

\the\numexpr\value{chapter}+1\relax

这可以用于重新定义\thechapter

\def\thechapter{\arabic{chapter}+\the\numexpr\value{chapter}+1\relax}

请注意,第一个 + 是作为标题的一部分打印的实际加号,而第二个 + 是要评估的算术表达式的一部分。

为了使此重新定义成为临时定义,应首先存储原始定义,然后恢复,如下所示:

% store old definition in helper macro \oldchapter
\let\oldchapter\thechapter
% redefinition
\def\thechapter{\arabic{chapter}\texttt{+}\the\numexpr\value{chapter}+1\relax}
% start a chapter which uses the new definition
\chapter{Two chapters}
% restore old definition by copying \oldchapter back into \thechapter
\let\thechapter\oldchapter

现在还有两个问题。首先,文本模式下的常规 + 符号看起来不太好看,太大而且不是垂直居中。我认为等宽字体\texttt看起来更好,如下所示:

\arabic{chapter}\texttt{+}\the\numexpr %etc

然后,目录只为章节号保留了一小部分空间,因此 3+4 太宽并且与章节标题重叠。可以使用包更改章节号宽度tocloft

\usepackage{tocloft}
\setlength{\cftchapnumwidth}{15mm}

下面是完整的 MWE。请注意,章节计数器被跳过两次,因为它从 3 变为 6(计数器实际上从来不是 4,4 被打印为 3+1)。

\documentclass{report}
\usepackage{tocloft}
\setlength{\cftchapnumwidth}{15mm}
\begin{document}
\tableofcontents
\chapter{A chapter}
\chapter{Another chapter}
\label{single}
\let\oldchapter\thechapter
\def\thechapter{\arabic{chapter}\texttt{+}\the\numexpr\value{chapter}+1\relax}
\chapter{Two chapters}
\label{double}
\let\thechapter\oldchapter
\refstepcounter{chapter}
\refstepcounter{chapter}
\chapter{Last chapter}
see also chapters \ref{single} and \ref{double}
\end{document}

结果:

在此处输入图片描述

引用按预期工作:

在此处输入图片描述

相关内容