+++ /dev/null
-%%
-%% This is file 'numcompress'.
-%%
-%% Copyright (C) 2009-2012 River Valley Technologies
-%% <latex.support@river-valley.com>
-%%
-%% This package may be distributed under the terms of the LaTeX Project
-%% Public License, as described in lppl.txt in the base LaTeX distribution.
-%% Either version 1.0 or, at your option, any later version.
-%%
-%% $Id: numcompress.sty 187 2012-08-18 09:36:35Z rishi $
-%% $URL: http://lenova.river-valley.com/svn/elsbst/trunk/numcompress.sty $
-%%
-\NeedsTeXFormat{LaTeX2e}
-\def\Fileversion$#1: #2 ${\gdef\fileversion{#2}}
-\def\Filedate$#1: #2-#3-#4 #5 #6 #7 ${\gdef\filedate{#2/#3/#4}}
-\Fileversion$Rev: 187 $
-\Filedate$LastChangedDate: 2012-08-18 15:06:35 +0530 (Sat, 18 Aug 2012) $
-\ProvidesPackage{numcompress}
- [\filedate\space\fileversion\space numcompress (CVR)]
-\PackageWarningNoLine{numcompress}
- {****************************************\MessageBreak
- Package numcompress v,\fileversion\space loaded\MessageBreak
- [Compress numbers (CVR)]\MessageBreak
- ****************************************}
-\newif\ifdots \dotsfalse
-\newif\ifnumcompress \numcompresstrue
-
-\DeclareOption{dots}{\global\dotstrue}
-\DeclareOption{nodots}{\global\dotsfalse}
-\DeclareOption{compress}{\global\numcompresstrue}
-\DeclareOption{nocompress}{\global\numcompressfalse}
-
-\ProcessOptions
-
-\def\removeDot#1{\def\tmp{#1}%
- \ifx\tmp\@empty\else\@removeDot#1\@nil\fi}
-
-\def\@removeDot#1\@nil{\edef\fchar{\expandafter\@car#1\@nil}%
- \edef\rchar{\expandafter\@cdr#1!\@nil}%
- \def\@xmltempa{.}\def\@xmltempb{!}%
- \ifx\fchar\@xmltempb\relax\else%
- \ifx\fchar\@xmltempa\relax\else%
- \fchar\ignorespaces\fi\removeDot{\rchar}\fi}
-
-\def\First[#1]{\csname First#1\endcsname}
-\def\Second[#1]{\csname Second#1\endcsname}
-
-\def\parseFirstPage#1{\@tempcnta=0
- \@tfor\@digits:=#1\do{%
- {\global\advance\@tempcnta by 1
- \expandafter\xdef\csname
- First\the\@tempcnta\endcsname{\@digits}%
- \xdef\flength{\the\@tempcnta}}}}
-
-\def\parseSecondPage#1{\@tempcnta=0
- \@tfor\@digits:=#1\do{%
- {\global\advance\@tempcnta by 1
- \expandafter\xdef\csname
- Second\the\@tempcnta\endcsname{\@digits}%
- \xdef\llength{\the\@tempcnta}}}}
-
-\newif\ifdissimilar\dissimilarfalse
-\def\checkequal#1#2{\edef\Farg{#1}\edef\Sarg{#2}%
- \edef\One{A}%
- \ifcat\One\Farg \relax\else%
- \ifdissimilar\Sarg\else%
- \ifnum\Farg=\Sarg\relax\else\Sarg\dissimilartrue\fi\fi\fi}
-%
-\let\@@fpage\@empty
-\let\@@lpage\@empty
-\def\fpage@compress#1{%
- \gdef\@@fpage{#1}%
- \edef\llength{0}%
- \parseFirstPage{#1}%
- \ifnum\flength=\llength%
- \gdef\@fpage{\@@fpage}%
- \gdef\@lpage{%
- \@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}%
- \@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}%
- \@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}%
- \@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}%
- \@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}%
- }%
- \else%
- \gdef\@fpage{\@@fpage}%
- \gdef\@lpage{\@@lpage}%
- \fi}
-
-\def\lpage@compress#1{%
- \gdef\@@lpage{#1}%
- \parseSecondPage{#1}%
- \ifnum\flength=\llength%
- \gdef\@fpage{\@@fpage}%
- \gdef\@lpage{%
- \edef\One{A}%
- \edef\xFirst{\First[1]}%
- \edef\xSecond{\Second[1]}%
- \ifcat\One\xSecond\relax%
- \ifx\xFirst\xSecond%
- \@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}%
- \@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}%
- \@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}%
- \@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}%
- \@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}%
- \else#1\fi%
- \else%
- \ifx\xFirst\xSecond%
- \@ifundefined{Second1}{}{\checkequal{\First[1]}{\Second[1]}}%
- \@ifundefined{Second2}{}{\checkequal{\First[2]}{\Second[2]}}%
- \@ifundefined{Second3}{}{\checkequal{\First[3]}{\Second[3]}}%
- \@ifundefined{Second4}{}{\checkequal{\First[4]}{\Second[4]}}%
- \@ifundefined{Second5}{}{\checkequal{\First[5]}{\Second[5]}}%
- \else#1\fi%
- \fi%
- }%
- \else
- \gdef\@fpage{\@@fpage}%
- \gdef\@lpage{%
- \edef\Targ{#1}%
- \edef\One{A}%
- \edef\xFirst{\First[1]}%
- \edef\xSecond{\Second[1]}%
- \ifx\xFirst\xSecond
- \ifcat\One\xSecond\relax\else\@@lpage\fi%
- \else#1\fi%
- }%
- \fi}
-
-%\newwrite\xx
-%\immediate\openout\xx=tmpbib.tex
-\gdef\@@lpage@compress#1--#2\@nil{\lpage@compress{#1}}
-\gdef\@@@pages#1#2{\def\next{#2}%
-% \immediate\write\xx{[\the\c@NAT@ctr.]\space [#1][#2]}%
- \fpage@compress{#1}%\ifx\next\@empty\relax\else
- \@@lpage@compress#2\@nil%\fi
- {\@fpage\ifx\next\@empty\relax\else
- --\@lpage\fi}\resetall}
-
-\gdef\@@@page#1{#1\resetall}
-
-\def\mk@empty#1{\@tempcnta=1
- \loop\ifnum\@tempcnta<6
- \expandafter\let\csname#1\the\@tempcnta\endcsname\relax
- \advance\@tempcnta by 1 \repeat}
-\def\resetall{\let\@lpage\@empty\let\@fpage\@empty
- \def\flength{0}\def\llength{0}%
- \let\@@fpage\@empty\let\@@lpage\@empty
- \mk@empty{First}\mk@empty{Second}}
-
-
-\ifdots
- \gdef\xfnm[#1]{\unskip\space#1}
- \def\bibinfo#1#2{\@ifnextchar.{\@@bibinfo{#1}{#2}}{\@@@bibinfo{#1}{#2}}}
- \def\@@@bibinfo#1#2{\def\next{#1}%
- \def\@@@pg{pages}\def\@@@au{author}%
- \ifx\next\@@@pg\bibpages{#2}\else
- \ifx\next\@@@au\bibauthor{#2}\else
- #2\fi\fi}
- \def\@@bibinfo#1#2.{\def\next{#1}%
- \def\@@@pg{pages}\def\@@@au{author}%
- \ifx\next\@@@pg\bibpages{#2}.\else
- \ifx\next\@@@au\bibauthor{#2}\else
- #2.\fi\fi}
-\else
- \gdef\xfnm[#1]{\unskip\space\removeDot{#1}}
- \def\bibinfo#1#2{\def\next{#1}%
- \def\@@@pg{pages}\def\@@@au{author}%
- \ifx\next\@@@pg\bibpages{#2}\else
- \ifx\next\@@@au\bibauthor{#2}\else
- #2\fi\fi}
-\fi
-
-\ifnumcompress
- \def\bibpages#1{\@@bibpages#1--\\\@nil}
- \def\@@bibpages#1--#2\@nil{%
- \ifx\\#2\relax\@@@page{#1}\else
- \@@@pages{#1}{#2}\fi}
- \else
- \def\bibpages#1{#1}
-\fi
-
-\def\bibauthor#1{#1}
-
-\endinput
-
-%%
-%% End of package 'numcompress.sty'
-%%