diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/pagesLTS/pagesLTS.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/pagesLTS/pagesLTS.sty | 1162 |
1 files changed, 1162 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pagesLTS/pagesLTS.sty b/Master/texmf-dist/tex/latex/pagesLTS/pagesLTS.sty new file mode 100644 index 00000000000..a6f40cc72b5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/pagesLTS/pagesLTS.sty @@ -0,0 +1,1162 @@ +%% +%% This is file `pagesLTS.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% pagesLTS.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% IMPORTANT NOTICE: +%% On the first page backslash pagenumbering should be called +%% (with the appropriate argument out of e.g. +%% * roman - Lowercase Roman numerals: i, ii, iii, iv,... +%% * Roman - Uppercase Roman numerals: I, II, III, IV,... +%% * arabic - Arabic numerals: 1, 2, 3, 4,... +%% * alph - Lowercase letters: a, b, c, d,... +%% * Alph - Uppercase letters: A, B, C, D,... +%% * fnsymbol - Footnote symbols: *, ^^86 (ddagger), ^^87 (dddagger), +%% ^^a7 (mathsection),... +%% ). The command backslash pagenumbering is renewed, but no change +%% should be visible to the output text, because only labels are added. +%% backslash OrigPagenumbering can be used to get the original meaning +%% of backslash pagenumbering, but in that case this package does not +%% see the change in the page numbering scheme and will make mistakes. +%% The package takes options. +%% +%% 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 first started as a revision of the lastpage +%% package of Jeffrey P. Goldberg (jeffrey+news at goldmark dot org), +%% but it became obviouse that a replacement was needed. +%% +%% This work consists of the main source file pagesLTS.dtx +%% and the derived files +%% pagesLTS.sty, pagesLTS.pdf, pagesLTS.ins, pagesLTS.drv, +%% pagesLTS-example.tex. +%% +\NeedsTeXFormat{LaTeX2e}[1994/06/01] +\ProvidesPackage{pagesLTS}[2010/09/22 v1.1k + Refers to special pages' numbers/names (HMM)]% + +%% Allows for things like\\ +%% |Page \thepage\ (\theCurrentPage; local: \theCurrentPageLocal) of % +%% \lastpageref{pagesLTS.roman}(\lastpageref{pagesLTS.roman.local}) + % +%% \lastpageref{pagesLTS.Roman}(\lastpageref{pagesLTS.Roman.local}) + % +%% \lastpageref{pagesLTS.arabic}(\lastpageref{pagesLTS.arabic.local}) + % +%% \lastpageref{pagesLTS.fnsymbol}(\lastpageref{pagesLTS.fnsymbol.local}) + % +%% \lastpageref{pagesLTS.alph}(\lastpageref{pagesLTS.alph.local}) + % +%% \lastpageref{pagesLTS.Alph}(\lastpageref{pagesLTS.Alph.local}) = % +%% \lastpageref{LastPages} pages.|\\ +%% to get\\ +%% 'Page d (57; local: 4) of ii(2) + XX(20) + *(1) + 30(30) + e(5) + C(3) = 61 pages.'. + +\RequirePackage{atveryend}[2010/03/24]% v1.5 +\RequirePackage{everyshi}[2001/05/15]%v 3.00 +\RequirePackage{kvoptions}[2010/02/22]% v3.7 +\RequirePackage{undolabl}[2010/09/12]% v1.0g +%% pagesLTS package uses Prelim@EveryShipout code from the +%% prelim2e package [2009/05/29 v1.3] by Martin Schr\"{o}der, thanks! + +%% pagesLTS may work with earlier versions of those packages, +%% but this was not tested. Please consider updating your packages +%% to the most recent version (if they are not already the most +%% recent version). + +%% The recent version of the endfloat package is v2.4i as of 1995/10/11. +%% The pagesLTS package is not fully compatible with version 2.0 +%% (and earlier) of the endfloat package, because those versions +%% redefined the \enddocument command. + +\SetupKeyvalOptions{family = pagesLTS,prefix = pagesLTS@} +\DeclareBoolOption[true]{pagecontinue} % \pagesLTS@pagecontinue +\DeclareStringOption{alphMult}[ab] +\DeclareStringOption{AlphMulti}[AB] +\DeclareBoolOption[true]{romanMult} +\DeclareBoolOption[true]{RomanMulti} +\DeclareBoolOption[true]{fnsymbolmult} + +\ProcessKeyvalOptions* + +\def\pagesLTS@zero{0} +\def\pagesLTS@one{1} + +\ifpagesLTS@pagecontinue% + \PackageInfo{pagesLTS}{Option pagecontinue enabled\MessageBreak% + (maybe by default):\MessageBreak% + The pagesLTS package will continue the page numbering,\MessageBreak% + when the same page numbering scheme is used twice.\MessageBreak% + If you do not want this, call pagesLTS with option\MessageBreak% + pagecontinue=false\MessageBreak% + (or use \ setcounter{page}=1).\MessageBreak% + }% +\else% + \PackageWarningNoLine{pagesLTS}{Option pagecontinue is false:\MessageBreak% + The pagesLTS package was used, but the option\MessageBreak% + pagecontinue was set to false.\MessageBreak% + If you want the page numbers to be continued,\MessageBreak% + when the same page numbering scheme is used twice,\MessageBreak% + please call pagesLTS with option pagecontinue=true,\MessageBreak% + otherwise the page number is reset to one each time\MessageBreak% + the page numbering scheme is changed.\MessageBreak% + For details please see the documentation!\MessageBreak% + }% +\fi% + +\def\pagesLTS@ab{ab} +\def\pagesLTS@bb{bb} +\def\pagesLTS@ABi{AB} +\def\pagesLTS@BBi{BB} +\def\pagesLTS@messageaMz{Option alphMult=0 found:\MessageBreak% + The pagesLTS package was used, but the option\MessageBreak% + alphMult was set to 0 (zero).\MessageBreak% + If you want the page numbers to be extended\MessageBreak% + after z, you have to organize this yourself now.\MessageBreak% + For automatic continuation, please use the\MessageBreak% + alphalph package and call pagesLTS\MessageBreak% + with option alphMult=ab (for aa, ab, ac, ad,...) or\MessageBreak% + with option alphMult=bb (for aa, bb, cc, dd,...).\MessageBreak% + For details please see the documentation!\MessageBreak% +} +\def\pagesLTS@messageAMiz{Option AlphMulti=0 found:\MessageBreak% + The pagesLTS package was used, but the option\MessageBreak% + AlphMulti was set to 0 (zero).\MessageBreak% + If you want the page numbers to be extended\MessageBreak% + after Z, you have to organize this yourself now.\MessageBreak% + For automatic continuation, please use the\MessageBreak% + alphalph package and call pagesLTS\MessageBreak% + with option AlphMulti=AB (for AA, AB, AC, AD,...) or\MessageBreak% + with option AlphMulti=BB (for AA, BB, CC, DD,...).\MessageBreak% + For details please see the documentation!\MessageBreak% +} +\def\pagesLTS@messagefsmz{Option fnsymbolmult is set to false:\MessageBreak% + The pagesLTS package was used, but the option\MessageBreak% + fnsymbolmult was set to false.\MessageBreak% + If you want the page numbering of the footnotesymbol\MessageBreak% + scheme to be extended using the alphalph package,\MessageBreak% + please call pagesLTS with option fnsymbolmult=true,\MessageBreak% + otherwise page numbers of the footnotesymbol scheme\MessageBreak% + greater than nine will need to be defined otherwise.\MessageBreak% + For details please see the documentation!\MessageBreak% +} + +\ifx\pagesLTS@alphMult\pagesLTS@ab% + \relax% +\else% + \ifx\pagesLTS@alphMult\pagesLTS@bb% + \relax% + \else% + \ifx\pagesLTS@alphMult\pagesLTS@zero% + \PackageWarningNoLine{pagesLTS}{\pagesLTS@messageaMz }% + \else% + \PackageError{pagesLTS}{Unknown option value}% + {The pagesLTS package was used with option\MessageBreak% + alphMult= \pagesLTS@alphMult . Only values\MessageBreak% + ab, bb, and 0 (zero) are valid.\MessageBreak% + The default ab is set.\MessageBreak% + For details please see the documentation!\MessageBreak% + }% + \setkeys{pagesLTS}{alphMult=ab}% + \fi% + \fi% +\fi% + +\ifx\pagesLTS@AlphMulti\pagesLTS@ABi% + \relax% +\else% + \ifx\pagesLTS@AlphMulti\pagesLTS@BBi% + \relax% + \else% + \ifx\pagesLTS@AlphMulti\pagesLTS@zero% + \PackageWarningNoLine{pagesLTS}{\pagesLTS@messageAMiz }% + \else% + \PackageError{pagesLTS}{Unknown option value}% + {The pagesLTS package was used with option\MessageBreak% + AlphMulti= \pagesLTS@AlphMulti . Only values\MessageBreak% + AB, BB, and 0 (zero) are valid.\MessageBreak% + The default AB is set.\MessageBreak% + For details please see the documentation!\MessageBreak% + }% + \setkeys{pagesLTS}{AlphMulti=AB}% + \fi% + \fi% +\fi% + +\ifpagesLTS@romanMult% + \PackageInfo{pagesLTS}{Option romanMult enabled\MessageBreak% + (maybe by default):\MessageBreak% + The pagesLTS package will extend the page numbering\MessageBreak% + of the roman scheme below i with\MessageBreak% + 0, -i, -ii, -iii, -iv,...\MessageBreak% + If you do not want this, call pagesLTS with option\MessageBreak% + romanMult=false.\MessageBreak% + }% +\else% + \PackageWarningNoLine{pagesLTS}{Option romanMult is set to false:\MessageBreak% + The pagesLTS package was used, but the option\MessageBreak% + romanMult was set to false.\MessageBreak% + If you want the page numbering of the roman scheme\MessageBreak% + to be extended below i,\MessageBreak% + please call pagesLTS with option romanMult=true,\MessageBreak% + otherwise zero and negative page numbers of the\MessageBreak% + roman scheme will need to be defined otherwise.\MessageBreak% + For details please see the documentation!\MessageBreak% + }% +\fi% + +\ifpagesLTS@RomanMulti% + \PackageInfo{pagesLTS}{Option RomanMulti enabled\MessageBreak% + (maybe by default):\MessageBreak% + The pagesLTS package will extend the page numbering\MessageBreak% + of the Roman scheme below I with\MessageBreak% + 0, -I, -II, -III, -IV,...\MessageBreak% + If you do not want this, call pagesLTS with option\MessageBreak% + RomanMulti=false.\MessageBreak% + }% +\else% + \PackageWarningNoLine{pagesLTS}{Option RomanMulti is set to false:\MessageBreak% + The pagesLTS package was used, but the option\MessageBreak% + RomanMulti was set to false.\MessageBreak% + If you want the page numbering of the Roman scheme\MessageBreak% + to be extended below i,\MessageBreak% + please call pagesLTS with option RomanMulti=true,\MessageBreak% + otherwise zero and negative page numbers of the\MessageBreak% + Roman scheme will need to be defined otherwise.\MessageBreak% + For details please see the documentation!\MessageBreak% + }% +\fi% + +\ifpagesLTS@fnsymbolmult% + \PackageInfo{pagesLTS}{Option fnsymbolmult enabled\MessageBreak% + (maybe by default):\MessageBreak% + The pagesLTS package will extend the page numbering\MessageBreak% + of the footnotesymbol scheme using the alphalph\MessageBreak% + package.\MessageBreak% + If you do not want this, call pagesLTS with option\MessageBreak% + fnsymbolmult=false.\MessageBreak% + }% +\else% + \PackageWarningNoLine{pagesLTS}{\pagesLTS@messagefsmz }% +\fi% + +\def\pagesLTS@pnc{0} +\def\pagesLTS@called{0} +\def\pagesLTS@fns{fnsymbol} +\def\pagesLTS@alph{alph} +\def\pagesLTS@Alph{Alph} +\def\pagesLTS@AlphAlph{0} +\def\pagesLTS@hyper{0} +\def\pagesLTS@rerun{0} +\def\pagesLTS@eso{0} +\def\pagesLTS@esov{0} +\def\lastpageref{\lastpagereftxt} +\def\pagesLTS@undolable{none} +\def\pagesLTS@messageNPN{% + The pagesLTS package was used, but\MessageBreak% + \textbackslash pagenumbering\MessageBreak% + was not called at the beginning of the document\MessageBreak% + (maybe earlier or later).\MessageBreak% + Please use \textbackslash pagenumbering\MessageBreak% + (with an argument like arabic, roman, Roman,\MessageBreak% + fnsymbol, alph, or Alph) at the beginning\MessageBreak% + of your document! Otherwise your document\MessageBreak% + will probably compile, but the pagesLTS\MessageBreak% + package might not be able to get all labels\MessageBreak% + for the references to the respective pages\MessageBreak% + right.\MessageBreak% + } + +\let\OrigPagenumbering\pagenumbering + +\newcounter{CurrentPage} +\setcounter{CurrentPage}{1} +\def\theCurrentPageLocal{\arabic{pagesLTS.current.local.\pagesLTS@pnc}} +\newcounter{pagesLTS.pagenr} +\newcounter{pagesLTS.current.local.0} +\setcounter{pagesLTS.current.local.0}{1} +\newcounter{pagesLTS.pnc.0} + +\newcommand{\xroman}[1]{% + \ifnum\value{#1}>0 % + \roman{#1}% + \else% + \ifnum\value{#1}<0 % + -\romannumeral\number-\arabic{#1} + \else% + 0% + \fi% + \fi% + } + +\newcommand{\XRoman}[1]{% + \ifnum\value{#1}>0 % + \Roman{#1}% + \else% + \ifnum\value{#1}<0 % + -\expandafter\@slowromancap\romannumeral\number-\arabic{#1}@% + \else% + 0% + \fi% + \fi% + } + +\newcommand{\XXRoman}[1]{\XRoman{#1}% + \PackageError{pagesLTS}{Old command \string\XXRoman\space found}{Replaced by \string\XRoman.}% + } + +\newcommand{\pagesLTS@ifcounter}[1]{% + \@ifundefined{c@#1}{\newcounter{#1}}{\relax}% + } + +\newcommand{\lastpages}[2]{% + \pagesLTS@ifcounter{pagesLTS.#1.#2.local.cnt}% + \arabic{pagesLTS.#1.#2.local.cnt}% + } + +\newcommand{\pagesLTS@writelabel}[1]{% + \addtocounter{page}{+1}% + \pagesLTS@putlabel{pagesLTS.#1}{\thepage}{1} + \addtocounter{page}{-1}% + \ifx\pagesLTS@pnc\pagesLTS@zero% + \relax% + \else% + \addtocounter{page}{+1}% + \pagesLTS@putlabel{pagesLTS.#1.local}{\theCurrentPageLocal}{1} + \addtocounter{page}{-1}% + \fi% + } + + +%% The following code is from Heiko Oberdiek [2010/04/18], %% +%% expanding his alphalph package [2010/04/18] v2.3. (Thanks!) %% +\newcommand*{\erroralphalph}[2]{% + \ifnum\value{#2}>0 % + #1{\value{#2}}% + \else + \ifnum\value{#2}<0 % + -#1{\expandafter\@gobble\the\value{#2}}% + \else + 0% + \fi + \fi + } +%% End of code from Heiko Oberdiek %% +%% Check and Error/Warning messages have been moved to %% +%% \EveryShipout, because messages inside e. g. the \pageref %% +%% command can cause trouble. %% + + +\newcommand{\expandPagenumbering}[1]{% + \let\Origthepage\thepage% + \def\pagesLTS@tmpC{arabic}% + \ifx\pagesLTS@pnc\pagesLTS@tmpC% + \relax% + \else% + \def\pagesLTS@tmpC{roman}% + \ifx\pagesLTS@pnc\pagesLTS@tmpC% + \ifpagesLTS@romanMult% + \renewcommand*{\thepage}{\xroman{page}}% + \fi% + \else% + \def\pagesLTS@tmpC{Roman}% + \ifx\pagesLTS@pnc\pagesLTS@tmpC% + \ifpagesLTS@RomanMulti% + \renewcommand*{\thepage}{\XRoman{page}}% + \fi% + \else% + \ifx\pagesLTS@pnc\pagesLTS@alph% + \ifx\pagesLTS@alphMult\pagesLTS@ab% + \renewcommand*{\thepage}{\erroralphalph{\alphalph}{page}}% + \else \ifx\pagesLTS@alphMult\pagesLTS@bb% + \renewcommand*{\thepage}{\erroralphalph{\alphMult}{page}}% + \fi% + \fi% + \else% + \ifx\pagesLTS@pnc\pagesLTS@Alph% + \ifx\pagesLTS@AlphMulti\pagesLTS@ABi% + \renewcommand*{\thepage}{\erroralphalph{\AlphAlph}{page}}% + \else \ifx\pagesLTS@AlphMulti\pagesLTS@BBi% + \renewcommand*{\thepage}{\erroralphalph{\AlphMult}{page}}% + \fi% + \fi% + \else% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \ifpagesLTS@fnsymbolmult% + \renewcommand*{\thepage}{\erroralphalph{\fnsymbolmult}{page}}% + \fi% + \else% + \PackageError{pagesLTS}{unknown page numbering scheme}{% + The pagesLTS package encountered the unknown\MessageBreak% + page numbering scheme\MessageBreak% + `#1'. \MessageBreak% + If this is no typing mistake, it might work\MessageBreak% + - or it might not work.\MessageBreak% + \@ehc% + } + \fi% + \fi% + \fi% + \fi% + \fi% + \fi% + \let\pagesLTS@tmpC\undefined% + } + +\renewcommand{\pagenumbering}[1]{% + \edef\pagesLTS@tmpA{#1}% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% + \fi% + \ifx\pagesLTS@tmpA\pagesLTS@fns% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% + \fi% + \ifx\pagesLTS@pnc\pagesLTS@tmpA% + \relax% + \else% + \ifnum \value{CurrentPage}>1% + \addtocounter{page}{-1}% + \addtocounter{pagesLTS.current.local.\pagesLTS@pnc}{-1}% + \newcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}% + \setcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% + \value{pagesLTS.current.local.\pagesLTS@pnc}}% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}>1% + \mathchardef\pagesLTS@tmpa=\arabic{pagesLTS.pnc.0}% + \setcounter{pagesLTS.pnc.0}{\value{pagesLTS.pnc.\pagesLTS@pnc}}% + \addtocounter{pagesLTS.pnc.0}{-1}% + \addtocounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% + -\value{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.0}.local.count}}% + \setcounter{pagesLTS.pnc.0}{\pagesLTS@tmpa}% + \fi% + \else% + \pagesLTS@writelabel{\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}}% + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}<2% + \pagesLTS@writelabel{\pagesLTS@pnc}% + \else% + \mathchardef\pagesLTS@tmpa=\arabic{pagesLTS.pnc.0}% + \setcounter{pagesLTS.pnc.0}{\value{pagesLTS.pnc.\pagesLTS@pnc}}% + \addtocounter{pagesLTS.pnc.0}{-1}% + \pagesLTS@ifcounter{pagesLTS.\pagesLTS@pnc.done}% + \addtocounter{pagesLTS.\pagesLTS@pnc.done}{% + \value{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.0}.local.count}}% + \addtocounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% + -\value{pagesLTS.\pagesLTS@pnc.done}}% + \setcounter{pagesLTS.pnc.0}{\pagesLTS@tmpa}% + \fi% + \if@filesw% + \immediate\write\@auxout{\string + \pagesLTS@ifcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.cnt}}% + \fi% + \edef\pagesLTS@tmpB{\arabic{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}}% + \if@filesw% + \immediate\write\@auxout{\string + \setcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.cnt}{\pagesLTS@tmpB}}% + \fi% + \fi% + \pagesLTS@ifcounter{pagesLTS.double.\pagesLTS@pnc}% + \setcounter{pagesLTS.double.\pagesLTS@pnc}{\value{page}}% + \addtocounter{pagesLTS.current.local.\pagesLTS@pnc}{+1}% + \addtocounter{page}{+1}% + \global\edef\pagesLTS@pnc{#1}% + \OrigPagenumbering{#1}% + \expandPagenumbering{#1} + \pagesLTS@ifcounter{pagesLTS.pnc.\pagesLTS@pnc}% + \addtocounter{pagesLTS.pnc.\pagesLTS@pnc}{1}% + \pagesLTS@ifcounter{pagesLTS.double.\pagesLTS@pnc}% + \addtocounter{pagesLTS.double.\pagesLTS@pnc}{1}% + \ifpagesLTS@pagecontinue% + \setcounter{page}{\value{pagesLTS.double.\pagesLTS@pnc}}% + \else% + \setcounter{page}{1}% + \fi% + \pagesLTS@ifcounter{pagesLTS.current.local.\pagesLTS@pnc}% + \ifnum \value{pagesLTS.double.\pagesLTS@pnc}=1% + \setcounter{pagesLTS.current.local.\pagesLTS@pnc}{1}% + \fi% + \else% + %% before the first page has shiped out + \global\edef\pagesLTS@pnc{#1}% + \countdef\c@page=0 \c@page=1 + \def\cl@page{} + \global\c@page \@ne + \global\def\thepage{\csname \expandafter @\pagesLTS@pnc \endcsname \c@page}% + \expandPagenumbering{#1} + \pagesLTS@ifcounter{pagesLTS.pnc.\pagesLTS@pnc}% + \setcounter{pagesLTS.pnc.\pagesLTS@pnc}{1}% + \pagesLTS@ifcounter{pagesLTS.double.\pagesLTS@pnc}% + \setcounter{pagesLTS.double.\pagesLTS@pnc}{1}% + \pagesLTS@ifcounter{pagesLTS.current.local.\pagesLTS@pnc}% + \setcounter{pagesLTS.current.local.\pagesLTS@pnc}{1}% + \fi% + \gdef\pagesLTS@called{1}% + \fi% + \let\pagesLTS@tmpA\undefined% + \let\pagesLTS@tmpB\undefined% + } + +\def\lastpagereftxt#1{\pagesLTS@@pageref#1*\END} + +\def\pagesLTS@@pageref#1*#2\END{% + \ifx\\#2\\% no star + \pagesLTS@@@pageref{#1}% + \else% star + \expandafter\pagesLTS@@@pagerefstar% + \fi% +} + +\def\pagesLTS@@@pageref#1{\lastpagereftext{#1}} +\def\pagesLTS@@@pagerefstar#1{\lastpagereftextstar{#1}} + +\newcommand{\lastpagereftext}[1]{% + \def\pagesLTS@tmpA{#1}% + \def\pagesLTS@tmpB{pagesLTS.fnsymbol.local}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% + \ifx\pagesLTS@hyper\pagesLTS@one% + \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% + {\arabic{pagesLTS.fnsymbol.local}}% + \else \arabic{pagesLTS.fnsymbol.local}% + \fi% + \else% + \pageref{#1}% + \fi% + \let\pagesLTS@tmpA\undefined% + \let\pagesLTS@tmpB\undefined% + } + +\newcommand{\lastpagereftextstar}[1]{% + \def\pagesLTS@tmpA{#1}% + \def\pagesLTS@tmpB{pagesLTS.fnsymbol.local}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% + \arabic{pagesLTS.fnsymbol.local}% + \else% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pageref*{#1}% + \else% + \pageref{#1}% + \fi% + \fi% + \let\pagesLTS@tmpA\undefined% + \let\pagesLTS@tmpB\undefined% + } + +\def\lastpagerefend#1{\pagesLTS@@pagerefend#1*\END} + +\def\pagesLTS@@pagerefend#1*#2\END{% + \ifx\\#2\\% no star + \pagesLTS@@@pagerefend{#1}% + \else% star + \expandafter\pagesLTS@@@pagerefendstar% + \fi% +} + +\def\pagesLTS@@@pagerefend#1{\l@stpagerefend{#1}} +\def\pagesLTS@@@pagerefendstar#1{\l@stpagerefendstar{#1}} + +\newcommand{\l@stpagerefend}[1]{% + \def\pagesLTS@tmpA{#1}% + \def\pagesLTS@tmpB{pagesLTS.fnsymbol.local}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% + \ifx\pagesLTS@hyper\pagesLTS@one% + \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% + {\arabic{pagesLTS.fnsymbol.local}}% + \else \arabic{pagesLTS.fnsymbol.local}% + \fi% + \else% + \def\pagesLTS@tmpB{pagesLTS.fnsymbol}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% + {\pagesLTS.lastpage}% + \else \pageref{pagesLTS.fnsymbol}% + \fi% + \else% + \def\pagesLTS@tmpB{LastPage}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \href{\#pagesLTS.fnsymbol.local.\pagesLTS@eso}% + {\pagesLTS.lastpage}% + \else \pageref{LastPage}% + \fi% + \else% + \def\pagesLTS@tmpB{VeryLastPage}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% + {\pagesLTS.lastpage}% + \else \pageref{VeryLastPage}% + \fi% + \else% + \def\pagesLTS@tmpB{LastPages}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% + {\arabic{pagesLTS.pagenr}}% + \else \pageref{LastPages}% + \fi% + \else% + \pageref{#1}% + \fi% + \fi% + \fi% + \fi% + \fi% + \let\pagesLTS@tmpA\undefined% + \let\pagesLTS@tmpB\undefined% + } + +\newcommand{\l@stpagerefendstar}[1]{% + \def\pagesLTS@tmpA{#1}% + \def\pagesLTS@tmpB{pagesLTS.fnsymbol.local}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% + \arabic{pagesLTS.fnsymbol.local}% + \else% + \def\pagesLTS@tmpB{pagesLTS.fnsymbol}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pageref*{pagesLTS.fnsymbol}% + \else \pageref{pagesLTS.fnsymbol}% + \fi% + \else% + \def\pagesLTS@tmpB{LastPage}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pageref*{LastPage}% + \else \pageref{LastPage}% + \fi% + \else% + \def\pagesLTS@tmpB{VeryLastPage}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pageref*{VeryLastPage}% + \else \pageref{VeryLastPage}% + \fi% + \else% + \def\pagesLTS@tmpB{LastPages}% + \ifx\pagesLTS@tmpA\pagesLTS@tmpB% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pageref*{LastPages}% + \else \pageref{LastPages}% + \fi% + \else% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pageref*{#1}% + \else \pageref{#1}% + \fi% + \fi% + \fi% + \fi% + \fi% + \fi% + \let\pagesLTS@tmpA\undefined% + \let\pagesLTS@tmpB\undefined% + } + +\newcommand\overrideLTSlabel[2]{% + \@bsphack + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}>1% + \edef\pagesLTStmpA{#1}% + \edef\pagesLTStmpB{pagesLTS.\pagesLTS@pnc.local}% + \ifx\pagesLTStmpA\pagesLTStmpB% + \immediate\write\@auxout{\string\undonewlabel{#1}\string\relax}% + \@overriddenmessage s{#1}% + \fi% + \fi% + \pagesLTS@putlabel{#1}{#2}{0}% + \@esphack + } + +\newcommand{\@pagesLTS@Prelim@EveryShipout}{% +%% The following code is from the prelim2e package %% +%% [2009/05/29 v1.3] by Martin Schr\"{o}der (Thanks!): %% + \bgroup + \dimen\z@=\wd\@cclv + \dimen\@ne=\ht\@cclv + \dimen\tw@=\dp\@cclv + \dimen\thr@@=\dimen1 + \advance\dimen\thr@@ by \dimen\tw@ + \global\setbox\@cclv\vbox to \dimen\thr@@{% + \hb@xt@\dimen\z@{% + \box\@cclv% + \hss% + }% + \vbox to \z@{% + \hb@xt@\dimen\z@{% + \let\protect\relax +%% Code not from prelim2e package: %% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \pagesLTS@ifcounter{pagesLTS.fnsymbol.cont}% + \addtocounter{pagesLTS.fnsymbol.cont}{1}% + \ifx\pagesLTS@hyper\pagesLTS@one% + \phantomsection% + \hypertarget{pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.cont}}{}% + \fi% + \ifnum \pagesLTS@esov=\pagesLTS@zero% + \label{pagesLTS.fnsymbol}% + \else% + \overridelabel{pagesLTS.fnsymbol}% + \fi% + \else% + \ifx\pagesLTS@hyper\pagesLTS@one% + \phantomsection% + \fi% + \if@filesw% + \overridelabel{pagesLTS.\pagesLTS@pnc}% + \addtocounter{page}{+1}% + \overrideLTSlabel{pagesLTS.\pagesLTS@pnc.local}{\theCurrentPageLocal}% + \addtocounter{page}{-1}% + \fi% + \fi% +%% Code from prelim2e package again: %% + }% + \vss% + }% + \vss% + }% + \wd\@cclv=\dimen\z@ + \ht\@cclv=\dimen\@ne + \dp\@cclv=\dimen\tw@ + \egroup +%% End of code from the prelim2e package. %% + } + +\EveryShipout{% + \ifnum\value{page}>0% + \relax% + \else + \ifnum\value{page}=0% + \PackageWarning{pagesLTS}{% + Counter `page' is zero!\MessageBreak% + If the page numbering scheme is not arabic\MessageBreak% + and further not extended\MessageBreak% + (see Page counter overflow in the pagesLTS\MessageBreak% + documentation), without other measures\MessageBreak% + this will lead to a counter overflow.\MessageBreak% + } + \else% + \ifnum\value{page}<0% + \PackageWarning{pagesLTS}{% + Counter `page' is negative: `\the\value{page}'!\MessageBreak% + If the page numbering scheme is not arabic\MessageBreak% + and further not extended\MessageBreak% + (see Page counter overflow in the pagesLTS\MessageBreak% + documentation), without other measures\MessageBreak% + this will lead to a counter overflow.\MessageBreak% + } + \else% + \PackageError{pagesLTS}{% + Counter `page' does not have a recognized value:\MessageBreak% + `\the\value{page}'\MessageBreak% + \@ehd \MessageBreak% + } + \fi% + \fi% + \fi% + \ifnum \value{CurrentPage}=1% This is the first shipout! + \@ifundefined{Hy@Warning}{% hyperref not loaded + }{% hyperref loaded + \gdef\pagesLTS@hyper{1}% + }% + \ifx\pagesLTS@called\pagesLTS@zero + \PackageError{pagesLTS}{pagenumbering missing}{\pagesLTS@messageNPN }% + \mathchardef\pagesLTS@tmpD=\arabic{page}% +%% Code from Andres L\"{o}h, Universiteit Utrecht (NL) %% + \def\extract#1{\expandafter\extract@ #1\END} + \def\extract@#1\csname @#2\endcsname#3\END{#2} + \edef\pagesLTS@tmpQ{\extract\thepage}% +%% End of code from Andres L\"{o}h %% + \let\pagesLTS@tmpP\pagesLTS@tmpQ% + \def\pagesLTS@pnc{0}% + \pagenumbering{\pagesLTS@tmpP}% + \setcounter{page}{\pagesLTS@tmpD}% + \fi% + \pagesLTS@writelabel{0}% + \fi% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \@pagesLTS@Prelim@EveryShipout% + \gdef\pagesLTS@esov{\arabic{pagesLTS.fnsymbol.cont}}% + \else% + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}>1% + \@pagesLTS@Prelim@EveryShipout% + \fi% + \fi% + \addtocounter{CurrentPage}{1}% + \addtocounter{pagesLTS.current.local.\pagesLTS@pnc}{1}% + } + +\newcommand{\pagesLTS@putlabelhyper}[2]{% + \ifHy@pageanchor \relax% + \else% + \PackageError{pagesLTS}{hyperref option pageanchor disabled}{% + The \string\lastpageref{#1} link doesn't work\MessageBreak% + using hyperref with disabled option `pageanchor'.\MessageBreak% + }% + \fi +%% The following code is from the hyperref package %% +%% [2010/04/17 v6.80x; newer versions are available] %% +%% by Heiko Oberdiek (Big Thanks!). %% + \if@filesw + \begingroup + \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 modified from the hyperref package. %% +%% Without the modification, after the first shipout "PD1" is %% +%% inserted each time |\pdfstringdef\Hy@temp{\thepage}| is %% +%% executed (if |fnsymbol| is not used). %% + \ifnum \value{CurrentPage}=1% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \pdfstringdef\Hy@temp{\thepage}% + \else% + \def\Hy@temp{\thepage}% + \fi% + \else% + \pdfstringdef\Hy@temp{\thepage}% + \fi% +%% Code from hyperref package again: %% + \fi + \else + \def\Hy@temp{\the\Hy@pagecounter}% + \fi + \fi +%% End of code from the hyperref package. %% +%% (The following four lines are modified %% +%% from the hyperref package.) %% + \immediate\write\@auxout{\string + \newlabel{#1}{{}{#2}{}{\ifHy@pageanchor page.\Hy@temp\fi}{}}}% + \endgroup% + \fi% + } + +\newcommand{\pagesLTS@putlabel}[3]{% + \addtocounter{page}{-1}% + \ifx\pagesLTS@hyper\pagesLTS@one% + \pagesLTS@putlabelhyper{#1}{#2}% + \else% + \if@filesw% + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}<2% + \immediate\write\@auxout{\string + \newlabel{#1}{{}{#2}}}% + \else% + \edef\pagesLTStmpA{#1}% + \edef\pagesLTStmpB{pagesLTS.\pagesLTS@pnc.local}% + \ifx\pagesLTStmpA\pagesLTStmpB% + \edef\pagesLTStmpA{#3}% + \ifx\pagesLTStmpA\pagesLTS@one% + \immediate\write\@auxout{\string + \undonewlabel{#1}}% + \fi% + \fi% + \immediate\write\@auxout{\string + \newlabel{#1}{{}{#2}}}% + \fi% + \fi% + \fi% + \addtocounter{page}{+1}% + } + +\newcommand{\pagesLTS@putlabels}{% + \addtocounter{page}{-1}% + \addtocounter{CurrentPage}{-1}% + \addtocounter{pagesLTS.current.local.\pagesLTS@pnc}{-1}% + \ifx\pagesLTS@pnc\pagesLTS@zero% + \PackageWarning{pagesLTS}{No page numbering scheme found:\MessageBreak% + \pagesLTS@messageNPN }% + \else% + \pagesLTS@writelabel{\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}}% + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}<2% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \relax% + \else% + \pagesLTS@writelabel{\pagesLTS@pnc}% + \fi% + \fi% + \fi% + \addtocounter{page}{+1}% + \pagesLTS@putlabel{LastPages}{\theCurrentPage}{1} + \addtocounter{CurrentPage}{1}% + \addtocounter{pagesLTS.current.local.\pagesLTS@pnc}{1}% + } + +\AtBeginDocument{% + \if@filesw \relax% + \else% + \PackageError{pagesLTS}{No auxiliary file allowed.}% + {The pagesLTS 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% + \@ifpackageloaded{endfloat}% + {\@ifpackagelater{endfloat}{1992/03/31}% April 1992 v2.0 + {\@ifpackagelater{endfloat}{1995/10/10}{% 1995/10/11 v2.4i + \relax}% + {\PackageWarningNoLine{pagesLTS}{Old endfloat package detected:\MessageBreak% + There is a newer version of the endfloat package available.\MessageBreak% + Please consider updating your version.\MessageBreak% + The pagesLTS package might be incompatible with\MessageBreak% + your current endfloat package.\MessageBreak% + }% + }% + {\PackageError{pagesLTS}{Incompatible, very old endfloat package detected.}% + {The very old version 2.0 (and earlier) of the\MessageBreak% + endfloat package actually redefined the \ enddocument,\MessageBreak% + and so interferred drastically with the LaTeX2e commands\MessageBreak% + which make use of \ AtEndDocument.\MessageBreak% + Newer versions of the endfloat package exists\MessageBreak% + (at least: v2.4i as of 1995/10/11)\MessageBreak% + in modern documentation form,\MessageBreak% + which should be available from CTAN.\MessageBreak% + Please update your endfloat package\MessageBreak% + for use with the pagesLTS package.\MessageBreak % + }% + }% + }% + }{}% + \@ifpackageloaded{lastpage}% + {\@ifpackagelater{lastpage}{2010/07/28}% 2010/07/29 v1.2a + {\@ifpackagelater{lastpage}{2010/09/11}% 2010/09/12 v1.2e + {\PackageWarning{pagesLTS}{lastpage package detected.\MessageBreak% + With pagesLTS package in use, lastpage has no function.\MessageBreak% + Just remove the lastpage package from your document.\MessageBreak% + }% + }{% + \PackageWarning{pagesLTS}{Old lastpage package detected.\MessageBreak% + With pagesLTS package in use, lastpage has no function.\MessageBreak% + Just remove the lastpage package from your document.\MessageBreak% + At least update it!\MessageBreak% + }% + }% + }{% + \PackageWarning{pagesLTS}{Incompatible package lastpage detected:\MessageBreak% + Package pagesLTS was loaded, but also an old\MessageBreak% + version of the lastpage package.\MessageBreak% + pagesLTS has all functionality of the lastpage\MessageBreak% + package (and more), so just remove the lastpage\MessageBreak% + package from your document.\MessageBreak% + (At least update it!)\MessageBreak% + pagesLTS will now ''kill'' the lastpage@putlabel\MessageBreak% + command of the lastpage package.\MessageBreak% + }% + \gdef\lastpage@putlabel{\relax}% + }% + }{}% + \@ifpackageloaded{alphalph}% + {\PackageInfo{pagesLTS}{Package alphalph detected.\MessageBreak% + pagesLTS supports alphalph. Congratulations!\MessageBreak% + }% + \global\def\pagesLTS@AlphAlph{1}% + \newalphalph{\AlphMult}[mult]{\@Alph}{26}% + \newalphalph{\alphMult}[mult]{\@alph}{26}% + \newalphalph{\fnsymbolmult}[mult]{\@fnsymbol}{5}% + }% + {\ifx\pagesLTS@alphMult\pagesLTS@zero% + \PackageWarning{pagesLTS}{\pagesLTS@messageaMz }% + \else% + \PackageError{pagesLTS}{Package alphalph not loaded}% + {Package alphalph was not loaded, but package pagesLTS\MessageBreak% + was called without option alphMult=0 (zero).\MessageBreak% + Either load package alphalph,\MessageBreak% + or give option alphMult=0 (zero) to the pagesLTS package.\MessageBreak% + }% + \fi% + \ifx\pagesLTS@AlphMulti\pagesLTS@zero% + \PackageWarning{pagesLTS}{\pagesLTS@messageAMiz }% + \relax% + \else% + \PackageError{pagesLTS}{Package alphalph not loaded}% + {Package alphalph was not loaded, but package pagesLTS\MessageBreak% + was called without option AlphMulti=0 (zero).\MessageBreak% + Either load package alphalph,\MessageBreak% + or give option AlphMulti=0 (zero) to the pagesLTS package.\MessageBreak% + }% + \fi% + \ifpagesLTS@fnsymbolmult% + \PackageError{pagesLTS}{Package alphalph not loaded}% + {Package alphalph was not loaded, but package pagesLTS\MessageBreak% + was called without option fnsymbolmult=false.\MessageBreak% + Either load package alphalph,\MessageBreak% + or give option fnsymbolmult=false to the pagesLTS package.\MessageBreak% + }% + \else% + \PackageWarning{pagesLTS}{\pagesLTS@messagefsmz }% + \fi% + }% + \@ifpackageloaded{hyperref}% + {\PackageInfo{pagesLTS}{Package hyperref detected.\MessageBreak% + pagesLTS supports hyperref. Congratulations!\MessageBreak% + }% + \global\def\pagesLTS@hyper{1}% + \@ifpackageloaded{pdfpages}% + {\PackageWarning{pagesLTS}{Package pdfpages detected.\MessageBreak% + Using hyperref with pdfpages can cause problems. See\MessageBreak% + ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/pax/\MessageBreak% + for project pax (PDFAnnotExtractor).\MessageBreak% + }% + }{\relax}% + \@ifpackageloaded{undolabl}% + {\@ifpackagelater{undolabl}{2010/07/14}% 2010/07/15 v1.0d + {\@ifpackagelater{undolabl}{2010/09/11}% 2010/09/12 v1.0g + {% recent version as of the time of last revision of this package: OK + }{% old, but not obsolete version + \PackageWarningNoLine{pagesLTS}{Old version of undolabl package used.\MessageBreak% + See ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/undolabl/ \MessageBreak% + for a new version.\MessageBreak% + }% + } + }{\PackageError{pagesLTS}{Incompatible, obsolete version of undolabl package used.}{% + See ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/undolabl/ \MessageBreak% + for a new version.\MessageBreak% + Type X <return> to quit.\MessageBreak% + }% + } + }{\PackageError{pagesLTS}{Package undolabl missing}{% + Package undolabl not found.\MessageBreak% + The pagesLTS package needs the undolabl package.\MessageBreak% + See e.g.\MessageBreak% + ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/undolabl/ \MessageBreak% + Type X <return> to quit.\MessageBreak% + }% + } + \@ifpackagelater{hyperref}{2010/09/12}{% 2010/09/13 v6.81n + \relax}{% + \PackageWarningNoLine{pagesLTS}{Old hyperref package detected:\MessageBreak% + There is a newer version of the\MessageBreak% + hyperref package available.\MessageBreak% + Please consider updating your version.\MessageBreak% + }% + }% + %% pagesLTS supports the use of the package hyperref by + %% Heiko Oberdiek (hyperref version 2010/09/13 v6.81n). + %% pagesLTS may work with earlier versions of this packages, + %% but this was not tested. + }% + {\PackageWarning{pagesLTS}{Package hyperref NOT detected.\MessageBreak% + pagesLTS would support hyperref. The page references\MessageBreak% + will NOT be hyperlinked!\MessageBreak }% + }% + \newcommand\pagesLTS@dofilelist{}% + \let\pagesLTS@dofilelist\@dofilelist% + \def\@dofilelist{\pagesLTS@dofilelist\pagesLTS@rerunwarning}% + } + +\newcommand\pagesLTS@rerunwarning{}% +\let\pagesLTS@rerunwarning\relax% + +\AtEndDocument{% + \message{AED: pagesLTS setting LastPage ^^J}% + \clearpage% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \def\pagesLTS@tmpA{\arabic{pagesLTS.fnsymbol.local}}% + \ifnum \pagesLTS@eso=\pagesLTS@tmpA% + \gdef\pagesLTS@rerun{0}% + \else% + \gdef\pagesLTS@rerun{1}% + \fi% + \if@filesw% + \immediate\write\@auxout{\string + \gdef\string\pagesLTS@eso{\pagesLTS@tmpA}}% + \fi% + \fi% + \pagesLTS@putlabel{LastPage}{\thepage}{1}% + \let\pagesLTS@tmpA\undefined% + } + +\AfterLastShipout{% + \if@filesw% + \ifx\pagesLTS@esov\pagesLTS@zero% + \else% + \immediate\write\@auxout{\string + \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}}% + \immediate\write\@auxout{\string + \setcounter{pagesLTS.fnsymbol.local}{\pagesLTS@esov}}% + \fi% + \ifx\pagesLTS@hyper\pagesLTS@one% + \ifx\pagesLTS@pnc\pagesLTS@fns% + \immediate\write\@auxout{\string + \gdef\string\lastpageref{\string\lastpagerefend}}% + \fi% + \fi% + \fi% + \pagesLTS@ifcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}% + \setcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% + \value{pagesLTS.current.local.\pagesLTS@pnc}}% + \addtocounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{-1} + \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}>1% + \mathchardef\pagesLTS@tmpD=\arabic{pagesLTS.pnc.0}% + \setcounter{pagesLTS.pnc.0}{\value{pagesLTS.pnc.\pagesLTS@pnc}}% + \addtocounter{pagesLTS.pnc.0}{-1}% + \addtocounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% + -\value{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.0}.local.count}}% + \setcounter{pagesLTS.pnc.0}{\pagesLTS@tmpD}% + \fi% + \if@filesw% + \immediate\write\@auxout{\string + \pagesLTS@ifcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.cnt}}% + \edef\pagesLTS@tmpA{\arabic{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}}% + \immediate\write\@auxout{\string + \setcounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.cnt}{\pagesLTS@tmpA}}% + \let\pagesLTS@tmpA\undefined% + \fi% + \addtocounter{page}{-1}% + \edef\pagesLTS@tmpA{\thepage}% + \if@filesw% + \immediate\write\@auxout{\string + \gdef\string\pagesLTS.lastpage{\pagesLTS@tmpA}}% + \fi% + \addtocounter{page}{+1}% + \addtocounter{CurrentPage}{-1}% + \def\pagesLTS@tmpB{\arabic{CurrentPage}}% + \if@filesw% + \immediate\write\@auxout{\string + \setcounter{pagesLTS.pagenr}{\pagesLTS@tmpB}}% + \fi% + \addtocounter{CurrentPage}{+1}% + \message{AED: pagesLTS setting VeryLastPage via AfterLastShipout ^^J}% + \pagesLTS@putlabel{VeryLastPage}{\thepage}{1}% + \message{AED: pagesLTS setting LastPages via AfterLastShipout ^^J}% + \pagesLTS@putlabels% + \let\pagesLTS@tmpA\undefined% + \let\pagesLTS@tmpB\undefined% + } + +\AtVeryEndDocument{% + \ifx\pagesLTS@rerun\pagesLTS@one% + \def\pagesLTS@rerunwarning{% + \PackageWarningNoLine{pagesLTS}{Label(s) may have changed.\MessageBreak% + Rerun to get cross-references right.\MessageBreak% + }% + }% + \fi% + } + +\endinput +%% +%% End of file `pagesLTS.sty'. |