diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/ednotes/perpage.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/ednotes/perpage.sty | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ednotes/perpage.sty b/Master/texmf-dist/tex/latex/ednotes/perpage.sty new file mode 100644 index 00000000000..3f4d8e216f4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/ednotes/perpage.sty @@ -0,0 +1,159 @@ +%% +%% 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'. |