\AtBeginChapter?

\AtBeginChapter?

是否有任何钩子可以像\AtBeginDocument章节、节等一样工作?类似的东西\AtBeginChapter?我想要以下代码:

\AtBeginChapter{%
   \setcounter{mycounter}{2}%
   . . . 
}

是的——我知道我可以创建我的计数器,这样每当新的章节开始时它就会重置,

\newcounter{mycounter}[chapter]

但我希望对新章节、新部分等开始时发生的情况有更多的控制权。

答案1

您可以\chapter在调用原始宏之前重新定义以执行指定的任务\chapter

在此处输入图片描述

\documentclass{memoir}% http://ctan.org/pkg/memoir
\let\oldchapter\chapter% Store \chapter in \oldchapter
\newcounter{mycounter}
\renewcommand{\chapter}{%
  \setcounter{mycounter}{2}% Insert "your content" here
  \oldchapter%
}
\begin{document}
\chapter{A chapter}
\themycounter
\end{document}

这是有效的,因为\chapter宏不会立即吞噬其参数(避免选择\LetLtxMacro使用letltxmacro,虽然这不会造成伤害)。它以* 第一的,允许人们先插入您的要求。请注意,原文\chapter在设置标题之前会发出分页符(如果“您的内容”应该受此影响)。

\chapter以上内容也适用于常规定义文档类(reportbook)。

章节稍微容易一些,因为它们提供了一个“钩子”memoir:将在 之前\setsechook{<stuff>}执行。它还提供了s和s 。<stuff>\section\setsubsechook\subsection\setsubsubsechook\subsubsection

相关内容