# [texhax] Am I on the lastpage?

Reinhard Kotucha reinhard.kotucha at web.de
Mon May 20 04:56:10 CEST 2013

On 2013-05-19 at 23:05:06 +0000, Schwartz, Steven J wrote:

> Reinhard,
>
> Thanks for the reply. I think it's a very good reply, but perhaps not to the question I posed. See below:
>
> Reinhard Kotucha wrote on 2013-05-19:
> ----------------
> > On 2013-05-19 at 16:39:26 +0000, Schwartz, Steven J wrote:
> >
> >> (I tried to send this a week ago but haven't seen it, so perhaps it got
> >> lost)  > Dear All,  >  > I have a class file that uses fancyhdr and
> >> latex's leftmarks to
> > set  > footers depending on the context. It's for exams, so it sets  >
> > footers to "Turn to next page" or "This question continues ..." or  >
> > whatever, and on the last page it's supposed to write "End of  >
> > Examination". To accomplish this last task, I borrowed the logic  >
> > from the lastpage package. That is, AtEndDocument I write out a  >
> > label called lastpage, and in my header- building code I use an  >
> > ifthenelse construction to compare \thepage with  > \pageref{lastpage}.
> >>
> >> This works most of the time, but fails when there is only a small
> >> paragraph on the last page. This is due to the well-known TeX  >
> > behaviour which results (see the TeX FAQ) in \thepage being "almost  >
> > always wrong in the first paragraph of a page".
> >
> >>
> >> I have looked briefly at the most recent lastpage package and also
> >> the documentation for pageslts, but I think both are more concerned
> >> with accessing information via labels.
> >>
> >> There is a manual workaround by inserting a \pagebreak should this
> >> happen, but since I distribute this .cls to colleagues who are not
> >> all TeXies, I'm looking for an automated self-contained  > approach.
> > And one which doesn't rely on too many external packages  > and such
> > (which is why my .cls borrowed ideas from lastpage, with  > proper
> > credit, rather then used the ctan package).
> >>
> >> Anyone have any suggestions?
> >
> > texdoc atveryend
>
> I spent some time getting my code to talk to this package, only to
> realise (I think) that it doesn't solve my problem. It DOES provide
> a robust way to find out what the number of the last page of the
> document is, by writing it, e.g., as a \newlabel, to the aux
> file. But what I need to be able to do somehow is to compare that
> last page number with the number of the page on which the
> currently-being-processed text will appear. As \thepage is
> unreliable, I'm stuck, or perhaps missing something obvious.
>
> In short, the title of this thread expresses my problem. I don't
> want to know what the number of the lastpage is (although I
> appreciate that atveryend does a better job than lastpage); I want
> to know if I'm on it.

There is no reliable way to find out where you are before the output
routine is run.  What you can try is to use a \label and examine the
.aux file.  \pageref is reliable, so something similar should work.

Regards,
Reinhard

--
----------------------------------------------------------------------------
Reinhard Kotucha                                      Phone: +49-511-3373112
Marschnerstr. 25
D-30167 Hannover                              mailto:reinhard.kotucha at web.de
----------------------------------------------------------------------------
Microsoft isn't the answer. Microsoft is the question, and the answer is NO.
----------------------------------------------------------------------------