jFuzzyLogic/paper/IJCIS_2012/lastpage.sty
2014-12-19 08:30:46 -05:00

194 lines
6.7 KiB
TeX

%%
%% This is file `lastpage.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lastpage.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% IMPORTANT NOTICE:
%% The usual disclaimers apply:
%% If it doesn't work right that's your problem.
%% (Nevertheless, send an e-mail to the maintainer
%% when you find an error in this package.)
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. This version of this license is in
%% http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
%% The Current Maintainer of this work is H.-Martin Muench
%% (Martin dot Muench at Uni-Bonn dot de).
%%
%% This package was invented by Jeffrey P. Goldberg
%% (jeffrey+news at goldmark dot org).
%% I thought that a replacement was needed and therefore created the
%% pagesLTS package,
%% http://www.ctan.org/tex-archive/macros/latex/contrib/pagesLTS/pagesLTS.dtx
%% or
%% http://www.ctan.org/tex-archive/install/macros/latex/contrib/pagesLTS.tds.zip
%% . Nevertheless, for compatibility with existing documents/packages as well as
%% for the low amount of resources needed by the lastpage package (no new counter!),
%% I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% This work consists of the main source file lastpage.dtx
%% and the derived files
%% lastpage.sty, lastpage.ins, lastpage.drv,
%% lastpage-example.tex, lastpage.pdf.
%%
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{lastpage}[2010/09/24 v1.2f
Refers to last page's name (HMM; JPG)]%
%% Allows for things like
%% Page \thepage of \pageref{LastPage}
%% to get
%% 'Page 7 of 9'.
%% For LaTeX 2.09 use lastpage209.sty. -
%% For LaTeX 2e maybe consider upgrading to the pagesLTS package.
%% The recent version of the endfloat package is v2.4i as of 1995/10/11.
%% The lastpage package is not fully compatible with version 2.0
%% (and earlier) of the endfloat package, because those versions
%% redefined the \enddocument command.
\def\lastpage@one{1}
\gdef\lastpage@hyper{0}
\gdef\lastpage@LTS{0}
\def\lastpage@firstpage{1}
\AtBeginDocument{
\@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}%
\@ifpackageloaded{pagesLTS}{%
\PackageWarning{lastpage}{Package pagesLTS found.\MessageBreak%
Therefore the lastpage package is no longer necessary.\MessageBreak%
}%
\gdef\lastpage@LTS{1}%
\@ifpackagelater{pagesLTS}{2010/09/21}{% 2010/09/22 v1.1k
}{%
\PackageWarning{lastpage}{Outdated version of pagesLTS package found.\MessageBreak%
For a recent version, see e.g. at\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
macros/latex/contrib/pagesLTS/ \MessageBreak%
or\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
install/macros/latex/contrib/pagesLTS.tds.zip\MessageBreak%
!%
}%
}%
}{%
\PackageInfo{lastpage}{Have a look at the pagesLTS package at\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
macros/latex/contrib/pagesLTS/ \MessageBreak%
or\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
install/macros/latex/contrib/pagesLTS.tds.zip\MessageBreak%
!%
}%
}%
\gdef\lastpage@putlabel{\relax}
}
\newcommand{\lastpage@putl@bel}%
{\@ifundefined{Hy@Warning}{% hyperref not loaded
}{% hyperref loaded
\gdef\lastpage@hyper{1}%
}%
\ifx\lastpage@LTS\lastpage@one%
\else%
\ifx\lastpage@hyper\lastpage@one%
\lastpage@putlabelhyper%
\else%
\begingroup
\addtocounter{page}{-1}%
\immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}%
\addtocounter{page}{+1}%
\endgroup
\fi%
\fi%
}
\newcommand{\lastpage@putlabelhyper}%
{\ifHy@pageanchor
\else%
\PackageError{lastpage}{hyperref option pageanchor disabled}{%
The \string\pageref{LastPage} link doesn't work\MessageBreak%
using hyperref with disabled option `pageanchor'.\MessageBreak%
}%
\fi%
\begingroup%
\addtocounter{page}{-1}%
%% The following code is from the hyperref package %%
%% [2010/04/17 v6.80x; newer versions are available] %%
%% by Heiko Oberdiek (Big Thanks!). %%
\let\@number\@firstofone
\ifHy@pageanchor
\ifHy@hypertexnames
\ifHy@plainpages
\def\Hy@temp{\arabic{page}}%
\else
\Hy@unicodefalse
%% Code not from hyperref package: %%
%% The following lines are taken from the pagesLTS package, %%
%% which in turn got them from the hyperref package and %%
%% modified them. %%
%% Without the modification, after the first shipout "PD1" %%
%% is inserted each time |\pdfstringdef\Hy@temp{\thepage}| %%
%% is executed. %%
\ifnum \value{page}=1%
\ifx \lastpage@firstpage\lastpage@one
\def\Hy@temp{\thepage}%
\gdef\lastpage@firstpage{0}%
\else%
%% Code from hyperref package again: %%
\pdfstringdef\Hy@temp{\thepage}%
%% End of code from the hyperref package. %%
\fi%
%% The pagesLTS package would even check for fnsymbol page %%
%% numbering scheme and adapt the code correspondingly. %%
\else%
%% Code from hyperref package again: %%
\pdfstringdef\Hy@temp{\thepage}%
%% Code from pagesLTS package again: %%
\fi%
%% Code from hyperref package again: %%
\fi
\else
\def\Hy@temp{\the\Hy@pagecounter}%
\fi
\fi
\immediate\write\@auxout{%
\string\newlabel
{LastPage}{{}{\thepage}{}{%
\ifHy@pageanchor page.\Hy@temp\fi}{}}%
}%
%% End of code from the hyperref package. %%
\addtocounter{page}{+1}%
\endgroup
}
\AtEndDocument{%
\gdef\lastpage@putlabel{\relax}
\if@filesw%
\message{AED: lastpage setting LastPage ^^J}%
\clearpage\lastpage@putl@bel%
\else%
\PackageError{lastpage}{No auxiliary file allowed.}%
{The lastpage package was not allowed to write to an .aux file.\MessageBreak%
This package does not work without access to an .aux file.\MessageBreak%
Press Ctrl+Z to exit.\MessageBreak%
}%
\fi%
}
\endinput
%%
%% End of file `lastpage.sty'.