通过以下示例,我无法更改第一页的页脚。
\documentclass[addpoints]{exam}
\firstpagefooter{left}{middle}{Page \thepage\ sur \numpages}
\title{Exam}
\begin{document}
\maketitle
\begin{questions}
\question Lorem Ipsum
\end{questions}
\end{document}
看起来\firstpagefooter
甚至\footer
命令都不起作用。
怎么了?
在我的用例中,我重新定义了\maketitle
命令:
\documentclass[addpoints]{exam}
\firstpagefooter{left}{middle}{Page \thepage\ sur \numpages}
\title{Exam}
\makeatletter
\def\@maketitle{%
\newpage
\null
\begin{center}%
{\LARGE \bfseries\@title \par}%
\vskip 1.5em%
\end{center}%
\par
\noindent\rule{\textwidth}{0.4pt}\vskip 1em
\thispagestyle{foot}
}
\makeatother
\begin{document}
\maketitle
\begin{questions}
\question Lorem Ipsum
\end{questions}
\end{document}
答案1
该\maketitle
命令强制\pagestyle{plain}
针对第一页。
如果要更改样式,请在之前添加\begin{document}
\usepackage{xpatch}
\xpatchcmd{\maketitle}
{\thispagestyle{plain}}
{}{}{}
如果要在所有后续页面上使用相同的页脚,请使用
\footer{left}{middle}{Page \thepage\ sur \numpages}
代替\firstpagefooter
使用自定义首页定义一个新命令,例如 \maketitleALT
\documentclass[addpoints]{exam}
\footer{left}{middle}{Page \thepage\ sur \numpages}
\title{Exam}
\makeatletter
\newcommand{\maketitleALT}{% added <<<<<<<<<<<<<<<<<
\centering
{\LARGE \bfseries\@title \par}%
\noindent\rule{\textwidth}{0.4pt}\vskip 1em
\thispagestyle{foot}
}
\makeatother
\begin{document}
\maketitleALT % changed <<<<<<<<<<
\begin{questions}
\question Lorem Ipsum
\end{questions}
\end{document}