From 31d05ca84e9dba8a5f61b45b5c475fa154272b48 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:58:52 +0000 Subject: mcite git-svn-id: svn://tug.org/texlive/trunk@1079 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/mcite/mcite.sty | 164 ++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/mcite/mcite.sty (limited to 'Master/texmf-dist/tex/latex/mcite') diff --git a/Master/texmf-dist/tex/latex/mcite/mcite.sty b/Master/texmf-dist/tex/latex/mcite/mcite.sty new file mode 100644 index 00000000000..1f456899801 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mcite/mcite.sty @@ -0,0 +1,164 @@ +%% +%% This is file `mcite.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mcite.dtx (with options: `package') +%% +%% Copyright (C) 1994 by Thorsten.Ohl@Physik.TH-Darmstadt.de +%% +%% This file is NOT the source for mcite, because almost all comments +%% have been stripped from it. It is NOT the preferred form of mcite +%% for making modifications to it. +%% +%% Therefore you can NOT redistribute and/or modify THIS file. You can +%% however redistribute the complete source (mcite.dtx and mcite.ins) +%% and/or modify it under the terms of the GNU General Public License as +%% published by the Free Software Foundation; either version 2, or (at +%% your option) any later version. +%% +%% Mcite is distributed in the hope that it will be useful, but +%% WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \CheckSum{212} +%% \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 \~} +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\fileversion{v0.04} +\NeedsTeXFormat{LaTeX2e} +{\def\RCS#1#2\endRCS{% + \ifx$#1% + \@RCS $#2 \endRCS + \else + \@RCS $*: #1#2$ \endRCS + \fi}% + \def\@RCS $#1: #2,v #3 #4 #5 #6$ \endRCS{% + \gdef\filename{#2}% + \gdef\filerevision{v#3}% + \gdef\filedate{#4}% + \gdef\docdate{#4}}% +\RCS $Id: mcite.dtx,v 1.6 1996/01/01 23:52:29 ohl Exp $ \endRCS}% +\ProvidesPackage{mcite}[\filedate\space multiple citations] +\typeout{Package: `mcite' + \fileversion\space <\filedate> (tho) PRELIMINARY TEST RELEASE} +\wlog{English documentation \@spaces<\docdate> (tho)} +\def\@enamedef#1{\expandafter\edef\csname #1\endcsname} +\def\mc@single#1{\global\@enamedef{mc*sg*#1}{}} +\def\mc@head#1#2{\global\@enamedef{mc*hd*#1}{#2}} +\def\mc@tail#1#2{\global\@enamedef{mc*tl*#1}{#2}} +\def\mc@ifsingle#1#2#3{\@ifundefined{mc*sg*#1}{#3}{#2}} +\def\mc@ifhead#1#2#3{\@ifundefined{mc*hd*#1}{#3}{#2}} +\def\mc@iftail#1#2#3{\@ifundefined{mc*tl*#1}{#3}{#2}} +\def\mc@thehead#1{\@nameuse{mc*tl*#1}} +\def\mc@thetail#1{\@nameuse{mc*hd*#1}} +\let\orig@cite\cite +\def\mcite{% + \@ifnextchar[% + {\PackageWarning{mcite}% + {optional argument to \protect\cite\space not supported}% + \@tempswatrue + \expandafter\mc@citex\mc@gobbleopt}% + {\@tempswatrue + \mc@cite}} +\def\mc@gobbleopt[#1]{} +\AtBeginDocument{\let\cite\mcite} +\def\mc@cite#1{% + \edef\mc@temp{#1}% + \expandafter\mc@cite@\expandafter{\mc@temp}} +\def\mc@cite@#1{% + \mc@firsttrue + \@for\mc@@@:=#1\do{% + \expandafter\mc@ifstar\mc@@@\sentinel% + {\ifmc@first + \PackageWarning{mcite}% + {tail `\mc@key' appears as first item in \protect\cite}% + \mc@dohead + \else + \mc@dotail + \fi}% + {\mc@dohead}% + \if@filesw + \immediate\write\@auxout{\string\citation{\mc@key}}% + \fi}% + \expandafter\orig@cite\expandafter{\mc@list}} +\def\mc@dohead{% + \mc@iftail{\mc@key}% + {\PackageWarning{mcite}% + {head `\mc@key' already used as tail of `\mc@thehead{\mc@key}'}}% + {}% + \mc@head{\mc@key}{}% + \edef\mc@curhead{\mc@key}% + \ifmc@first + \mc@firstfalse + \edef\mc@list{\mc@key}% + \else + \edef\mc@list{\mc@list,\mc@key}% + \fi} +\def\mc@dotail{% + \mc@ifhead{\mc@key}% + {\PackageWarning{mcite}% + {tail `\mc@key' already used as head}}% + {}% + \mc@tail{\mc@key}{\mc@curhead}} +\def\mc@ifstar#1#2\sentinel#3#4{% + \ifx*#1% + \def\mc@key{#2}% + #3% + \else + \def\mc@key{#1#2}% + #4% + \fi} +\newif\ifmc@first +\let\orig@bibitem\@bibitem +\def\@bibitem#1{% + \ifmc@bstsupport + \mc@iftail{#1}% + {;\space\ignorespaces}% + {\ifmc@first\else.\fi\orig@bibitem{#1}} + \mc@firstfalse + \else + \mc@iftail{#1}% + {\ignorespaces}% + {\orig@bibitem{#1}}% + \fi}% +\newif\ifmc@bstsupport +\mc@bstsupportfalse +\def\@lbibitem[#1]#2{% + \PackageError{mcite}% + {You can't use the optional argument of \protect\bibitem}% + {Hey, *I* have to fool around with the labels!}% + \@bibitem{#2}} +\def\mcbibliography{% + \mc@bstsupporttrue + \mc@firsttrue + \thebibliography} +\def\endmcbibliography{% + .% + \endthebibliography} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput +%% +%% End of file `mcite.sty'. -- cgit v1.2.3