Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %%
- %% This is file `modnatbib.sty',
- %% A modification to natbib.sty (Copyright 1993-2010 Patrick W Daly)
- \NeedsTeXFormat{LaTeX2e}[1995/06/01]
- \ProvidesPackage{natbib}
- [2010/09/13 8.31b (PWD, AO)]
- %-----------------------------------------------------------
- \providecommand\@ifxundefined[1]{%
- \ifx#1\@undefined\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
- }%
- \providecommand\@ifnum[1]{%
- \ifnum#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
- }%
- \providecommand\@ifx[1]{%
- \ifx#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
- }%
- \providecommand\appdef[2]{%
- \toks@\expandafter{#1}\@temptokena{#2}%
- \edef#1{\the\toks@\the\@temptokena}%
- }%
- \@ifclassloaded{agu2001}{\PackageError{natbib}
- {The agu2001 class already includes natbib coding,\MessageBreak
- so you should not add it explicitly}
- {Type <Return> for now, but then later remove\MessageBreak
- the command \protect\usepackage{natbib} from the document}
- \endinput}{}
- \@ifclassloaded{agutex}{\PackageError{natbib}
- {The AGUTeX class already includes natbib coding,\MessageBreak
- so you should not add it explicitly}
- {Type <Return> for now, but then later remove\MessageBreak
- the command \protect\usepackage{natbib} from the document}
- \endinput}{}
- \@ifclassloaded{aguplus}{\PackageError{natbib}
- {The aguplus class already includes natbib coding,\MessageBreak
- so you should not add it explicitly}
- {Type <Return> for now, but then later remove\MessageBreak
- the command \protect\usepackage{natbib} from the document}
- \endinput}{}
- \@ifclassloaded{nlinproc}{\PackageError{natbib}
- {The nlinproc class already includes natbib coding,\MessageBreak
- so you should not add it explicitly}
- {Type <Return> for now, but then later remove\MessageBreak
- the command \protect\usepackage{natbib} from the document}
- \endinput}{}
- \@ifclassloaded{egs}{\PackageError{natbib}
- {The egs class already includes natbib coding,\MessageBreak
- so you should not add it explicitly}
- {Type <Return> for now, but then later remove\MessageBreak
- the command \protect\usepackage{natbib} from the document}
- \endinput}{}
- \@ifclassloaded{egu}{\PackageError{natbib}
- {The egu class already includes natbib coding,\MessageBreak
- so you should not add it explicitly}
- {Type <Return> for now, but then later remove\MessageBreak
- the command \protect\usepackage{natbib} from the document}
- \endinput}{}
- % Define citation punctuation for some author-year styles
- % One may add and delete at this point
- % Or put additions into local configuration file natbib.cfg
- \newcommand\bibstyle@chicago{\bibpunct{(}{)}{;}{a}{,}{,}}
- \newcommand\bibstyle@named{\bibpunct{[}{]}{;}{a}{,}{,}}
- \newcommand\bibstyle@agu{\bibpunct{[}{]}{;}{a}{,}{,~}}%Amer. Geophys. Union
- \newcommand\bibstyle@copernicus{\bibpunct{(}{)}{;}{a}{,}{,}}%Copernicus Publications
- \let\bibstyle@egu=\bibstyle@copernicus
- \let\bibstyle@egs=\bibstyle@copernicus
- \newcommand\bibstyle@agsm{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}}
- \newcommand\bibstyle@kluwer{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}}
- \newcommand\bibstyle@dcu{\bibpunct{(}{)}{;}{a}{;}{,}\gdef\harvardand{and}}
- \newcommand\bibstyle@aa{\bibpunct{(}{)}{;}{a}{}{,}} %Astronomy & Astrophysics
- \newcommand\bibstyle@pass{\bibpunct{(}{)}{;}{a}{,}{,}}%Planet. & Space Sci
- \newcommand\bibstyle@anngeo{\bibpunct{(}{)}{;}{a}{,}{,}}%Annales Geophysicae
- \newcommand\bibstyle@nlinproc{\bibpunct{(}{)}{;}{a}{,}{,}}%Nonlin.Proc.Geophys.
- % Define citation punctuation for some numerical styles
- \newcommand\bibstyle@cospar{\bibpunct{/}{/}{,}{n}{}{}%
- \gdef\bibnumfmt##1{##1.}}
- \newcommand\bibstyle@esa{\bibpunct{(Ref.~}{)}{,}{n}{}{}%
- \gdef\bibnumfmt##1{##1.\hspace{1em}}}
- \newcommand\bibstyle@nature{\bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
- \gdef\bibnumfmt##1{##1.}}
- % The standard LaTeX styles
- \newcommand\bibstyle@plain{\bibpunct{[}{]}{,}{n}{}{,}}
- \let\bibstyle@alpha=\bibstyle@plain
- \let\bibstyle@abbrv=\bibstyle@plain
- \let\bibstyle@unsrt=\bibstyle@plain
- % The author-year modifications of the standard styles
- \newcommand\bibstyle@plainnat{\bibpunct{[}{]}{,}{a}{,}{,}}
- \let\bibstyle@abbrvnat=\bibstyle@plainnat
- \let\bibstyle@unsrtnat=\bibstyle@plainnat
- \newif\ifNAT@numbers \NAT@numbersfalse
- \newif\ifNAT@super \NAT@superfalse
- \let\NAT@merge\z@
- \DeclareOption{numbers}{\NAT@numberstrue
- \ExecuteOptions{square,comma,nobibstyle}}
- \DeclareOption{super}{\NAT@supertrue\NAT@numberstrue
- \renewcommand\NAT@open{}\renewcommand\NAT@close{}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{authoryear}{\NAT@numbersfalse
- \ExecuteOptions{round,semicolon,bibstyle}}
- \DeclareOption{round}{%
- \renewcommand\NAT@open{(} \renewcommand\NAT@close{)}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{square}{%
- \renewcommand\NAT@open{[} \renewcommand\NAT@close{]}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{angle}{%
- \renewcommand\NAT@open{$<$} \renewcommand\NAT@close{$>$}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{curly}{%
- \renewcommand\NAT@open{\{} \renewcommand\NAT@close{\}}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{comma}{\renewcommand\NAT@sep{,}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{semicolon}{\renewcommand\NAT@sep{;}
- \ExecuteOptions{nobibstyle}}
- \DeclareOption{colon}{\ExecuteOptions{semicolon}}
- \DeclareOption{nobibstyle}{\let\bibstyle=\@gobble}
- \DeclareOption{bibstyle}{\let\bibstyle=\@citestyle}
- \newif\ifNAT@openbib \NAT@openbibfalse
- \DeclareOption{openbib}{\NAT@openbibtrue}
- \DeclareOption{sectionbib}{\def\NAT@sectionbib{on}}
- \def\NAT@sort{\z@}
- \def\NAT@cmprs{\z@}
- \DeclareOption{sort}{\def\NAT@sort{\@ne}}
- \DeclareOption{compress}{\def\NAT@cmprs{\@ne}}
- \DeclareOption{sort&compress}{\def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}}
- \DeclareOption{mcite}{\let\NAT@merge\@ne}
- \DeclareOption{merge}{\@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}}
- \DeclareOption{elide}{\@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}}
- \@ifpackageloaded{cite}{\PackageWarningNoLine{natbib}
- {The `cite' package should not be used\MessageBreak
- with natbib. Use option `sort' instead}\ExecuteOptions{sort}}{}
- \@ifpackageloaded{mcite}{\PackageWarningNoLine{natbib}
- {The `mcite' package should not be used\MessageBreak
- with natbib. Use option `merge' instead}\ExecuteOptions{merge}}{}
- \@ifpackageloaded{citeref}{\PackageError{natbib}
- {The `citeref' package must be loaded after natbib}%
- {Move \protect\usepackage{citeref} to after \string\usepackage{natbib}}}{}
- \newif\ifNAT@longnames\NAT@longnamesfalse
- \DeclareOption{longnamesfirst}{\NAT@longnamestrue}
- \DeclareOption{nonamebreak}{\def\NAT@nmfmt#1{\mbox{\NAT@up#1}}}
- \def\NAT@nmfmt#1{{\NAT@up#1}}
- \renewcommand\bibstyle[1]{\csname bibstyle@#1\endcsname}
- \AtBeginDocument{\global\let\bibstyle=\@gobble}
- \let\@citestyle\bibstyle
- \newcommand\citestyle[1]{\@citestyle{#1}\let\bibstyle\@gobble}
- \newcommand\bibpunct[7][, ]%
- {\gdef\NAT@open{#2}\gdef\NAT@close{#3}\gdef
- \NAT@sep{#4}\global\NAT@numbersfalse
- \ifx #5n\global\NAT@numberstrue\global\NAT@superfalse
- \else
- \ifx #5s\global\NAT@numberstrue\global\NAT@supertrue
- \fi\fi
- \gdef\NAT@aysep{#6}\gdef\NAT@yrsep{#7}%
- \gdef\NAT@cmt{#1}%
- \NAT@@setcites
- }
- \newcommand\setcitestyle[1]{
- \@for\@tempa:=#1\do
- {\def\@tempb{round}\ifx\@tempa\@tempb
- \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
- \def\@tempb{square}\ifx\@tempa\@tempb
- \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
- \def\@tempb{angle}\ifx\@tempa\@tempb
- \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
- \def\@tempb{curly}\ifx\@tempa\@tempb
- \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
- \def\@tempb{semicolon}\ifx\@tempa\@tempb
- \renewcommand\NAT@sep{;}\fi
- \def\@tempb{colon}\ifx\@tempa\@tempb
- \renewcommand\NAT@sep{;}\fi
- \def\@tempb{comma}\ifx\@tempa\@tempb
- \renewcommand\NAT@sep{,}\fi
- \def\@tempb{authoryear}\ifx\@tempa\@tempb
- \NAT@numbersfalse\fi
- \def\@tempb{numbers}\ifx\@tempa\@tempb
- \NAT@numberstrue\NAT@superfalse\fi
- \def\@tempb{super}\ifx\@tempa\@tempb
- \NAT@numberstrue\NAT@supertrue\fi
- \expandafter\NAT@find@eq\@tempa=\relax\@nil
- \if\@tempc\relax\else
- \expandafter\NAT@rem@eq\@tempc
- \def\@tempb{open}\ifx\@tempa\@tempb
- \xdef\NAT@open{\@tempc}\fi
- \def\@tempb{close}\ifx\@tempa\@tempb
- \xdef\NAT@close{\@tempc}\fi
- \def\@tempb{aysep}\ifx\@tempa\@tempb
- \xdef\NAT@aysep{\@tempc}\fi
- \def\@tempb{yysep}\ifx\@tempa\@tempb
- \xdef\NAT@yrsep{\@tempc}\fi
- \def\@tempb{notesep}\ifx\@tempa\@tempb
- \xdef\NAT@cmt{\@tempc}\fi
- \def\@tempb{citesep}\ifx\@tempa\@tempb
- \xdef\NAT@sep{\@tempc}\fi
- \fi
- }%
- \NAT@@setcites
- }
- \def\NAT@find@eq#1=#2\@nil{\def\@tempa{#1}\def\@tempc{#2}}
- \def\NAT@rem@eq#1={\def\@tempc{#1}}
- \def\NAT@@setcites{\global\let\bibstyle\@gobble}
- \AtBeginDocument{\let\NAT@@setcites\NAT@set@cites}
- \newcommand\NAT@open{(} \newcommand\NAT@close{)}
- \newcommand\NAT@sep{;}
- \ProcessOptions
- \newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,}
- \newcommand\NAT@cmt{, }
- \newcommand\NAT@cite%
- [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi
- #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
- \newcommand\NAT@citenum%
- [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi
- #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
- \newcommand\NAT@citesuper[3]{\ifNAT@swa
- \if*#2*\else#2\NAT@spacechar\fi
- \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}%
- \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup}
- \providecommand\textsuperscript[1]{\mbox{$^{\mbox{\scriptsize#1}}$}}
- \begingroup \catcode`\_=8
- \gdef\NAT@ifcat@num#1{%
- \ifcat_\ifnum\z@<0#1_\else A\fi
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }%
- \endgroup
- \providecommand\@firstofone[1]{#1}
- \newcommand\NAT@citexnum{}
- \def\NAT@citexnum[#1][#2]#3{%
- \NAT@reset@parser
- \NAT@sort@cites{#3}%
- \NAT@reset@citea
- \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
- \@for\@citeb:=\NAT@cite@list\do
- {\@safe@activestrue
- \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
- \@safe@activesfalse
- \@ifundefined{b@\@citeb\@extra@b@citeb}{%
- {\reset@font\bfseries?}
- \NAT@citeundefined\PackageWarning{natbib}%
- {Citation `\@citeb' on page \thepage \space undefined}}%
- {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
- \NAT@parse{\@citeb}%
- \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
- \let\NAT@name=\NAT@all@names
- \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
- \fi
- \ifNAT@full\let\NAT@nm\NAT@all@names\else
- \let\NAT@nm\NAT@name\fi
- \ifNAT@swa
- \@ifnum{\NAT@ctype>\@ne}{%
- \@citea
- \NAT@hyper@{\@ifnum{\NAT@ctype=\tw@}{\NAT@test{\NAT@ctype}}{\NAT@alias}}%
- }{%
- \@ifnum{\NAT@cmprs>\z@}{%
- \NAT@ifcat@num\NAT@num
- {\let\NAT@nm=\NAT@num}%
- {\def\NAT@nm{-2}}%
- \NAT@ifcat@num\NAT@last@num
- {\@tempcnta=\NAT@last@num\relax}%
- {\@tempcnta\m@ne}%
- \@ifnum{\NAT@nm=\@tempcnta}{%
- \@ifnum{\NAT@merge>\@ne}{}{\NAT@last@yr@mbox}%
- }{%
- \advance\@tempcnta by\@ne
- \@ifnum{\NAT@nm=\@tempcnta}{%
- \ifx\NAT@last@yr\relax
- \def@NAT@last@yr{\@citea}%
- \else
- \def@NAT@last@yr{]--[\NAT@penalty}%
- \fi
- }{%
- \NAT@last@yr@mbox
- }%
- }%
- }{%
- \@tempswatrue
- \@ifnum{\NAT@merge>\@ne}{\@ifnum{\NAT@last@num=\NAT@num\relax}{\@tempswafalse}{}}{}%
- \if@tempswa\NAT@citea@mbox\fi
- }%
- }%
- \NAT@def@citea
- \else
- \ifcase\NAT@ctype
- \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\NAT@penalty\NAT@space\else
- \@citea \NAT@test{\@ne}\NAT@spacechar\NAT@mbox{\NAT@super@kern\NAT@@open}%
- \fi
- \if*#1*\else#1\NAT@spacechar\fi
- \NAT@mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
- \NAT@def@citea@box
- \or
- \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
- \or
- \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
- \or
- \NAT@hyper@citea@space\NAT@alias
- \fi
- \fi
- }%
- }%
- \@ifnum{\NAT@cmprs>\z@}{\NAT@last@yr}{}%
- \ifNAT@swa\else
- \@ifnum{\NAT@ctype=\z@}{%
- \if*#2*\else\NAT@cmt#2\fi
- }{}%
- \NAT@mbox{\NAT@@close}%
- \fi
- }{#1}{#2}%
- }%
- \def\NAT@citea@mbox{%
- \@citea\mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
- }%
- \def\NAT@hyper@#1{%
- \hyper@natlinkstart{\@citeb\@extra@b@citeb}#1\hyper@natlinkend
- }%
- \def\NAT@hyper@citea#1{%
- \@citea
- \NAT@hyper@{#1}%
- \NAT@def@citea
- }%
- \def\NAT@hyper@citea@space#1{%
- \@citea
- \NAT@hyper@{#1}%
- \NAT@def@citea@space
- }%
- \def\def@NAT@last@yr#1{%
- \protected@edef\NAT@last@yr{%
- #1%
- \noexpand\mbox{%
- \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
- {\noexpand\citenumfont{\NAT@num}}%
- \noexpand\hyper@natlinkend
- }%
- }%
- }%
- \def\NAT@last@yr@mbox{%
- \NAT@last@yr\let\NAT@last@yr\relax
- \NAT@citea@mbox
- }%
- \newcommand\NAT@test[1]{%
- \@ifnum{#1=\@ne}{%
- \ifx\NAT@nm\NAT@noname
- \begingroup\reset@font\bfseries(author?)\endgroup
- \PackageWarning{natbib}{%
- Author undefined for citation`\@citeb' \MessageBreak on page \thepage%
- }%
- \else \NAT@nm
- \fi
- }{%
- \if\relax\NAT@date\relax
- \begingroup\reset@font\bfseries(year?)\endgroup
- \PackageWarning{natbib}{%
- Year undefined for citation`\@citeb' \MessageBreak on page \thepage%
- }%
- \else \NAT@date
- \fi
- }%
- }%
- \let\citenumfont=\@empty
- \newcommand\NAT@citex{}
- \def\NAT@citex%
- [#1][#2]#3{%
- \NAT@reset@parser
- \NAT@sort@cites{#3}%
- \NAT@reset@citea
- \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
- \@for\@citeb:=\NAT@cite@list\do
- {\@safe@activestrue
- \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
- \@safe@activesfalse
- \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
- {\reset@font\bfseries ?}\NAT@citeundefined
- \PackageWarning{natbib}%
- {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
- {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
- \NAT@parse{\@citeb}%
- \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
- \let\NAT@name=\NAT@all@names
- \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
- \fi
- \ifNAT@full\let\NAT@nm\NAT@all@names\else
- \let\NAT@nm\NAT@name\fi
- \ifNAT@swa\ifcase\NAT@ctype
- \if\relax\NAT@date\relax
- \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}\NAT@date}%
- \else
- \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
- \ifx\NAT@last@yr\NAT@year
- \def\NAT@temp{{?}}%
- \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
- {Multiple citation on page \thepage: same authors and
- year\MessageBreak without distinguishing extra
- letter,\MessageBreak appears as question mark}\fi
- \NAT@hyper@{\NAT@exlab}%
- \else\unskip\NAT@spacechar
- \NAT@hyper@{\NAT@date}%
- \fi
- \else
- \@citea\NAT@hyper@{%
- \NAT@nmfmt{\NAT@nm}%
- \hyper@natlinkbreak{%
- \NAT@aysep\NAT@spacechar}{\@citeb\@extra@b@citeb
- }%
- \NAT@date
- }%
- \fi
- \fi
- \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
- \or\@citea\NAT@hyper@{\NAT@date}%
- \or\@citea\NAT@hyper@{\NAT@alias}%
- \fi \NAT@def@citea
- \else
- \ifcase\NAT@ctype
- \if\relax\NAT@date\relax
- \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
- \else
- \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
- \ifx\NAT@last@yr\NAT@year
- \def\NAT@temp{{?}}%
- \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
- {Multiple citation on page \thepage: same authors and
- year\MessageBreak without distinguishing extra
- letter,\MessageBreak appears as question mark}\fi
- \NAT@hyper@{\NAT@exlab}%
- \else
- \unskip\NAT@spacechar
- \NAT@hyper@{\NAT@date}%
- \fi
- \else
- \@citea\NAT@hyper@{%
- \NAT@nmfmt{\NAT@nm}%
- \hyper@natlinkbreak{\NAT@spacechar\NAT@@open\if*#1*\else#1\NAT@spacechar\fi}%
- {\@citeb\@extra@b@citeb}%
- \NAT@date
- }%
- \fi
- \fi
- \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
- \or\@citea\NAT@hyper@{\NAT@date}%
- \or\@citea\NAT@hyper@{\NAT@alias}%
- \fi
- \if\relax\NAT@date\relax
- \NAT@def@citea
- \else
- \NAT@def@citea@close
- \fi
- \fi
- }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
- \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}}
- \def\NAT@separator{\NAT@sep\NAT@penalty}%
- \def\NAT@reset@citea{\c@NAT@ctr\@ne\let\@citea\@empty}%
- \def\NAT@def@citea{\def\@citea{\NAT@separator\NAT@space}}%
- \def\NAT@def@citea@space{\def\@citea{\NAT@separator\NAT@spacechar}}%
- \def\NAT@def@citea@close{\def\@citea{\NAT@@close\NAT@separator\NAT@space}}%
- \def\NAT@def@citea@box{\def\@citea{\NAT@mbox{\NAT@@close}\NAT@separator\NAT@spacechar}}%
- \newif\ifNAT@par \NAT@partrue
- \newcommand\NAT@@open{\ifNAT@par\NAT@open\fi}
- \newcommand\NAT@@close{\ifNAT@par\NAT@close\fi}
- \newcommand\NAT@alias{\@ifundefined{al@\@citeb\@extra@b@citeb}{%
- {\reset@font\bfseries(alias?)}\PackageWarning{natbib}
- {Alias undefined for citation `\@citeb'
- \MessageBreak on page \thepage}}{\@nameuse{al@\@citeb\@extra@b@citeb}}}
- \let\NAT@up\relax
- \newcommand\NAT@Up[1]{{\let\protect\@unexpandable@protect\let~\relax
- \expandafter\NAT@deftemp#1}\expandafter\NAT@UP\NAT@temp}
- \newcommand\NAT@deftemp[1]{\xdef\NAT@temp{#1}}
- \newcommand\NAT@UP[1]{\let\@tempa\NAT@UP\ifcat a#1\MakeUppercase{#1}%
- \let\@tempa\relax\else#1\fi\@tempa}
- \newcommand\shortcites[1]{%
- \@bsphack\@for\@citeb:=#1\do
- {\@safe@activestrue
- \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
- \@safe@activesfalse
- \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}\@esphack}
- \newcommand\NAT@biblabel[1]{\hfill}
- \newcommand\NAT@biblabelnum[1]{\bibnumfmt{#1}}
- \let\bibnumfmt\@empty
- \providecommand\@biblabel[1]{[#1]}
- \AtBeginDocument{\ifx\bibnumfmt\@empty\let\bibnumfmt\@biblabel\fi}
- \newcommand\NAT@bibsetnum[1]{\settowidth\labelwidth{\@biblabel{#1}}%
- \setlength{\leftmargin}{\labelwidth}\addtolength{\leftmargin}{\labelsep}%
- \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}%
- \ifNAT@openbib
- \addtolength{\leftmargin}{\bibindent}%
- \setlength{\itemindent}{-\bibindent}%
- \setlength{\listparindent}{\itemindent}%
- \setlength{\parsep}{0pt}%
- \fi
- }
- \newlength{\bibhang}
- \setlength{\bibhang}{1em}
- \newlength{\bibsep}
- {\@listi \global\bibsep\itemsep \global\advance\bibsep by\parsep}
- \newcommand\NAT@bibsetup%
- [1]{\setlength{\leftmargin}{\bibhang}\setlength{\itemindent}{-\leftmargin}%
- \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}}
- \newcommand\NAT@set@cites{%
- \ifNAT@numbers
- \ifNAT@super \let\@cite\NAT@citesuper
- \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}%
- \let\citeyearpar=\citeyear
- \let\NAT@space\relax
- \def\NAT@super@kern{\kern\p@}%
- \else
- \let\NAT@mbox=\mbox
- \let\@cite\NAT@citenum
- \let\NAT@space\NAT@spacechar
- \let\NAT@super@kern\relax
- \fi
- \let\@citex\NAT@citexnum
- \let\@biblabel\NAT@biblabelnum
- \let\@bibsetup\NAT@bibsetnum
- \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}%
- \def\natexlab##1{}%
- \def\NAT@penalty{\penalty\@m}%
- \else
- \let\@cite\NAT@cite
- \let\@citex\NAT@citex
- \let\@biblabel\NAT@biblabel
- \let\@bibsetup\NAT@bibsetup
- \let\NAT@space\NAT@spacechar
- \let\NAT@penalty\@empty
- \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}%
- \def\natexlab##1{##1}%
- \fi}
- \AtBeginDocument{\NAT@set@cites}
- \AtBeginDocument{\ifx\SK@def\@undefined\else
- \ifx\SK@cite\@empty\else
- \SK@def\@citex[#1][#2]#3{\SK@\SK@@ref{#3}\SK@@citex[#1][#2]{#3}}\fi
- \ifx\SK@citeauthor\@undefined\def\HAR@checkdef{}\else
- \let\citeauthor\SK@citeauthor
- \let\citefullauthor\SK@citefullauthor
- \let\citeyear\SK@citeyear\fi
- \fi}
- \newif\ifNAT@full\NAT@fullfalse
- \newif\ifNAT@swa
- \DeclareRobustCommand\citet
- {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \newcommand\NAT@citetp{\@ifnextchar[{\NAT@@citetp}{\NAT@@citetp[]}}
- \newcommand\NAT@@citetp{}
- \def\NAT@@citetp[#1]{\@ifnextchar[{\@citex[#1]}{\@citex[][#1]}}
- \DeclareRobustCommand\citep
- {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\cite
- {\begingroup\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue
- \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
- \newcommand\NAT@cites{\@ifnextchar [{\NAT@@citetp}{%
- \ifNAT@numbers\else
- \NAT@swafalse
- \fi
- \NAT@@citetp[]}}
- \DeclareRobustCommand\citealt
- {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@parfalse
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\citealp
- {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\citenum
- {\begingroup
- \NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse\let\textsuperscript\NAT@spacechar
- \NAT@citexnum[][]}
- \DeclareRobustCommand\citeauthor
- {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\Citet
- {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
- \let\NAT@up\NAT@Up
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\Citep
- {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue
- \let\NAT@up\NAT@Up
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\Citealt
- {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@parfalse
- \let\NAT@up\NAT@Up
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\Citealp
- {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse
- \let\NAT@up\NAT@Up
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\Citeauthor
- {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse
- \let\NAT@up\NAT@Up
- \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
- \DeclareRobustCommand\citeyear
- {\begingroup\NAT@swafalse\let\NAT@ctype\tw@\NAT@parfalse\NAT@citetp}
- \DeclareRobustCommand\citeyearpar
- {\begingroup\NAT@swatrue\let\NAT@ctype\tw@\NAT@partrue\NAT@citetp}
- \newcommand\citetext[1]{\NAT@open#1\NAT@close}
- \DeclareRobustCommand\citefullauthor
- {\citeauthor*}
- \newcommand\defcitealias[2]{%
- \@ifundefined{al@#1\@extra@b@citeb}{}
- {\PackageWarning{natbib}{Overwriting existing alias for citation #1}}
- \@namedef{al@#1\@extra@b@citeb}{#2}}
- \DeclareRobustCommand\citetalias{\begingroup
- \NAT@swafalse\let\NAT@ctype\thr@@\NAT@parfalse\NAT@citetp}
- \DeclareRobustCommand\citepalias{\begingroup
- \NAT@swatrue\let\NAT@ctype\thr@@\NAT@partrue\NAT@citetp}
- \renewcommand\nocite[1]{\@bsphack
- \@for\@citeb:=#1\do{%
- \@safe@activestrue
- \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
- \@safe@activesfalse
- \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
- \if*\@citeb\else
- \@ifundefined{b@\@citeb\@extra@b@citeb}{%
- \NAT@citeundefined \PackageWarning{natbib}%
- {Citation `\@citeb' undefined}}{}\fi}%
- \@esphack}
- \newcommand\NAT@parse[1]{%
- \begingroup
- \let\protect=\@unexpandable@protect
- \let~\relax
- \let\active@prefix=\@gobble
- \edef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}%
- \aftergroup\NAT@split
- \expandafter
- \endgroup
- \NAT@temp{}{}{}{}{}@@%
- \expandafter\NAT@parse@date\NAT@date??????@@%
- \ifciteindex\NAT@index\fi
- }%
- \def\NAT@split#1#2#3#4#5@@{%
- \gdef\NAT@num{#1}\gdef\NAT@name{#3}\gdef\NAT@date{#2}%
- \gdef\NAT@all@names{#4}%
- \ifx\NAT@num\@empty\gdef\NAT@num{0}\fi
- \ifx\NAT@noname\NAT@all@names \gdef\NAT@all@names{#3}\fi
- }%
- \def\NAT@reset@parser{%
- \global\let\NAT@num\@empty
- \global\let\NAT@name\@empty
- \global\let\NAT@date\@empty
- \global\let\NAT@all@names\@empty
- }%
- \newcommand\NAT@parse@date{}
- \def\NAT@parse@date#1#2#3#4#5#6@@{%
- \ifnum\the\catcode`#1=11\def\NAT@year{}\def\NAT@exlab{#1}\else
- \ifnum\the\catcode`#2=11\def\NAT@year{#1}\def\NAT@exlab{#2}\else
- \ifnum\the\catcode`#3=11\def\NAT@year{#1#2}\def\NAT@exlab{#3}\else
- \ifnum\the\catcode`#4=11\def\NAT@year{#1#2#3}\def\NAT@exlab{#4}\else
- \def\NAT@year{#1#2#3#4}\def\NAT@exlab{{#5}}\fi\fi\fi\fi}
- \newcommand\NAT@index{}
- \let\NAT@makeindex=\makeindex
- \renewcommand\makeindex{\NAT@makeindex
- \renewcommand\NAT@index{\@bsphack\begingroup
- \def~{\string~}\@wrindex{\NAT@idxtxt}}}
- \newcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}
- \@ifxundefined\@indexfile{}{\let\NAT@makeindex\relax\makeindex}
- \newif\ifciteindex \citeindexfalse
- \newcommand\citeindextype{default}
- \newcommand\NAT@index@alt{{\let\protect=\noexpand\let~\relax
- \xdef\NAT@temp{\NAT@idxtxt}}\expandafter\NAT@exp\NAT@temp\@nil}
- \newcommand\NAT@exp{}
- \def\NAT@exp#1\@nil{\index[\citeindextype]{#1}}
- \AtBeginDocument{%
- \@ifpackageloaded{index}{\let\NAT@index=\NAT@index@alt}{}}
- \newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd}
- \newcommand\NAT@ifxcmd{\ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi}
- \def\NAT@bare#1(#2)#3(@)#4\@nil#5{%
- \if @#2
- \expandafter\NAT@apalk#1, , \@nil{#5}%
- \else
- \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{#3}{#5}%
- \fi
- }
- \newcommand\NAT@wrout[5]{%
- \if@filesw
- {\let\protect\noexpand\let~\relax
- \immediate
- \write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi
- \ignorespaces}
- \def\NAT@noname{{}}
- \renewcommand\bibitem{\@ifnextchar[{\@lbibitem}{\@lbibitem[]}}%
- \let\NAT@bibitem@first@sw\@secondoftwo
- \def\@lbibitem[#1]#2{%
- \if\relax\@extra@b@citeb\relax\else
- \@ifundefined{br@#2\@extra@b@citeb}{}{%
- \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}%
- }%
- \fi
- \@ifundefined{b@#2\@extra@b@citeb}{%
- \def\NAT@num{}%
- }{%
- \NAT@parse{#2}%
- }%
- \def\NAT@tmp{#1}%
- \expandafter\let\expandafter\bibitemOpen\csname NAT@b@open@#2\endcsname
- \expandafter\let\expandafter\bibitemShut\csname NAT@b@shut@#2\endcsname
- \@ifnum{\NAT@merge>\@ne}{%
- \NAT@bibitem@first@sw{%
- \@firstoftwo
- }{%
- \@ifundefined{NAT@b*@#2}{%
- \@firstoftwo
- }{%
- \expandafter\def\expandafter\NAT@num\expandafter{\the\c@NAT@ctr}%
- \@secondoftwo
- }%
- }%
- }{%
- \@firstoftwo
- }%
- {%
- \global\advance\c@NAT@ctr\@ne
- \@ifx{\NAT@tmp\@empty}{\@firstoftwo}{%
- \@secondoftwo
- }%
- {%
- \expandafter\def\expandafter\NAT@num\expandafter{\the\c@NAT@ctr}%
- \global\NAT@stdbsttrue
- }{}%
- \bibitem@fin
- \item[\hfil\NAT@anchor{#2}{\NAT@num}]%
- \global\let\NAT@bibitem@first@sw\@secondoftwo
- \NAT@bibitem@init
- }%
- {%
- \NAT@anchor{#2}{}%
- \NAT@bibitem@cont
- \bibitem@fin
- }%
- \@ifx{\NAT@tmp\@empty}{%
- \NAT@wrout{\the\c@NAT@ctr}{}{}{}{#2}%
- }{%
- \expandafter\NAT@ifcmd\NAT@tmp(@)(@)\@nil{#2}%
- }%
- }%
- \def\bibitem@fin{%
- \@ifxundefined\@bibstop{}{\csname bibitem@\@bibstop\endcsname}%
- }%
- \def\NAT@bibitem@init{%
- \let\@bibstop\@undefined
- }%
- \def\NAT@bibitem@cont{%
- \let\bibitem@Stop\bibitemContinue
- \let\bibitem@NoStop\bibitemContinue
- }%
- \def\BibitemOpen{%
- \bibitemOpen
- }%
- \def\BibitemShut#1{%
- \def\@bibstop{#1}%
- \let\bibitem@Stop\bibitemStop
- \let\bibitem@NoStop\bibitemNoStop
- \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
- \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
- }%
- }%
- \def\@bibitemShut{}%
- \def\bibitemStop{\@bibitemShut}%
- \def\bibitemNoStop{%
- \@ifx{\@empty\@bibitemShut}{.\spacefactor\@mmm\space}{\@bibitemShut}%
- }%
- \def\bibitemContinue{%
- \@ifx{\@empty\@bibitemShut}{;\spacefactor\@mmm\space}{\@bibitemShut}%
- }%
- \mathchardef\@mmm=3000 %
- \let\bibitemOpen\relax
- \let\bibitemShut\relax
- \@ifnum{\NAT@merge>\@ne}{%
- \providecommand{\bibAnnote}[3]{%
- \BibitemShut{#1}%
- \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{%
- \begin{quotation}\noindent
- \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa
- \end{quotation}%
- }%
- \ignorespaces
- }%
- \providecommand{\bibAnnoteFile}[2]{%
- \IfFileExists{#2}{%
- \bibAnnote{#1}{#2}{\input{#2}}%
- }{%
- \bibAnnote{#1}{#2}{}%
- }%
- }%
- }{}%
- \def\bibfield{\@ifnum{\NAT@merge>\tw@}{\@bibfield}{\@secondoftwo}}%
- \def\@bibfield#1#2{%
- \begingroup
- \let\Doi\@gobble
- \let\bibinfo\relax
- \let\restore@protect\@empty
- \protected@edef\@tempa{#2}%
- \aftergroup\def\aftergroup\@tempa
- \expandafter\endgroup\expandafter{\@tempa}%
- \expandafter\@ifx\expandafter{\csname @bib#1\endcsname\@tempa}{%
- \expandafter\let\expandafter\@tempa\csname @bib@X#1\endcsname
- }{%
- \expandafter\let\csname @bib#1\endcsname\@tempa
- \expandafter\let\expandafter\@tempa\csname @bib@Y#1\endcsname
- }%
- \@ifx{\@tempa\relax}{\let\@tempa\@firstofone}{}%
- \@tempa{#2}%
- }%
- \def\bibinfo#1{%
- \expandafter\let\expandafter\@tempa\csname bibinfo@X@#1\endcsname
- \@ifx{\@tempa\relax}{\@firstofone}{\@tempa}%
- }%
- \def\@bib@Xauthor#1{\let\@bib@Xjournal\@gobble}%
- \def\@bib@Xjournal#1{\begingroup\let\bibinfo@X@journal\@bib@Z@journal#1\endgroup}%
- \def\@bibibid@#1{\textit{ibid}.}%
- \appdef\NAT@bibitem@init{%
- \let\@bibauthor \@empty
- \let\@bibjournal \@empty
- \let\@bib@Z@journal\@bibibid@
- }%
- \ifx\SK@lbibitem\@undefined\else
- \let\SK@lbibitem\@lbibitem
- \def\@lbibitem[#1]#2{%
- \SK@lbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}\fi
- \newif\ifNAT@stdbst \NAT@stdbstfalse
- \AtEndDocument{%
- \ifNAT@stdbst\if@filesw
- \immediate\write\@auxout{%
- \string\providecommand\string\NAT@force@numbers{}%
- \string\NAT@force@numbers
- }%
- \fi\fi
- }
- \newcommand\NAT@force@numbers{%
- \ifNAT@numbers\else
- \PackageError{natbib}{Bibliography not compatible with author-year
- citations.\MessageBreak
- Press <return> to continue in numerical citation style}
- {Check the bibliography entries for non-compliant syntax,\MessageBreak
- or select author-year BibTeX style, e.g. plainnat}%
- \global\NAT@numberstrue\fi}
- \providecommand\bibcite{}
- \renewcommand\bibcite[2]{%
- \@ifundefined{b@#1\@extra@binfo}{\relax}{%
- \NAT@citemultiple
- \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}%
- }%
- \global\@namedef{b@#1\@extra@binfo}{#2}%
- }%
- \AtEndDocument{\NAT@swatrue\let\bibcite\NAT@testdef}
- \newcommand\NAT@testdef[2]{%
- \def\NAT@temp{#2}%
- \expandafter \ifx \csname b@#1\@extra@binfo\endcsname\NAT@temp
- \else
- \ifNAT@swa \NAT@swafalse
- \PackageWarningNoLine{natbib}{%
- Citation(s) may have changed.\MessageBreak
- Rerun to get citations correct%
- }%
- \fi
- \fi
- }%
- \newcommand\NAT@apalk{}
- \def\NAT@apalk#1, #2, #3\@nil#4{%
- \if\relax#2\relax
- \global\NAT@stdbsttrue
- \NAT@wrout{#1}{}{}{}{#4}%
- \else
- \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#4}%
- \fi
- }%
- \newcommand\citeauthoryear{}
- \def\citeauthoryear#1#2#3(@)(@)\@nil#4{%
- \if\relax#3\relax
- \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#4}%
- \else
- \NAT@wrout{\the\c@NAT@ctr}{#3}{#2}{#1}{#4}%
- \fi
- }%
- \newcommand\citestarts{\NAT@open}%
- \newcommand\citeends{\NAT@close}%
- \newcommand\betweenauthors{and}%
- \newcommand\astroncite{}
- \def\astroncite#1#2(@)(@)\@nil#3{%
- \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#3}%
- }%
- \newcommand\citename{}
- \def\citename#1#2(@)(@)\@nil#3{\expandafter\NAT@apalk#1#2, \@nil{#3}}
- \newcommand\harvarditem[4][]{%
- \if\relax#1\relax
- \bibitem[#2(#3)]{#4}%
- \else
- \bibitem[#1(#3)#2]{#4}%
- \fi
- }%
- \newcommand\harvardleft{\NAT@open}
- \newcommand\harvardright{\NAT@close}
- \newcommand\harvardyearleft{\NAT@open}
- \newcommand\harvardyearright{\NAT@close}
- \AtBeginDocument{\providecommand{\harvardand}{and}}
- \newcommand\harvardurl[1]{\textbf{URL:} \textit{#1}}
- \providecommand\bibsection{}
- \@ifundefined{chapter}{%
- \renewcommand\bibsection{%
- \section*{\refname\@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}}%
- }%
- }{%
- \@ifxundefined\NAT@sectionbib{%
- \renewcommand\bibsection{%
- \chapter*{\bibname\@mkboth{\MakeUppercase{\bibname}}{\MakeUppercase{\bibname}}}%
- }%
- }{%
- \renewcommand\bibsection{%
- \section*{\bibname\ifx\@mkboth\@gobbletwo\else\markright{\MakeUppercase{\bibname}}\fi}%
- }%
- }%
- }%
- \@ifclassloaded{amsart}{\renewcommand\bibsection{\section*{\refname}}}{}%
- \@ifclassloaded{amsbook}{\renewcommand\bibsection{\chapter*{\bibname}}}{}%
- \@ifxundefined\bib@heading{}{\let\bibsection\bib@heading}%
- \newcounter{NAT@ctr}
- \renewenvironment{thebibliography}[1]{%
- \bibsection
- \parindent\z@
- \bibpreamble
- \bibfont
- \list{\@biblabel{\the\c@NAT@ctr}}{\@bibsetup{#1}\global\c@NAT@ctr\z@}%
- \ifNAT@openbib
- \renewcommand\newblock{\par}%
- \else
- \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
- \fi
- \sloppy\clubpenalty4000\widowpenalty4000
- \sfcode`\.\@m
- \let\NAT@bibitem@first@sw\@firstoftwo
- \let\citeN\cite \let\shortcite\cite
- \let\citeasnoun\cite
- }{%
- \bibitem@fin
- \bibpostamble
- \def\@noitemerr{%
- \PackageWarning{natbib}{Empty `thebibliography' environment}%
- }%
- \endlist
- \bibcleanup
- }%
- \let\bibfont\@empty
- \let\bibpreamble\@empty
- \let\bibpostamble\@empty
- \def\bibcleanup{\vskip-\lastskip}%
- \providecommand\reset@font{\relax}
- \providecommand\bibname{Bibliography}
- \providecommand\refname{References}
- \newcommand\NAT@citeundefined{\gdef \NAT@undefined {%
- \PackageWarningNoLine{natbib}{There were undefined citations}}}
- \let \NAT@undefined \relax
- \newcommand\NAT@citemultiple{\gdef \NAT@multiple {%
- \PackageWarningNoLine{natbib}{There were multiply defined citations}}}
- \let \NAT@multiple \relax
- \AtEndDocument{\NAT@undefined\NAT@multiple}
- \providecommand\@mkboth[2]{}
- \providecommand\MakeUppercase{\uppercase}
- \providecommand{\@extra@b@citeb}{}
- \gdef\@extra@binfo{}
- \def\NAT@anchor#1#2{%
- \hyper@natanchorstart{#1\@extra@b@citeb}%
- \def\@tempa{#2}\@ifx{\@tempa\@empty}{}{\@biblabel{#2}}%
- \hyper@natanchorend
- }%
- \providecommand\hyper@natanchorstart[1]{}%
- \providecommand\hyper@natanchorend{}%
- \providecommand\hyper@natlinkstart[1]{}%
- \providecommand\hyper@natlinkend{}%
- \providecommand\hyper@natlinkbreak[2]{#1}%
- \AtBeginDocument{%
- \@ifpackageloaded{babel}{%
- \let\org@@citex\@citex}{}}
- \providecommand\@safe@activestrue{}%
- \providecommand\@safe@activesfalse{}%
- \newcommand\NAT@sort@cites[1]{%
- \let\NAT@cite@list\@empty
- \@for\@citeb:=#1\do{\expandafter\NAT@star@cite\@citeb\@@}%
- \if@filesw
- \expandafter\immediate\expandafter\write\expandafter\@auxout
- \expandafter{\expandafter\string\expandafter\citation\expandafter{\NAT@cite@list}}%
- \fi
- \@ifnum{\NAT@sort>\z@}{%
- \expandafter\NAT@sort@cites@\expandafter{\NAT@cite@list}%
- }{}%
- }%
- \def\NAT@star@cite{%
- \let\NAT@star@sw\@secondoftwo
- \@ifnum{\NAT@merge>\z@}{%
- \@ifnextchar*{%
- \let\NAT@star@sw\@firstoftwo
- \NAT@star@cite@star
- }{%
- \NAT@star@cite@nostar
- }%
- }{%
- \NAT@star@cite@noextension
- }%
- }%
- \def\NAT@star@cite@star*{%
- \NAT@star@cite@nostar
- }%
- \def\NAT@star@cite@nostar{%
- \let\nat@keyopt@open\@empty
- \let\nat@keyopt@shut\@empty
- \@ifnextchar[{\NAT@star@cite@pre}{\NAT@star@cite@pre[]}%
- }%
- \def\NAT@star@cite@pre[#1]{%
- \def\nat@keyopt@open{#1}%
- \@ifnextchar[{\NAT@star@cite@post}{\NAT@star@cite@post[]}%
- }%
- \def\NAT@star@cite@post[#1]#2\@@{%
- \def\nat@keyopt@shut{#1}%
- \NAT@star@sw{\expandafter\global\expandafter\let\csname NAT@b*@#2\endcsname\@empty}{}%
- \NAT@cite@list@append{#2}%
- }%
- \def\NAT@star@cite@noextension#1\@@{%
- \let\nat@keyopt@open\@empty
- \let\nat@keyopt@shut\@empty
- \NAT@cite@list@append{#1}%
- }%
- \def\NAT@cite@list@append#1{%
- \edef\@citeb{\@firstofone#1\@empty}%
- \if@filesw\@ifxundefined\@cprwrite{}{\expandafter\@cprwrite\@citeb=}\fi
- \if\relax\nat@keyopt@open\relax\else
- \global\expandafter\let\csname NAT@b@open@\@citeb\endcsname\nat@keyopt@open
- \fi
- \if\relax\nat@keyopt@shut\relax\else
- \global\expandafter\let\csname NAT@b@shut@\@citeb\endcsname\nat@keyopt@shut
- \fi
- \toks@\expandafter{\NAT@cite@list}%
- \ifx\NAT@cite@list\@empty
- \@temptokena\expandafter{\@citeb}%
- \else
- \@temptokena\expandafter{\expandafter,\@citeb}%
- \fi
- \edef\NAT@cite@list{\the\toks@\the\@temptokena}%
- }%
- \newcommand\NAT@sort@cites@[1]{%
- \count@\z@
- \@tempcntb\m@ne
- \let\@celt\delimiter
- \def\NAT@num@list{}%
- \let\NAT@cite@list\@empty
- \let\NAT@nonsort@list\@empty
- \@for \@citeb:=#1\do{\NAT@make@cite@list}%
- \ifx\NAT@nonsort@list\@empty\else
- \protected@edef\NAT@cite@list{\NAT@cite@list\NAT@nonsort@list}%
- \fi
- \ifx\NAT@cite@list\@empty\else
- \protected@edef\NAT@cite@list{\expandafter\NAT@xcom\NAT@cite@list @@}%
- \fi
- }%
- \def\NAT@make@cite@list{%
- \advance\count@\@ne
- \@safe@activestrue
- \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
- \@safe@activesfalse
- \@ifundefined{b@\@citeb\@extra@b@citeb}%
- {\def\NAT@num{A}}%
- {\NAT@parse{\@citeb}}%
- \NAT@ifcat@num\NAT@num
- {\@tempcnta\NAT@num \relax
- \@ifnum{\@tempcnta<\@tempcntb}{%
- \let\NAT@@cite@list=\NAT@cite@list
- \let\NAT@cite@list\@empty
- \begingroup\let\@celt=\NAT@celt\NAT@num@list\endgroup
- \protected@edef\NAT@num@list{%
- \expandafter\NAT@num@celt \NAT@num@list \@gobble @%
- }%
- }{%
- \protected@edef\NAT@num@list{\NAT@num@list \@celt{\NAT@num}}%
- \protected@edef\NAT@cite@list{\NAT@cite@list\@citeb,}%
- \@tempcntb\@tempcnta
- }%
- }%
- {\protected@edef\NAT@nonsort@list{\NAT@nonsort@list\@citeb,}}%
- }%
- \def\NAT@celt#1{%
- \@ifnum{#1>\@tempcnta}{%
- \xdef\NAT@cite@list{\NAT@cite@list\@citeb,\NAT@@cite@list}%
- \let\@celt\@gobble
- }{%
- \expandafter\def@NAT@cite@lists\NAT@@cite@list\@@
- }%
- }%
- \def\NAT@num@celt#1#2{%
- \ifx#1\@celt
- \@ifnum{#2>\@tempcnta}{%
- \@celt{\number\@tempcnta}%
- \@celt{#2}%
- }{%
- \@celt{#2}%
- \expandafter\NAT@num@celt
- }%
- \fi
- }%
- \def\def@NAT@cite@lists#1,#2\@@{%
- \xdef\NAT@cite@list{\NAT@cite@list#1,}%
- \xdef\NAT@@cite@list{#2}%
- }%
- \def\NAT@nextc#1,#2@@{#1,}
- \def\NAT@restc#1,#2{#2}
- \def\NAT@xcom#1,@@{#1}
- \renewcommand\NAT@sep{],[\ignorespaces}
- \def\NAT@spacechar{}%
- \InputIfFileExists{natbib.cfg}
- {\typeout{Local config file natbib.cfg used}}{}
- %%
- %% <<<<< End of generated file <<<<<<
- %%
- %% End of file `modnatbib.sty'.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement