如何使每个以部分开始的页面都有一个空样式

如何使每个以部分开始的页面都有一个空样式

存在一些我无法理解的问题。

我希望每个带有开始部分的页面都有empty样式

\appto\section{\thispagestyle{empty}}

我收到错误

! Argument of \thispagestyle has an extra }.

答案1

建议的方法

\preto{\section}{\thispagestyle{empty}}

实际上不起作用。以下是一个例子:

\documentclass{article}
\usepackage{kantlipsum}
\usepackage{etoolbox}

\preto{\section}{\thispagestyle{empty}}

\begin{document}

\section{Start}

\kant

\section{Second step}

\kant

\kant[1]\kant[2][1-4]

\section{Third step}

\kant

\end{document}

如果您查看第 5 页和第 6 页,您会发现第 5 页的页脚是空的,但该部分从第 6 页开始。

在此处输入图片描述

有什么问题?分页机制是异步的,就第三节而言,\thispagestyle{empty}在 TeX 真正知道该节标题必须移到下一页之前,命令就已经被消化了。

您需要将指令移至已经做出分页决定的时间点(困难的任务)或采取预防措施:

\documentclass{article}
\usepackage{kantlipsum}
\usepackage{needspace}

\AddToHook{cmd/section/before}{\needspace{5\baselineskip}\thispagestyle{empty}}

\begin{document}

\section{Start}

\kant

\section{Second step}

\kant

\kant[1]\kant[2][1-4]

\section{Third step}

\kant

\end{document}

我们\needspace{5\baselineskip}确保\section在新页面启动时可以看到该命令。

在此处输入图片描述

相关内容