%PDF- %PDF-
| Direktori : /proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/bigfoot/ |
| Current File : //proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/bigfoot/perpage.sty |
%%
%% This is file `perpage.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% perpage.dtx (with options: `style')
%%
%% IMPORTANT NOTICE:
%%
%% For the copyright see the source file.
%%
%% Any modified versions of this file must be renamed
%% with new filenames distinct from perpage.sty.
%%
%% For distribution of the original source see the terms
%% for copying and modification in the file perpage.dtx.
%%
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%
%% perpage is part of the bigfoot bundle for critical typesetting
%% Copyright 2002, 03, 04, 05, 06 David Kastrup <dak@gnu.org>
%%
\NeedsTeXFormat{LaTeX2e}
\def\next$#1: #2 #3${#2}
\ProvidesPackage{perpage}[\next$Date: 2006/07/15 21:43:23 $
\next$Revision: 1.12 $ Reset/sort counters per page]
\newcommand\AddAbsoluteCounter[1]
{\@ifundefined{c@abs#1}{%
\expandafter\newcount\csname c@abs#1\endcsname
\global\value{abs#1}\@ne
\global\expandafter\let\csname cl@abs#1\endcsname\@empty
\expandafter\xdef\csname theabs#1\endcsname{%
\noexpand\number \csname c@abs#1\endcsname}%
\global\@namedef{c@pabs@#1}{\z@=\z@{%
\stepcounter{abs#1}%
\afterassignment}\count@}%
\@addtoreset{pabs@#1}{#1}}{}}
\AddAbsoluteCounter{page}
\def\theabspage{\ifx\thepage\relax
\noexpand\theabspage
\else
\number\c@abspage
\fi}
\newcommand*\MakePerPage[2][\@ne]{%
\pp@makeperpage{#2}\c@pchk@{#1}}
\newcommand*\MakeSorted[1]{%
\setcounter{#1}{\z@}%
\pp@makeperpage{#1}\c@schk@{\@ne}}
\newcommand*\MakeSortedPerPage[2][\@ne]{%
\pp@makeperpage{#2}\c@spchk@{#1}}
\@onlypreamble\MakePerPage
\@onlypreamble\MakeSorted
\@onlypreamble\MakeSortedPerPage
\def\pp@makeperpage#1#2#3{%
\global\expandafter\mathchardef\csname c@pp@r@#1\endcsname=#3\relax
\global\@namedef{c@pchk@#1}{#2{#1}}%
\newcounter{pp@a@#1}%
\setcounter{pp@a@#1}{#3}%
\addtocounter{pp@a@#1}\m@ne
\@addtoreset{pchk@#1}{#1}%
\AtBeginDocument{\setcounter{pp@a@#1}\z@}%
\edef\next{\noexpand\AtEndDocument{\noexpand\setcounter{pp@a@#1}{%
\number\value{pp@a@#1}}}}\next}
\@onlypreamble\pp@makeperpage
\def\pp@chkvlist{%
\ifcase
\ifvmode
\ifx\lastnodetype\@undefined
\ifdim-\@m\p@=\prevdepth\ifdim\lastskip=\z@\ifnum\lastpenalty=\z@
\@ne
\fi\fi\fi
\else
\ifnum\lastnodetype=\m@ne \@ne \fi
\fi
\fi \z@
\or
\PackageWarning{perpage}{\string\stepcounter\space probably at start of
vertical list:^^JYou might need to use \string\leavevmode\space
before it to avoid vertical shifts}%
\fi}
\def\pp@fetchctr#1{\expandafter\expandafter\expandafter\pp@fetchctrii
\csname pp@r@#1@\number\value{pp@a@#1}\endcsname
\@empty\@empty}
\global\let\theperpage\@empty
\def\pp@fetchctrii#1#2#3{\edef\pp@label{#1}%
\edef\pp@page{#2}%
\gdef\theperpage{#3}}
\def\c@pchk@#1{\z@=\z@
\begingroup
\pp@fetchctr{#1}\let\next\pp@page
\addtocounter{pp@a@#1}\@ne
\pp@fetchctr{#1}%
\ifcase\ifx\next\pp@page\else\@ne\fi
\ifnum\value{#1}=\z@\@ne\fi\z@
\else
\setcounter{#1}{\value{pp@r@#1}}%
\fi
\pp@writectr\pp@pagectr{#1}{\noexpand\theabspage}}
\def\pp@writectr#1#2#3{\edef\next{%
\string#1{#2}{\number\value{pp@a@#2}}{#3}{\noexpand\thepage}}%
\pp@chkvlist
\dimen@=\lastkern
\ifdim\dimen@=\z@ \else \unkern\fi
\protected@write\@auxout{}{\next}%
\ifdim\dimen@=\z@ \nobreak \else \kern\dimen@\fi
\afterassignment\endgroup\count@}
\def\pp@pagectr#1#2#3#4{\@ifundefined{c@pp@a@#1}{}{%
\addtocounter{pp@a@#1}\@ne
\edef\next{\noexpand
\@newl@bel{pp@r@#1}{#2}{{\number\value{pp@a@#1}}{#3}%
{#4}}}\next}}
\def\c@schk@#1{\z@=\z@
\begingroup
\addtocounter{pp@a@#1}\@ne
\ifnum\value{#1}=\@ne
\expandafter\xdef\csname pp@g@#1\endcsname{\number\value{pp@a@#1}}%
\edef\next{\noexpand\AtEndDocument{\global\let
\expandafter\noexpand\csname pp@g@#1@\number\value{pp@a@#1}\endcsname
\relax}}\next
\fi
\pp@fetchctr{#1}%
\ifx\pp@page\@empty
\else \setcounter{#1}{\pp@label}\fi
\pp@writectr\pp@spagectr{#1}{\csname pp@g@#1\endcsname}}%
\def\pp@spagectr#1#2#3#4{\@ifundefined{c@pp@a@#1}{}{%
\count@0\csname pp@g@#1@#3\endcsname
\advance\count@\@ne
\expandafter\xdef\csname pp@g@#1@#3\endcsname{\number\count@}%
\edef\next{\noexpand
\@newl@bel{pp@r@#1}{#2}{{\number\count@}{#3}%
{#4}}}\next}}
\def\c@spchk@#1{\z@=\z@
\begingroup
\addtocounter{pp@a@#1}\@ne
\pp@fetchctr{#1}%
\ifx\pp@page\@empty
\else \setcounter{#1}{\pp@label}\fi
\pp@writectr\pp@ppagectr{#1}{\noexpand\theabspage}}
\def\pp@ppagectr#1#2#3#4{\@ifundefined{c@pp@a@#1}{}{%
\def\next{#3}%
\expandafter\ifx\csname pp@page@#1\endcsname\next
\addtocounter{pp@a@#1}\@ne
\else
\setcounter{pp@a@#1}{\value{pp@r@#1}}%
\fi
\global\expandafter\let\csname pp@page@#1\endcsname\next
\edef\next{\noexpand
\@newl@bel{pp@r@#1}{#2}{{\number\value{pp@a@#1}}{#3}%
{#4}}}\next}}
\endinput
%%
%% End of file `perpage.sty'.