research-paper-writing

Write ML papers for NeurIPS/ICML/ICLR: design→submit.

  • Research
  • Paper Writing
  • Experiments
  • ML
  • AI
  • NeurIPS
  • ICML
  • ICLR
  • ACL
  • AAAI
  • COLM
  • LaTeX
  • Citations
  • Statistical Analysis

Declared platforms: linux · macos

Install
npx skills add 'https://github.com/NousResearch/hermes-agent/tree/main/optional-skills/research/research-paper-writing'
Download bundle ↓
main · 24fd22bScanned 2026-09-15

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

templates/iclr2026/natbib.sty

templates/iclr2026/natbib.styBrowse 56 files
View on GitHub
← Back to SKILL.md
%%%% This is file `natbib.sty',%% generated with the docstrip utility.%%%% The original source files were:%%%% natbib.dtx  (with options: `package,all')%% =============================================%% IMPORTANT NOTICE:%% %% This program can be redistributed and/or modified under the terms%% of the LaTeX Project Public License Distributed from CTAN%% archives in directory macros/latex/base/lppl.txt; either%% version 1 of the License, or any later version.%% %% This is a generated file.%% It may not be distributed without the original source file natbib.dtx.%% %% Full documentation can be obtained by LaTeXing that original file.%% Only a few abbreviated comments remain here to describe the usage.%% =============================================%% Copyright 1993-2009 Patrick W Daly%% Max-Planck-Institut f\"ur Sonnensystemforschung%% Max-Planck-Str. 2%% D-37191 Katlenburg-Lindau%% Germany%% E-mail: daly@mps.mpg.de\NeedsTeXFormat{LaTeX2e}[1995/06/01]\ProvidesPackage{natbib}        [2009/07/16 8.31 (PWD, AO)]  % This package reimplements the LaTeX \cite command to be used for various % citation styles, both author-year and numerical. It accepts BibTeX % output intended for many other packages, and therefore acts as a % general, all-purpose citation-style interface. % % With standard numerical .bst files, only numerical citations are % possible. With an author-year .bst file, both numerical and % author-year citations are possible. % % If author-year citations are selected, \bibitem must have one of the %   following forms: %   \bibitem[Jones et al.(1990)]{key}... %   \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}... %   \bibitem[Jones et al., 1990]{key}... %   \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones %       et al.}{1990}]{key}... %   \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... %   \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... %   \bibitem[\protect\citename{Jones et al., }1990]{key}... %   \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}... % % This is either to be made up manually, or to be generated by an % appropriate .bst file with BibTeX. %                            Author-year mode     ||   Numerical mode % Then, \citet{key}  ==>>  Jones et al. (1990)    ||   Jones et al. [21] %       \citep{key}  ==>> (Jones et al., 1990)    ||   [21] % Multiple citations as normal: % \citep{key1,key2}  ==>> (Jones et al., 1990; Smith, 1989) || [21,24] %                           or  (Jones et al., 1990, 1991)  || [21,24] %                           or  (Jones et al., 1990a,b)     || [21,24] % \cite{key} is the equivalent of \citet{key} in author-year mode %                         and  of \citep{key} in numerical mode % Full author lists may be forced with \citet* or \citep*, e.g. %       \citep*{key}      ==>> (Jones, Baker, and Williams, 1990) % Optional notes as: %   \citep[chap. 2]{key}    ==>> (Jones et al., 1990, chap. 2) %   \citep[e.g.,][]{key}    ==>> (e.g., Jones et al., 1990) %   \citep[see][pg. 34]{key}==>> (see Jones et al., 1990, pg. 34) %  (Note: in standard LaTeX, only one note is allowed, after the ref. %   Here, one note is like the standard, two make pre- and post-notes.) %   \citealt{key}          ==>> Jones et al. 1990 %   \citealt*{key}         ==>> Jones, Baker, and Williams 1990 %   \citealp{key}          ==>> Jones et al., 1990 %   \citealp*{key}         ==>> Jones, Baker, and Williams, 1990 % Additional citation possibilities (both author-year and numerical modes) %   \citeauthor{key}       ==>> Jones et al. %   \citeauthor*{key}      ==>> Jones, Baker, and Williams %   \citeyear{key}         ==>> 1990 %   \citeyearpar{key}      ==>> (1990) %   \citetext{priv. comm.} ==>> (priv. comm.) %   \citenum{key}          ==>> 11 [non-superscripted] % Note: full author lists depends on whether the bib style supports them; %       if not, the abbreviated list is printed even when full requested. % % For names like della Robbia at the start of a sentence, use %   \Citet{dRob98}         ==>> Della Robbia (1998) %   \Citep{dRob98}         ==>> (Della Robbia, 1998) %   \Citeauthor{dRob98}    ==>> Della Robbia % % % Citation aliasing is achieved with %   \defcitealias{key}{text} %   \citetalias{key}  ==>> text %   \citepalias{key}  ==>> (text) % % Defining the citation mode and punctual (citation style) %   \setcitestyle{<comma-separated list of keywords, same %     as the package options>} % Example: \setcitestyle{square,semicolon} % Alternatively: % Use \bibpunct with 6 mandatory arguments: %    1. opening bracket for citation %    2. closing bracket %    3. citation separator (for multiple citations in one \cite) %    4. the letter n for numerical styles, s for superscripts %        else anything for author-year %    5. punctuation between authors and date %    6. punctuation between years (or numbers) when common authors missing % One optional argument is the character coming before post-notes. It %   appears in square braces before all other arguments. May be left off. % Example (and default) \bibpunct[, ]{(}{)}{;}{a}{,}{,} % % To make this automatic for a given bib style, named newbib, say, make % a local configuration file, natbib.cfg, with the definition %   \newcommand{\bibstyle@newbib}{\bibpunct...} % Then the \bibliographystyle{newbib} will cause \bibstyle@newbib to % be called on THE NEXT LATEX RUN (via the aux file). % % Such preprogrammed definitions may be invoked anywhere in the text %  by calling \citestyle{newbib}. This is only useful if the style specified %  differs from that in \bibliographystyle. % % With \citeindextrue and \citeindexfalse, one can control whether the % \cite commands make an automatic entry of the citation in the .idx % indexing file. For this, \makeindex must also be given in the preamble. % % Package Options: (for selecting punctuation) %   round  -  round parentheses are used (default) %   square -  square brackets are used   [option] %   curly  -  curly braces are used      {option} %   angle  -  angle brackets are used    <option> %   semicolon  -  multiple citations separated by semi-colon (default) %   colon  - same as semicolon, an earlier confusion %   comma  -  separated by comma %   authoryear - selects author-year citations (default) %   numbers-  selects numerical citations %   super  -  numerical citations as superscripts %   sort   -  sorts multiple citations according to order in ref. list %   sort&compress   -  like sort, but also compresses numerical citations %   compress - compresses without sorting %   longnamesfirst  -  makes first citation full author list %   sectionbib - puts bibliography in a \section* instead of \chapter* %   merge - allows the citation key to have a * prefix, %           signifying to merge its reference with that of the previous citation. %   elide - if references are merged, repeated portions of later ones may be removed. %   mcite - recognizes and ignores the * prefix for merging. % Punctuation so selected dominates over any predefined ones. % Package options are called as, e.g. %        \usepackage[square,comma]{natbib} % LaTeX the source file natbib.dtx to obtain more details % or the file natnotes.tex for a brief reference sheet. %-----------------------------------------------------------\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@spacechar{\ }%\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\bibitemStop \let\bibitem@NoStop\bibitemContinue}%\def\BibitemOpen{% \bibitemOpen}%\def\BibitemShut#1{% \bibitemShut \def\@bibstop{#1}% \let\bibitem@Stop\bibitemStop \let\bibitem@NoStop\bibitemNoStop}%\def\bibitemStop{}%\def\bibitemNoStop{.\spacefactor\@mmm\space}%\def\bibitemContinue{\spacefactor\@mmm\space}%\mathchardef\@mmm=3000 %\providecommand{\bibAnnote}[3]{%  \BibitemShut{#1}%  \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{%   \begin{quotation}\noindent    \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa   \end{quotation}%  }%}%\providecommand{\bibAnnoteFile}[2]{%  \IfFileExists{#2}{%    \bibAnnote{#1}{#2}{\input{#2}}%  }{%    \bibAnnote{#1}{#2}{}%  }%}%\let\bibitemOpen\relax\let\bibitemShut\relax\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}\InputIfFileExists{natbib.cfg}       {\typeout{Local config file natbib.cfg used}}{}%% %% <<<<< End of generated file <<<<<<%%%% End of file `natbib.sty'.