在特定情况下,章节标题文本提前一页出现

在特定情况下,章节标题文本提前一页出现

由于特殊原因,我创建了一个\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}

相关内容