我正在尝试创建一个包含一系列测试说明的表单,每个说明都以小页面的形式显示,占用标准 A4 纸的 1/3 - 1/2 大小。我希望能够在每页的页脚内显示页面上的测试数量。
我创建了一个计数器,每当添加测试时,计数器就会递增,每当页面计数器递增时,计数器就会重置。但是,我发现即使由于空间不足,测试最终出现在下一页,测试计数器也会递增。有没有办法让计数器报告每页的正确测试数量?
其中包括 MWE:
\documentclass[10pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{fancyhdr}
\rfoot{\large{$\dfrac{}{\arabic{PageTestCounter}}$}}
\newcounter{PageTestCounter}[page]
\newcommand{\addTest}[1]{%
\stepcounter{PageTestCounter}
Test #1:\hspace{1cm}$\square$
\vspace{25\baselineskip}
}
\begin{document}
\pagestyle{fancy}
\addTest{1}
\addTest{2}
\addTest{3}
\end{document}
MWE 的输出:
答案1
您应该使用一个\mark
命令,例如与 extramarks 包一起使用:
\documentclass[10pt,a4paper]{article}
\usepackage{extramarks}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{fancyhdr}
\rfoot{\large{$\dfrac{}{\lastxmark}$}}
\usepackage{perpage}
\newcounter{PageTestCounter}
\MakePerPage{PageTestCounter}
\newcommand{\addTest}[1]{%
\stepcounter{PageTestCounter}%
Test #1:\extramarks{}{\arabic{PageTestCounter}}\hspace{1cm}$\square$
\vspace{25\baselineskip}%
}
\begin{document}
\pagestyle{fancy}
\addTest{1}
\addTest{2}
\addTest{3}
\end{document}
您也可以使用正常的\markboth
,但是您可能需要它用于部分。