% $Id: blx-mcite.def,v 1.4b 2011/04/12 21:10:58 lehman stable $ \ProvidesFile{blx-mcite.def} [\abx@rcsid $Id: blx-mcite.def,v 1.4b 2011/04/12 21:10:58 lehman stable $ mcite-like citation commands] \newrobustcmd*{\mcite}{\mcitelike\cite} \newrobustcmd*{\Mcite}{\mcitelike\Cite} \newrobustcmd*{\mparencite}{\mcitelike\parencite} \newrobustcmd*{\Mparencite}{\mcitelike\Parencite} \newrobustcmd*{\mfootcite}{\mcitelike\footcite} \newrobustcmd*{\mfootcitetext}{\mcitelike\footcitetext} \newrobustcmd*{\mtextcite}{\mcitelike\textcite} \newrobustcmd*{\Mtextcite}{\mcitelike\Textcite} \newrobustcmd*{\msupercite}{\mcitelike\supercite} % \mcite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3} % => \mcitelike\cite{key1,setA,*keyA1,*keyA2,*keyA3,key2,setB,*keyB1,*keyB2,*keyB3} % => \defbibentryset{setA}{keyA1,keyA2,keyA3} % \defbibentryset{setB}{keyB1,keyB2,keyB3} % \cite{key1,setA,key2,setB} \newrobustcmd*{\mcitelike}[1]{% \@ifstar {\blx@citeargs{\blx@mclike{#1*}}} {\blx@citeargs{\blx@mclike{#1}}}} \long\def\blx@mclike#1#2#3#4{% \begingroup \let\blx@mclike@tempa\@empty \let\blx@mclike@tempb\@empty \let\blx@mclike@tempc\@empty \blx@xsanitizeafter\blx@mclike@i{#4}% \edef\blx@mclike@tempa{\endgroup\unexpanded{#1[#2][#3]}{\blx@mclike@tempa}}% \blx@mclike@tempa} \def\blx@mclike@i#1{% \forcsvlist\blx@mclike@ii{#1}% \blx@mclike@iv} \def\blx@mclike@ii#1{\blx@mclike@iii#1&} \def\blx@mclike@iii#1#2&{% \if*#1% \blx@mclike@tail{#2}% \else \blx@mclike@head{#1#2}% \fi} \def\blx@mclike@iv{% \ifx\blx@mclike@tempb\@empty \else \ifx\blx@mclike@tempc\@empty \nocite{\blx@mclike@tempb}% preserve citation order for sorting=none \else \defbibentryset{\blx@mclike@tempb}{\blx@mclike@tempc}% \let\blx@mclike@tempc\@empty \fi \let\blx@mclike@tempb\@empty \fi} \def\blx@mclike@head#1{% \blx@mclike@iv \edef\blx@mclike@tempa{% \ifx\blx@mclike@tempa\@empty \else \blx@mclike@tempa,% \fi#1}% \def\blx@mclike@tempb{#1}} \def\blx@mclike@tail#1{% \edef\blx@mclike@tempc{% \ifx\blx@mclike@tempc\@empty \else \blx@mclike@tempc,% \fi#1}} \endinput