diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-12 23:52:15 +0000 |
commit | c7f0a75bd741e8801af8c64cb9a8ba80d0f6571f (patch) | |
tree | 13f5f6036774458f3e93274fdd1d17070dfe16f8 /Master/texmf-dist/tex/latex/bibunits/bibunits.sty | |
parent | 9a15f104a56628e0a61eea76dd6399e06290340d (diff) |
bibunits
git-svn-id: svn://tug.org/texlive/trunk@711 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bibunits/bibunits.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/bibunits/bibunits.sty | 402 |
1 files changed, 402 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/bibunits/bibunits.sty b/Master/texmf-dist/tex/latex/bibunits/bibunits.sty new file mode 100644 index 00000000000..9e95ea86ec7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/bibunits/bibunits.sty @@ -0,0 +1,402 @@ +%% +%% This is file `bibunits.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bibunits.dtx (with options: `package') +%% +%% IMPORTANT NOTICE: +%% +%% This work may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License, either version 1.3 of this license +%% or any later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt and version 1.3 or later is +%% part of all distributions of LaTeX version 2003/12/01 or +%% later. +%% +%% This work has the LPPL maintenance status "maintained". The Current +%% Maintainer of this work is Thorsten Hansen. +%% +%% Any modified versions of this file must be renamed with new filenames +%% distinct from bibunits.sty. +%% +%% This is a generated file. It may not be distributed without the +%% original source file bibunits.dtx. +%% +%% To produce the documentation run bibunits.dtx through LaTeX. +%% +%% +%% Package `bibunits' to use with LaTeX2e. +%% +%% Copyright (C) 1999--2004 Thorsten Hansen +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bibunits} + [2004/05/12 v2.4 Multiple bibliographies in one document.] +\newif\iflabelstoglobalaux \labelstoglobalauxfalse +\DeclareOption{labelstoglobalaux}{\labelstoglobalauxtrue} +\newif\ifglobalcitecopy +\globalcitecopyfalse +\DeclareOption{globalcitecopy}{\globalcitecopytrue} +\DeclareOption{sectionbib}{% + \AtBeginDocument{% + \let\stdthebibliography\thebibliography + \def\thebibliography{% + \let\chapter\section + \stdthebibliography}}} +\DeclareOption{subsectionbib}{% + \AtBeginDocument{% + \let\stdthebibliography\thebibliography + \def\thebibliography{% + \let\chapter\subsection + \let\section\subsection + \stdthebibliography}}} +\ProcessOptions +\newwrite\@bibunitaux +\newcount\@bibunitauxcnt \@bibunitauxcnt=0 +\def\@bibunitname{bu\the\@bibunitauxcnt} +\newif\if@starredversion +\let\std@cite\cite +\DeclareRobustCommand\bu@cite{% + \@ifstar + {\@starredversiontrue\std@cite}% + {\@starredversionfalse\std@cite}% +} +\AtBeginDocument{% + \@ifpackageloaded{natbib}% + {% + \NAT@set@cites \let\std@@citex\@citex + \def\bu@@citex[#1][#2]#3{% + \@startbibunitorrelax + \leavevmode + \begingroup\let\@auxout\@bibunitaux\std@@citex[#1][#2]{#3}\endgroup + \ifglobalcitecopy + \std@nocite{#3}% + \fi + }% + }% + {% + \@ifpackageloaded{cite}% + {% + \let\std@@citew\@citew + \def\bu@@citew#1{% + \@startbibunitorrelax + \leavevmode + {\let\@auxout\@bibunitaux \std@@citew{#1}}% + \ifglobalcitecopy + \@nocite{#1}% + \else + \if@starredversion + \@nocite{#1}% + \fi + \fi + } + \let\std@@citex\@citex + \def\bu@@citex[#1]#2{% + \@startbibunitorrelax + \leavevmode + {\let\@auxout\@bibunitaux \std@@citex[#1]{#2}}% + \ifglobalcitecopy + \@nocite{#2}% + \else + \if@starredversion + \@nocite{#2}% + \fi + \fi + } + }% + {% + \@ifpackageloaded{overcite}% + {% + \PackageWarningNoLine{bibunits}% + {Obsolete package overcite loaded. Use package cite which + option [superscript] instead}% + \let\std@@citew\@citew + \def\bu@@citew#1{% + \@startbibunitorrelax + \leavevmode + {\let\@auxout\@bibunitaux \std@@citew{#1}}% + \ifglobalcitecopy + \@nocite{#1}% + \else + \if@starredversion + \@nocite{#1}% + \fi + \fi + } + \let\std@@citex\@citex + \def\bu@@citex[#1]#2{% + \@startbibunitorrelax + \leavevmode + {\let\@auxout\@bibunitaux \std@@citex[#1]{#2}}% + \ifglobalcitecopy + \@nocite{#2}% + \else + \if@starredversion + \@nocite{#2}% + \fi + \fi + } + }% + {% + \@ifpackageloaded{jurabib}% + {% + \let\std@@citex\@citex + \def\bu@@citex[#1][#2]#3{% + \@startbibunitorrelax + \leavevmode + {\let\@auxout\@bibunitaux \std@@citex[#1][#2]{#3}}% + \ifglobalcitecopy + \std@nocite{#3}% + \else + \if@starredversion + \std@nocite{#3}% + \fi + \fi + }% + }% + {% + \let\std@@citex\@citex + \def\bu@@citex[#1]#2{% + \@startbibunitorrelax + \leavevmode + {\let\@auxout\@bibunitaux \std@@citex[#1]{#2}}% + \ifglobalcitecopy + \std@nocite{#2}% + \else + \if@starredversion + \std@nocite{#2}% + \fi + \fi + }% + }% + }% + }% + }% +}% +\let\std@nocite\nocite +\def\bu@nocite{% + \@ifstar + {\@starredversiontrue\@bu@nocite}% + {\@starredversionfalse\@bu@nocite}% +} +\def\@bu@nocite#1{% + \@startbibunitorrelax + {\let\@auxout\@bibunitaux \std@nocite{#1}}% + \ifglobalcitecopy + \std@nocite{#1}% + \else + \if@starredversion + \std@nocite{#1}% + \fi + \fi +} +\def\bu@bibdata{\jobname} +\AtBeginDocument{% + \iflabelstoglobalaux + \else + \let\orig@bibliography\bibliography + \def\bibliography#1{% + \if@filesw + \immediate\openout\@bibunitaux bu.aux + \immediate\write\@mainaux{\string\@input{bu.aux}}% + \fi + \orig@bibliography{#1}% + \if@filesw + \immediate\closeout\@bibunitaux + \fi + }% + \fi + \let\std@bibliography\bibliography +} +\def\bu@bibliography{% + \@ifstar + {\@starredversiontrue\@bu@bibliography}% + {\@starredversionfalse\@bu@bibliography}% +} +\def\@bu@bibliography#1{% + \defaultbibliography{#1}% + \if@starredversion + \else + \std@bibliography{#1}% + \fi +} +\def\defaultbibliography#1{% + \if@filesw + \immediate\write\@auxout{\string\gdef\string\bu@bibdata{#1}}% + \fi + \gdef\bu@bibdata{#1}% +} +\def\bu@bibstyle{plain} +\let\std@bibliographystyle\bibliographystyle +\def\bu@bibliographystyle{% + \@ifstar + {\@starredversiontrue\@bu@bibliographystyle}% + {\@starredversionfalse\@bu@bibliographystyle}% +} +\def\@bu@bibliographystyle#1{% + \defaultbibliographystyle{#1}% + \if@starredversion + \else + \std@bibliographystyle{#1}% + \fi +} +\def\defaultbibliographystyle#1{% + \if@filesw + \immediate\write\@auxout{\string\gdef\string\bu@bibstyle{#1}}% + \fi + \gdef\bu@bibstyle{#1}% +} +\def\bibunit{% + \global\let\cite\bu@cite + \global\let\@citex\bu@@citex + \global\let\@citew\bu@@citew + \global\let\nocite\bu@nocite + \global\let\@startbibunitorrelax\@startbibunit + \global\let\@finishbibunit\relax + \@ifnextchar[{\@bibunitx}{\@bibunitx[\bu@bibstyle]}% +} +\def\@bibunitx[#1]{\gdef\@localbibstyle{#1}} +\def\endbibunit{% + \global\let\cite\std@cite + \global\let\@citex\std@@citex + \global\let\@citew\std@@citew + \global\let\nocite\std@nocite + \@finishbibunit + \@input{bu.aux}% +} +\def\@startbibunit{% + \global\let\@startbibunitorrelax\relax + \global\let\@finishbibunit\@finishstartedbibunit + \global\advance\@bibunitauxcnt 1 + \if@filesw + {\endlinechar-1 + \@input{\@bibunitname.aux}}% + \immediate\openout\@bibunitaux\@bibunitname.aux + \immediate\write\@bibunitaux{\string\bibstyle{\@localbibstyle}}% + \fi +} +\let\@finishbibunit\relax +\def\@finishstartedbibunit{% + \if@filesw + \immediate\closeout\@bibunitaux + \fi + \ifx\bibunits@rerun@warning\@empty + \if@filesw + {\endlinechar-1 + \let\@namedef\@xtestdef + \@input{\@bibunitname.aux}}% + \fi + \fi +} +\let\bibunits@rerun@warning\@empty +\AtEndDocument\bibunits@rerun@warning +\def\@xtestdef #1#2{% + \def\reserved@a{#2}% + \expandafter\ifx\csname#1\endcsname\reserved@a + \else + \gdef\bibunits@rerun@warning{% + \PackageWarningNoLine{bibunits}{Label(s) may have changed. + Rerun to get cross-references right}}% + \fi +} +\let\old@bibunit\@gobble +\def\@bibunit{\endbibunit\bibunit\old@bibunit} +\def\@endbibunit{} +\def\bibliographyunit{% + \@endbibunit + \@ifnextchar[{\@bibliographyunit}{% + \global\let\old@bibunit\@gobble + \global\let\bibliography\std@bibliography + \global\let\bibliographystyle\std@bibliographystyle + \endbibunit + \gdef\@endbibunit{}}% +} +\def\@bibliographyunit[#1]{% + \global\let\bibliography\bu@bibliography + \global\let\bibliographystyle\bu@bibliographystyle + \global\let\old@bibunit#1 + \global\let#1\@bibunit + \gdef\@endbibunit{\global\let#1\old@bibunit}% +} +\def\putbib{\@ifnextchar[{\@putbib}{\@putbib[\bu@bibdata]}} +\def\@putbib[#1]{% + \@startbibunitorrelax + \if@filesw + \immediate\write\@bibunitaux{\string\bibdata{#1}}% + \fi + \@input@{\@bibunitname.bbl}% +} +\AtBeginDocument{% + \iflabelstoglobalaux + \else + \let\std@bibitem\@bibitem + \let\std@lbibitem\@lbibitem + \def\@bibitem#1{% + \let\temp@auxout\@auxout + \let\@auxout\@bibunitaux + \std@bibitem{#1}% + \let\@auxout\temp@auxout + } + \def\@lbibitem[#1]#2{% + \let\temp@auxout\@auxout + \let\@auxout\@bibunitaux + \std@lbibitem[#1]{#2}% + \let\@auxout\temp@auxout + } + \fi +} +\def\remequivalent#1\from#2{% + \let\given=#1% + \ifx#2\empty + \else + \edef#2{\expandafter\plugh#2\plugh}% + \fi +} +\def\plugh\do#1#2{% + \ifx#1\given + \else + \noexpand\do\noexpand#1% + \fi + \ifx#2\plugh + \hgulp\fi\plugh#2% +} +\def\hgulp\fi\plugh\plugh{\fi} +\remequivalent\bibcite\from\@preamblecmds +\AtBeginDocument{% + \@ifpackageloaded{natbib}% + {\renewcommand\bibcite[2]{\global\@namedef{b@#1\@extra@binfo}{#2}}}% + {\renewcommand\bibcite[2]{\global\@namedef{b@#1}{#2}}}% +} +\AtBeginDocument{% + \@ifundefined{bbl@redefine}% + {}% + {% + \bbl@redefine\@input#1{% + \@safe@activestrue\org@@input{#1}\@safe@activesfalse}% + \@ifpackageloaded{natbib}% + {% + \bbl@redefine\std@@citex[#1][#2]#3{% + \@safe@activestrue\org@std@@citex[#1][#2]{#3}\@safe@activesfalse}% + \bbl@redefine\bu@@citex[#1][#2]#3{% + \@safe@activestrue\org@bu@@citex[#1][#2]{#3}\@safe@activesfalse}% + }% + { + \@ifpackageloaded{jurabib}% + {% + \bbl@redefine\std@@citex[#1][#2]#3{% + \@safe@activestrue\org@std@@citex[#1][#2]{#3}\@safe@activesfalse}% + \bbl@redefine\bu@@citex[#1][#2]#3{% + \@safe@activestrue\org@bu@@citex[#1][#2]{#3}\@safe@activesfalse}% + }% + {% neither natbib nor jurabib loaded + \bbl@redefine\std@@citex[#1]#2{% + \@safe@activestrue\org@std@@citex[#1]{#2}\@safe@activesfalse}% + }% + }% + }% +} +\endinput +%% +%% End of file `bibunits.sty'. |