[OS X TeX] LastPage Reference
Roussanka Loukanova
rloukano at stp.lingfil.uu.se
Wed Mar 7 02:50:55 CET 2007
On Tue, 6 Mar 2007, Herbert Schulz wrote:
> On Mar 6, 2007, at 3:31 PM, Maurino Bautista wrote:
>
>> I copied the following code from Roussanka's posting which works
>> properly. I added the lines marked with %%% and I commented the right
>> footer command. I now get the following error:
>>
>> AED: lastpage setting LastPage
>> ! Missing number, treated as zero.
>> <to be read again>
>> \protect
>> l.46 \end{document}
>>
>> Anybody knows what is wrong? All I know is that the package hyperref
>> uses (or modifies-redefines-omits?? ) the LastPage reference.
...
> Howdy,
>
> Not sure, but do you need to explicitly have
>
> \usepackage{lastpage}
>
> to use LastPage? Maybe one of the other packages loads it?
It seems that lastpage.sty doesn't get loaded after commenting it, i.e.,
with
% \usepackage{lastpage}
I do not find
(/usr/local/gwTeX/texmf.texlive/tex/latex/lastpage/lastpage.sty)
resp.
(/usr/local/texlive/2007/texmf-dist/tex/latex/lastpage/lastpage.sty)
in the log file.
However, the setting LastPage wold be available for an additional pass of
latex, then in a 2nd round, the number of LastPage is not available. (This
is my interpretation of what I see in the log file: I do not know if I'm
right.)
> Also \ifthenelse has three arguments:
>
> \ifthenelse{test}{true commands}{else commands}
>
> so
>
> \lfoot{\ifthenelse{\value{page}=\pageref{LastPage}}{\tiny\today}}
> should have an extra {} pair for the else (assuming it should be blank if
> it's not the last page).
For strictness, you are right. But since Maurino's tex code typeset
properly, your comments made me look through the ifthen.pdf documentation:
Without being absolutely sure, ifthenelse.sty is extending (they say
compatible with) ifthen.sty and adds lasy evaluation of the logical
operators: in cases when P is true, "if P then Q else R" wouldn't look
for the else proposition, i.e. it the same as "if P then Q".
>
> Finally, in the command
>
> \cfoot{\ifthenelse{\not\value{page}=\pageref{LastPage}}{\scriptsize (over)}}
>
> the \not is only acting on \value{page} and I believe you mean it to be
Again, because Maurino's tex code typeset ok (I've ran it several times),
it looked to me that \not (number1 = number 2) has also abbreviated form
\not number1 = number 2. The documentation is more clear to me in this
aspect (than for the lasy evaluation). But they treat "number1 = number 2"
as a syntactic unit: atomic proposition, which hints to parsing of
\not number1 = number 2 as equivalent to \not (number1 = number 2).
>
> \not{\value{page}=\pageref{LastPage}} as well as missing the extra {}; i.e.,
> it should be
>
> \cfoot{\ifthenelse{\not{\value{page}=\pageref{LastPage}}}{\scriptsize
> (over)}{}}
>
> which is the same as the simpler
>
> \cfoot{\ifthenelse{\value{page}=\pageref{LastPage}}{}{\scriptsize (over)}}.
I think, it is; and I think that one would be on the safe side by
following the strict (and clear) syntax as you suggested. Esp. with the
drawbacks of the lazy evaluation (or may I just do not like it).
Roussanka
------------------------- Helpful Info -------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
List Reminders & Etiquette: http://www.esm.psu.edu/mac-tex/list/
More information about the macostex-archives
mailing list