具有特定编号的章节(1、1b、2、2b、3、4)

具有特定编号的章节(1、1b、2、2b、3、4)

目前我使用的是手动声明的章节标题版本。但我的想法是将其扩展为使用特定的、手动选择的章节数量。

我尝试获取这样的数字1, 1b, 2, 2b, 3, 4。但为了获取b,我想手动指定它,例如使用\chapter命令中的选项(类似于\chapter{...}获取1然后\chapter[b]{...}获取)1b

对于如何获得这个结果您有什么想法吗?

答案1

您可以+为“重复章节”添加说明符;所提议的代码不会干扰的使用\chapter*

\documentclass{book}

\makeatletter
\newcounter{repchapter}
\let\latex@chapter\chapter
\renewcommand{\chapter}{\@ifstar{\latex@chapter*}{\guuk@chapter}}
\newcommand{\guuk@chapter}{\@ifnextchar+{\repeat@chapter}{\restore@chapter\latex@chapter}}
\newcommand{\repeat@chapter}[1]{% #1 is +
  \addtocounter{chapter}{-1}%
  \addtocounter{repchapter}{1}%
  \gdef\thechapter{\arabic{chapter}\alph{repchapter}}%
  \latex@chapter
}
\newcommand{\restore@chapter}{%
  \setcounter{repchapter}{1}%
  \gdef\thechapter{\arabic{chapter}}%
}
\makeatother

\begin{document}

\tableofcontents

\chapter{Title}
x
\chapter+{Repeat}
x
\chapter{Title}
x
\chapter+{Repeat}
x
\chapter+{Again}
x
\end{document}

在此处输入图片描述

如果你加载hyperref,则添加

\renewcommand{\theHchapter}{\thechapter}

之后。\makeatletter确保\usepackage{hyperref}显示的代码。

相关内容