diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx new file mode 100644 index 00000000000..d1f9cd8e111 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx @@ -0,0 +1,146 @@ +% $Id: numeric-comp.cbx,v 0.9 2010/02/14 15:42:33 lehman beta $ + +\ProvidesFile{numeric-comp.cbx} +[\abx@cbxid $Id: numeric-comp.cbx,v 0.9 2010/02/14 15:42:33 lehman beta $] + +\ExecuteBibliographyOptions{labelnumber,sortcites,autocite=inline} +\renewcommand*{\multicitedelim}{\addcomma\space} +\providebool{bbx:subentry} +\newcounter{cbx@tempcnta} +\newcounter{cbx@tempcntb} + +\DeclareFieldFormat{entrysetcount}{\mknumalph{#1}} + +\newbibmacro*{cite:init}{% + \let\cbx@tempa=\empty + \undef\cbx@lasthash + \defcounter{cbx@tempcnta}{0}% + \defcounter{cbx@tempcntb}{-2}} + +\newbibmacro*{cite:comp}{% + \global\defcounter{cbx@tempcntb}{\value{cbx@tempcntb}+1}% + \iffieldundef{shorthand} + {\ifbool{bbx:subentry} + {\iffieldundef{entrysetcount} + {\usebibmacro{cite:comp:comp}} + {\usebibmacro{cite:comp:inset}}} + {\usebibmacro{cite:comp:comp}}} + {\usebibmacro{cite:comp:shand}}} + +\newbibmacro*{cite:comp:comp}{% + \ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}} + {\savefield{entrykey}{\cbx@lastkey}% + \savefield{labelnumber}{\cbx@lastnumber}% + \global\defcounter{cbx@tempcnta}{\value{cbx@tempcnta}+1}} + {\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1} + {} + {\usebibmacro{cite:dump}% + \ifnumgreater{\value{cbx@tempcntb}}{-1} + {\multicitedelim} + {}% + \printtext[bibhyperref]{\printfield{labelnumber}}}}% + \global\defcounter{cbx@tempcntb}{\thefield{labelnumber}}} + +\newbibmacro*{cite:comp:inset}{% + \usebibmacro{cite:dump}% + \ifnumgreater{\value{cbx@tempcntb}}{-1} + {\multicitedelim} + {}% + \printtext[bibhyperref]{% + \printfield{labelnumber}% + \printfield{entrysetcount}}% + \global\defcounter{cbx@tempcntb}{-1}} + +\newbibmacro*{cite:comp:shand}{% + \usebibmacro{cite:dump}% + \ifnumgreater{\value{cbx@tempcntb}}{-1} + {\multicitedelim} + {}% + \printtext[bibhyperref]{\printfield{shorthand}}% + \global\defcounter{cbx@tempcntb}{-1}} + +\newbibmacro*{cite:dump}{% + \ifnumgreater{\value{cbx@tempcnta}}{0} + {\ifnumgreater{\value{cbx@tempcnta}}{1} + {\bibrangedash} + {\multicitedelim}% + \bibhyperref[\cbx@lastkey]{% + \printtext[labelnumber]{\cbx@lastnumber}}% + \global\defcounter{cbx@tempcnta}{0}} + {}} + +\DeclareCiteCommand{\cite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}% + \bibleftbracket} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}% + \bibrightbracket} + +\DeclareCiteCommand{\parencite}[\mkbibbrackets] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\footcite}[\mkbibfootnote] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\footcitetext}[\mkbibfootnotetext] + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}} + +\DeclareCiteCommand{\textcite} + {\usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \iffieldequals{namehash}{\cbx@lasthash} + {\usebibmacro{cite:comp}} + {\usebibmacro{cite:dump}\cbx@tempa + \usebibmacro{cite:init}% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \addspace\bibleftbracket + \usebibmacro{cite:comp}}% + \savefield{namehash}{\cbx@lasthash}% + \gdef\cbx@tempa{\bibrightbracket\multicitedelim}} + {} + {\usebibmacro{cite:dump}% + \usebibmacro{postnote}\bibrightbracket} + +\DeclareCiteCommand{\supercite}[\mkbibsuperscript] + {\usebibmacro{cite:init}% + \let\multicitedelim=\supercitedelim + \iffieldundef{prenote} + {} + {\BibliographyWarning{Ignoring prenote argument}}% + \iffieldundef{postnote} + {} + {\BibliographyWarning{Ignoring postnote argument}}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:comp}} + {} + {\usebibmacro{cite:dump}} + +\DeclareMultiCiteCommand{\cites}[\mkbibbrackets]{\parencite}{\multicitedelim} +\DeclareMultiCiteCommand{\parencites}[\mkbibbrackets]{\parencite}{\multicitedelim} + +\endinput |