我喜欢在试卷上添加“翻页”建议,因为它会继续。现在,我手动执行此操作。我需要搜索页面结束的位置并添加
\vspace*{0.5cm}
\hfill \textit{Please turn \(\hookrightarrow\)}
在适当的位置。这不是一个非常好的解决方案,因为需要调整空间,这样它才不会落到下一页上。如果我必须这样做两次或更多次,垂直位置应该始终相同。有没有办法自动实现这一点?这是一个可以玩的最小工作示例。
\documentclass{minimal}
\usepackage[english]{babel}
\usepackage{blindtext}
\begin{document}
\begin{enumerate}
\item[\textbf{Task 1}]
\blindtext[5]
\item[\textbf{Task 2}]
\blindtext[3]
\vspace*{0.1cm}
\hfill \textit{Bitte wenden \(\hookrightarrow\)}
\item[\textbf{Task 3}]
\blindtext[2]
\end{enumerate}
\end{document}
答案1
该类exam
恰恰提供了这种功能:例如,你可以编写
\documentclass{exam}
\pagestyle{headandfoot}
\runningfooter{}{}{%
\oddeven{\iflastpage{}{\textbf{Turn over}}}{}
}
只在跨页的右侧放置翻页指示,而不在文档的最后一页放置翻页指示。
如果您想自己实现这一点,您可以看看exam
它是如何实现的,但坦率地说,对于这种事情来说,这是一个非常有用的类,我建议您使用它,除非您有紧迫的理由不这样做。
(编辑添加:如果你确实想在不改变你的班级的情况下做到这一点,那么唯一的一点不是包中fancyhdr
包含\iflastpage
宏,可以相当容易地将其取出:
\makeatletter
\AtEndDocument{%
\immediate\write\@mainaux
{\string\gdef\string\mydoc@lastpage{\arabic{page}}}}
\def\iflastpage#1#2{%
\@ifundefined{mydoc@lastpage}{\def\@@lastpage{-1}}%
{\edef\@@lastpage{\mydoc@lastpage}}%
\ifnum\value{page}=\@@lastpage\relax
#1%
\else
#2%
\fi
}
\makeatother
有了这些,你就可以在序言中使用
\usepackage{fancyhdr}
\fancyfoot{} % clear everything
\fancyfoot[RO]{\iflastpage{}{\textbf{Turn over}}}
以获得您想要的效果。
答案2
如果您想将文本移至右下角,请替换\vspace*{0.1cm}
为\vfill
。
还有其他几种方法可以在固定位置添加一些文本,例如 TikZ 及其(current page)
节点。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\vs}{%
\tikz[remember picture,overlay]{\node at
($(current page.south east)+(-2,3)$)
[anchor=south east] {Bitte wenden!};}
}
\usepackage{lipsum}% blind text
\begin{document}
\vs
\lipsum[1-3]
\end{document}
您可以将\vs
(volti subito) 宏放置在页面上的任何位置,文本始终位于与纸张右下角相同的位置。但是,使用此解决方案,您必须自己找到需要的页面\vs
。我不知道您的文档结构,所以我无法判断是否有自动化版本……
答案3
另一种解决方案是使用包totpages
对最后一页进行测试,但不使用任何@
-ed 命令。此包在两次运行中提供打印纸张所需的总纸张数,我们可以将其与当前页面进行比较。
\documentclass{article}
\usepackage{lipsum}
\usepackage{ifthen}
\usepackage{eso-pic} % Needed only for my lazy definition of the turn-over mark
\newcommand{\turnoverifneeded}{%
\ifthenelse{\equal{\thepage}{\TotSheets}}
{}
{Please turn around and turn the page over}% Redefine this as you wish
}
\AddToShipoutPictureBG{\AtPageLowerLeft \turnoverifneeded}% Same for this, can be replaced with a call to the fancyhdr features for example
\usepackage[pagespersheet=1]{totpages} % To be loaded last
\begin{document}
\lipsum[1-6]
\end{document}