\documentclass[10pt,a4paper,final,makeidx,twosides]{article}

\usepackage{atbegshi,refcount}
\usepackage{picture}

\usepackage{listings}

\usepackage{caption,lastpage}
%\captionsetup{figurename=Figure, tablename=Table}

\renewcommand{\captionfont}{\small}
\renewcommand{\captionlabelfont}{\bfseries}
\newcommand{\etex}{$\epsilon$-\TeX}

\usepackage[protrusion=true,draft=false,final,verbose=true,babel=true]{microtype}

\providecommand{\turnthepage}{\textit{Turn the page.}}

\AtBeginShipout{%
\AtBeginShipoutUpperLeft{%
     \ifodd\thepage%
        \ifnum\getpagerefnumber{LastPage}>\thepage%
        \dimen1=1in
        \advance\dimen1 by \textwidth
        \advance\dimen1 by \oddsidemargin
        \dimen3=1in
        \advance\dimen3 by \topmargin
        \advance\dimen3 by \headheight
        \advance\dimen3 by \headsep
        \advance\dimen3 by \textheight
        \advance\dimen3 by \footskip
        \put(\dimen1,-\dimen3){\llap{\turnthepage}}%
     \fi\fi%
}}

\title{The \textbf{turnthepage} package}
\author{Luca Merciadri, Marc van Dongen, Martin M\"unch}
\date{\today}

\usepackage{makeidx}

%% - HYPERREF PACKAGE - ** MUST be LAST ONE **
\usepackage[a4paper,bookmarks=true,bookmarksnumbered=true,bookmarksopen=true,bookmarksopenlevel=1,breaklinks=true,colorlinks=true,final,menucolor=red,pdfauthor={Merciadri Luca},pdfcreator={Merciadri Luca},pdfkeywords={math},pdftitle={The turnthepage package},pdfsubject={(La)TeX},pdftoolbar=true]{hyperref}
\hypersetup{urlcolor=red,linkcolor=blue,citecolor=blue,colorlinks=true}

\usepackage{breakurl}


%% -- INDEX GENERATION ACTIVATION --

\makeindex

%% -- INDEX GENERATION ACTIVATION --

\begin{document}


\maketitle

\tableofcontents

\newpage
\section{Introduction}
On some exams' sheets, some professors or lecturers like to indicate to the reader that the `page' can be turned. That avoids oversights to the student, thereby avoiding them cold sweat at the end of the exam, realizing that there were other questions they needed to answer. One might implement a \LaTeX{} mechanism so that each odd page (except the last one, if the last page is odd) displays a message to turn the page. This mechanism can also be useful for different kinds of documents.

This package can thus be used for exams, or special documents printed `twoside.'

\section{General Use}
\subsection{Loading the Package}
The general method to \textit{load the package} is to use
\begin{center}
\begin{verbatim}
\usepackage[option]{turnthepage}
\end{verbatim}
\end{center}
\subsection{Available Options}
\label{subsec:ao}
The \textit{following options are available}:
\begin{itemize}
\item \verb|short|: will display `/\ldots' at the bottom of each odd page, in its right corner, \index{\texttt{short}}
\item \verb|english|: will display `\textit{Turn the page.}' at the bottom of each odd page, in its right corner, \index{\texttt{english}}
\item \verb|francais|: will display `\textit{Tournez la page.}' at the bottom of each odd page, in its right corner, \index{\texttt{francais}}
\item \verb|nederlands|: will display `\textit{Sla de pagina om.}' at the bottom of each odd page, in its right corner, \index{\texttt{nederlands}}
\item \verb|deutsch|: will display `\textit{Bitte wenden.}' at the bottom of each odd page, in its right corner, \index{\texttt{deutsch}}
\end{itemize}
As the package calls \verb|\turnthepage| where it needs to be placed, you can define \verb|\turnthepage| as you want. For example, if you want a more polite way to say it, you can use
\begin{verbatim}
\renewcommand{\turnthepage}{\itshape Turn the page please.}
\end{verbatim}
after the preamble.

The package is composed of three \verb|.sty| files: one for the \etex{} version (with the \verb|zref-abspage| and \verb|zref-lastpage| packages), one for the non-\etex{} version (with the \verb|pagesLTS| package), and one main file. The main file (\verb|turnthepage.sty|) will automatically load \verb|turnpageetex.sty| if \etex{} is found, and \verb|turnpagewoetex.sty| if no \etex{} is detected.

You can decide to force the use of either \verb|turnpageetex.sty| or \verb|turnpagewoetex.sty| (provided you have the related \LaTeX{} installation) using
\begin{verbatim}
\usepackage[option]{turnpageetex}
\end{verbatim}
or
\begin{verbatim}
\usepackage[option]{turnpagewoetex}
\end{verbatim}
where, in both cases, \verb|option| is an element as defined at Subsection \ref{subsec:ao}. Notice the missing \verb|the| after \verb|turn| in these two specific files.

%\section{Implementation}
%Here is the code of \verb|turnthepage.sty|:
%\lstset{language=TEX, basicstyle=\normalsize, keywordstyle=\bfseries, commentstyle=\itshape, keywords={}, emph={}, emphstyle=\bfseries, numbers=left, stringstyle=\ttseries, showstringspaces=false, stepnumber=2, numbersep=5pt, showspaces=false, showtabs=false, backgroundcolor=\color{white}}

%\begin{lstlisting}[frame=single]
%\lstinputlisting[lastline=80]{turnthepage.forlisting}
%\end{lstlisting}

\section{Bugs}
There is currently only one `bug:'
\begin{itemize}
 \item Using a \verb|\setcounter| command will produce a missing number error.
\end{itemize}


\section{Version History}
\label{sec:vh}
\begin{enumerate}
\addtocounter{enumi}{-1}
 \item \verb|v1.0|: package is introduced to the \LaTeX{} world (happy new 2011 year!),
 \item \verb|v1.1|: new options are added thanks to Mr. van Dongen's suggestions: \verb|english| now replaces \verb|long|, and \verb|francais|, \verb|nederlands|, \verb|deutsch| are implemented as translations of `Turn the page.' in French, Dutch, and German,
 \item \verb|v1.2|: in \verb|v1.1|, setting page numbering to `arabic' lead to errors. As a result, Mr. Philipp Stephani proposed to use \verb|zref-abspage| and \verb|zref-lastpage| at the place of \verb|lastpage|. After some slight modifications, one can now use any page numbering style. This manual uses the old version of the macro, when the package is the new version,
 \item \verb|v1.3a|: Mr. Martin M\"unch told me by pers. comm. that the package cannot be used on all \LaTeX{} distributions, when they are not \etex{} capable. Fortunately, he had previously implemented the \verb|pagesLTS| package, which does not rely on \etex. It allowed him to write three files:
\begin{itemize}
 \item \verb|turnpageetex|: old \verb|turnthepage|'s equivalent (using \etex),
 \item \verb|turnpagewoetex|: old \verb|turnthepage|'s equivalent using \verb|pagesLTS|,
 \item \verb|turnthepage|: main file.
\end{itemize}
The package now works for users who do not have \etex: when invoking \verb|turnthepage|, the \verb|turnthepage| package decides to use either \verb|turnpageetex| or  \verb|turnpagewoetex| depending on \etex{} availability. It is also possible to use e.g. the \verb|turnpagewoetex| package independently. You simply need to replace
\begin{verbatim}
\usepackage[option]{turnthepage}
\end{verbatim}
by
\begin{verbatim}
\usepackage[option]{turnpagewoetex}
\end{verbatim}
and the same remark applies for \verb|turnpageetex|. Many thanks go to Mr. Martin M\"unch for this, who also added info messages depending on the package's status so that the user is now more aware about what's going on.
\end{enumerate}

\section{Thanks}
Many thanks go to
\begin{itemize}
\item Marc van Dongen for his help at \cite{mvd1},
\item Martin M\"unch for his personal communications and his version of \verb|turnthepage| without \etex,
\item Philipp Stephani at \cite{ps}.
\end{itemize}

\section{Contact}
If you have any question concerning this package (limitations, bugs, \ldots), please contact me at \href{mailto:Luca.Merciadri@student.ulg.ac.be}{Luca.Merciadri@student.ulg.ac.be}.

\newpage

\phantomsection
\printindex
% 
\newpage
\section{References}
\nocite{*}
\bibliographystyle{siam}
%\bibliographystyle{frplain}
%\bibliographystyle{alpha}
\label{biblio}
%\begin{multicols}{2}
\bibliography{turnthepage-bib}

\end{document}