由于特殊原因,我创建了一个\section
名为 的替代命令\nsection
。下面的简化版本的行为应与原始\section
命令类似,但是,我得到了有关标题文本的意外行为。
当我在分页符发生的地方使用时\nsection
,会出现标题文本早了一页。在下面的例子中,title D
页眉应该只出现在第 4 页,但它已经出现在第 3 页了。显然,原始\section
命令采取了一些措施来防止这种行为,因为title C
页眉没有出现在第 2 页。
我感兴趣的是了解为什么会发生这种情况以及如何配置我的自定义命令来防止这种情况发生。
\clearpage
我意识到,在我之前调用\nsection
可以解决问题,但是,如果将其放置在分页符以外的任何地方,都会导致不必要的行为。
\documentclass[b5paper]{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\DeclareDocumentCommand{\nsection}{oom}{%
\section*{#3}
\fancyhead[RE,LO]{\sffamily \slshape #3}
}
\begin{document}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RE,LO]{\rightmark}
\fancyhead[LE,RO]{\thepage}
\section{title A}
\lipsum[1-4]
\section{title B}
\lipsum[1-4]
\section{title C}
\lipsum[1-4]
\nsection{title D}
\lipsum[1-4]
\end{document}