summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/totpages
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:09:44 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:09:44 +0000
commit6f61dfc6e0759e2d9568a123ab033703de376c50 (patch)
treeef5fb9897cd4d2beea36f8a6265034eca8eb9b17 /Master/texmf-dist/tex/latex/totpages
parentaf7677d2922783acbd8032893521899c9ed3a490 (diff)
totpages
git-svn-id: svn://tug.org/texlive/trunk@1404 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/totpages')
-rw-r--r--Master/texmf-dist/tex/latex/totpages/totpages.sty241
1 files changed, 241 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/totpages/totpages.sty b/Master/texmf-dist/tex/latex/totpages/totpages.sty
new file mode 100644
index 00000000000..580f50f9a5a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/totpages/totpages.sty
@@ -0,0 +1,241 @@
+%%
+%% This is file `totpages.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% totpages.dtx (with options: `package')
+%%
+%% Copyright (c) [2005] by Wilhelm Mueller. All rights reserved.
+%%
+%% This file is part of the Totpages package
+%%
+%% This program may be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License, either version 1.0 of this
+%% license, or (at your option) any later version.
+%% The latest version of this license is in
+%% CTAN:macros/latex/base/lppl.txt.
+%%
+%% The Totpages package contains these files:
+%%
+%% totpages.dtx
+%% totpages.ins
+%% totexmpl.tex
+%%
+%% Error Reports in case of UNCHANGED versions to
+%%
+%% Wilhelm Mueller
+%% Herbststrasse 66
+%% D-28215 Bremen
+%% muewi@ACM.org
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%% ===================================================================
+%% @LaTeX-style-file{
+%% author = {Wilhelm M\"uller},
+%% version = "2.00",
+%% date = "19 September 2005",
+%% filename = "totpages.sty",
+%% address = {Wilhelm M\"uller
+%% Herbststra\ss{}e 66
+%% D-28215 Bremen
+%% telephone = "+49-421-1692525",
+%% email = "muewi@acm.org",
+%% codetable = "ISO/ASCII",
+%% keywords = "LaTeX, pages",
+%% supported = "yes",
+%% docstring = "LaTeX package which sets count1 to the total
+%% number of pages in the document.
+%% Uses the everyshi and keyval packages."
+%%
+%% }
+%% ===================================================================
+\ProvidesPackage{totpages}
+ [2005/09/19 v2.00 Totpages Package (muewi)]
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\RequirePackage{everyshi}[1994/12/09]
+\RequirePackage{keyval}[1998/06/05]
+\newif\ifTotPagesToDvi\TotPagesToDvitrue
+\newif\ifPagesPerSheet\PagesPerSheetfalse
+\newcommand{\TotPerSheet}{}
+\define@key{Tot}{dvi}[x]{\TotPagesToDvitrue}
+\define@key{Tot}{nodvi}[x]{\TotPagesToDvifalse}
+\define@key{Tot}{nopagespersheet}[x]{\PagesPerSheetfalse}
+\define@key{Tot}{pagespersheet}{%
+ \lowercase{\def\Tot@temp{#1}}%
+ \ifx\Tot@temp\@empty
+ \else
+ \def\Tot@no{no}
+ \ifx\Tot@temp\Tot@no
+ \else
+ \edef\TotPerSheet{#1}
+ \PagesPerSheettrue
+ \fi
+ \fi
+}
+\def\Tot@ptionsWithKV#1{%
+ \let\@tempc\relax
+ \let\Tot@tempa\@empty
+ \def\Tot@tempopt##1=##2=##3\Tot@tempopt{%
+ \@ifundefined{KV@#1@##1}%
+ {}%
+ {%
+ \edef\Tot@tempa{\Tot@tempa,\CurrentOption,}%
+ \@expandtwoargs\@removeelement\CurrentOption
+ \@unusedoptionlist\@unusedoptionlist
+ }%
+ }%
+ \@for\CurrentOption:=\@classoptionslist\do{%
+ \expandafter\Tot@tempopt\CurrentOption==\Tot@tempopt
+ }%
+ \edef\Tot@tempa{%
+ \noexpand\setkeys{#1}{%
+ \Tot@tempa\@ptionlist{\@currname.\@currext}%
+ }%
+ }%
+ \Tot@tempa
+ \let\Tot@no\relax
+ \let\Tot@temp\relax
+ \let\Tot@tempa\relax
+ \let\Tot@tempopt\relax
+ \let\Tot@ptionsWithKV\undefined
+}
+\Tot@ptionsWithKV{Tot}%
+\AtEndOfPackage{\let\@unprocessedoptions\relax}
+\ifPagesPerSheet
+ \ifnum 1 > \TotPerSheet
+ \PackageError{totpages}{%
+ The number of pages per sheet must be positive.}{%
+ You cannot print less than one TeX page per sheet of paper.\MessageBreak
+ The option pagespersheet has been disabled.}
+ \PagesPerSheetfalse
+ \fi
+\fi
+\ifTotPagesToDvi
+ \countdef\c@TotPages=1 \c@TotPages=0
+ \let\cl@TotPages\@empty
+ \newcommand\theTotPages{\arabic{TotPages}}
+\else
+ \newcounter{TotPages}
+\fi
+\let\ifTotPagesToDvi\undefined
+\let\TotPagesToDvitrue\undefined
+\let\TotPagesToDvifalse\undefined
+\EveryShipout{\stepcounter{TotPages}}
+\AtBeginDocument{%
+ \@ifpackageloaded{count1to}{%
+ \PackageError{totpages}{%
+ Can't use both, count1to and totpages}{%
+ You should read the documentation of these packages and\MessageBreak
+ decide which one is more appropriate for your intentions.}
+ }{}%
+ \@ifpackageloaded{lastpage}{%
+ \PackageError{totpages}{%
+ Can't use both, lastpage and totpages}{%
+ You should read the documentation of these packages and\MessageBreak
+ decide which one is more appropriate for your intentions.}
+ }{}%
+ \ifx\undefined\TotPages@putlabel
+ \@ifpackageloaded{hyperref}{%
+ \ifx\undefined\Hy@WarningNoLine
+ \let\Hy@WarningNoLine\hyper@warn
+ \fi
+ \ifHy@pageanchor
+ \else
+ \Hy@WarningNoLine{%
+ The \string\ref{TotPages} link will not provide hyperlinks\MessageBreak
+ with disabled option `pageanchor'%
+ }%
+ \fi
+ \if@filesw
+ \def\TotPages@putlabel{%
+ \addtocounter{page}{-1}%
+ \begingroup
+ \let\@number\@firstofone
+ \ifHy@pageanchor
+ \ifHy@hypertexnames
+ \ifHy@plainpages
+ \def\Hy@temp{\arabic{page}}%
+ \else
+ \let\textlatin\@firstofone
+ \edef\Hy@temp{\thepage}%
+ \fi
+ \else
+ \def\Hy@temp{\the\Hy@pagecounter}%
+ \fi
+ \fi
+ \immediate\write\@mainaux{%
+ \string\newlabel
+ {TotPages}{{\theTotPages}{\thepage}{}{%
+ \ifHy@pageanchor page.\Hy@temp\fi}{}}%
+ }%
+ \endgroup
+ \addtocounter{page}{1}%
+ }%
+ \fi
+ }{%
+ \if@filesw
+ \def\TotPages@putlabel{%
+ \addtocounter{page}{-1}%
+ \immediate\write\@mainaux{%
+ \string\newlabel{TotPages}{{\theTotPages}{\thepage}}%
+ }%
+ \addtocounter{page}{1}%
+ }%
+ \fi
+ }%
+ \fi
+ \ifPagesPerSheet
+ \ifx\undefined\TotSheets
+ \newcommand{\TotSheets}{0000}
+ \fi
+ \def\TotPages@putSheets{%
+ \addtocounter{TotPages}{\TotPerSheet}
+ \addtocounter{TotPages}{-1}
+ \divide \value{TotPages} by \TotPerSheet
+ \edef\Tot@temp{\arabic{TotPages}}
+ \ifx\Tot@temp\TotSheets \else
+ \PackageWarning{totpages}{%
+ The number of sheets may have changed (\TotSheets => \Tot@temp).\MessageBreak
+ You should run your document through the formatter again.}
+ \fi
+ \if@filesw
+ \immediate\write\@mainaux{%
+ \string\gdef\string\TotSheets{\Tot@temp}}%
+ \fi
+ }%
+ \else
+ \let\TotSheets\undefined
+ \fi
+ \if@filesw
+ \AtEndDocument{%
+ \clearpage
+ \TotPages@putlabel
+ }%
+ \fi
+ \ifPagesPerSheet
+ \AtEndDocument{\TotPages@putSheets}
+ \fi
+ \let\ifPagesPerSheet\undefined
+ \let\PagesPerSheettrue\undefined
+ \let\PagesPerSheetfalse\undefined
+}
+\endinput
+%%
+%% End of file `totpages.sty'.