使用简单命令为每组页面自定义页脚

使用简单命令为每组页面自定义页脚

我正在为我的课程做笔记,如果能在页脚中包含课程编号和日期就好了,我知道使用 fancyhdr 的自定义页脚(每个页面、章节的自定义页脚),但我希望找到功能类似于 \centering 和 \raggedleft 的东西

例如 \newfooter{session 1, 4 October 2021},它将被添加到此命令之后的所有页面,直到下一个命令 \newfooter{sessoin 2, 5 October 2021}

我认为改变 fancyhdr 风格会成功就像在这个问题中,但我不知道如何将其应用到我的情况中。

注意我正在使用书籍文档类,并且我不想干扰它的页眉(以及每章开头的页脚)

感谢您的帮助

答案1

您可以使用以下内容作为起点。它定义了\newfooter要更新的\customfooter宏,该宏在除起始章节页面之外的页面的页脚中设置。由于页脚与页面样式绑定,因此页面可能需要随每次发送(翻转)\newfooter。因此,加星标的版本\newfooter*不会发出\clearpage,而\newfooter(未加星标的版本)会发出。

\documentclass{book}

\usepackage{fancyhdr}
\usepackage{lipsum}

\fancyhf{}% Clear header/footer
\fancyfoot[C]{\customfooter}
\fancyhead[LE,OR]{\thepage}
\pagestyle{fancy}
\newcommand{\customfooter}{}% Define \customfooter to be empty at the start

\NewDocumentCommand{\newfooter}{s m}{%
  \IfBooleanF{#1}{\clearpage}% \newfooter* doesn't \clearpage 
  \renewcommand{\customfooter}{#2}% Store new footer
}

\begin{document}

\chapter{First chapter}

\newfooter*{Session 1, 4 October 2021}% Stay on current page

\lipsum[1-4]

\newfooter{Session 2, 5 October 2021}% Just to new page

\lipsum[5-10]

\end{document}

概念很简单:\customfooter在页脚中使用,并\customfooter使用提供的参数进行更新\newfooter

相关内容