diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:57:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:57:34 +0000 |
commit | 3eb843585fc56ace68d2c095ff32de0c743b9446 (patch) | |
tree | 287b2687611d62336f3d9ce623f6040a9caecb1b /Master/texmf-dist/tex/latex/kluwer/klucite.sty | |
parent | 27fa66bacafe77045cae158eb1a517a5600e3332 (diff) |
kluwer
git-svn-id: svn://tug.org/texlive/trunk@1017 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/kluwer/klucite.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/kluwer/klucite.sty | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/kluwer/klucite.sty b/Master/texmf-dist/tex/latex/kluwer/klucite.sty new file mode 100644 index 00000000000..5f45cb1a39d --- /dev/null +++ b/Master/texmf-dist/tex/latex/kluwer/klucite.sty @@ -0,0 +1,40 @@ +\ProvidesPackage{klucite} +% based on code contributed by +% VTeX Ltd, Vilnius, Lithuania (vtex@omnitel.net) + +% collapses citations [3,4,5] to [3--5] +\newcount\@tempcntc +\def\@citex[#1]#2{% + \@tempcnta\z@\@tempcntb\m@ne\let\@citea\@empty + \@cite{\@for\@citeb:=#2\do + {\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi + \edef\gl@citeb{\expandafter\@firstofone\@citeb}% + \edef\@citeb{\thearticle\expandafter\@firstofone\@citeb}% + \@ifundefined{b@\@citeb}{% + \@ifundefined{b@\gl@citeb}{% + \mbox{\reset@font\bfseries ?}% + \G@refundefinedtrue + \@latex@warning + {Citation `\@citeb' on page \thepage \space undefined}}% + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\gl@citeb\endcsname\relax}% + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne + \@citea\def\@citea{,\penalty\@m\ }\hbox{\csname b@\gl@citeb\endcsname}% + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcntc + \else\advance\@tempcntb\m@ne\@citeo + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}% + {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}% + \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne + \@citea\def\@citea{,\penalty\@m\ }\hbox{\csname b@\@citeb\endcsname}% + \else + \advance\@tempcntb\@ne + \ifnum\@tempcntb=\@tempcntc + \else\advance\@tempcntb\m@ne\@citeo + \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}% +\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else\@citea\def\@citea{,\penalty\@m\ }% + \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else +% {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{\,--\,}\fi + {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else \def\@citea{--}\fi + \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}% +\endinput |