目前我使用的是手动声明的章节标题版本。但我的想法是将其扩展为使用特定的、手动选择的章节数量。
我尝试获取这样的数字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}
前显示的代码。