[49eb6a2] | 1 | %%
|
---|
| 2 | %% This is file `NJDnatbib.sty',
|
---|
| 3 | %% generated with the docstrip utility.
|
---|
| 4 | %%
|
---|
| 5 | %% The original source files were:
|
---|
| 6 | %%
|
---|
| 7 | %% natbib.dtx (with options: `package,all')
|
---|
| 8 | %% =============================================
|
---|
| 9 | %% IMPORTANT NOTICE:
|
---|
| 10 | %%
|
---|
| 11 | %% This program can be redistributed and/or modified under the terms
|
---|
| 12 | %% of the LaTeX Project Public License Distributed from CTAN
|
---|
| 13 | %% archives in directory macros/latex/base/lppl.txt; either
|
---|
| 14 | %% version 1 of the License, or any later version.
|
---|
| 15 | %%
|
---|
| 16 | %% This is a generated file.
|
---|
| 17 | %% It may not be distributed without the original source file natbib.dtx.
|
---|
| 18 | %%
|
---|
| 19 | %% Full documentation can be obtained by LaTeXing that original file.
|
---|
| 20 | %% Only a few abbreviated comments remain here to describe the usage.
|
---|
| 21 | %% =============================================
|
---|
| 22 | %% Copyright 1993-2010 Patrick W Daly
|
---|
| 23 | %% Max-Planck-Institut f\"ur Sonnensystemforschung
|
---|
| 24 | %% Max-Planck-Str. 2
|
---|
| 25 | %% D-37191 Katlenburg-Lindau
|
---|
| 26 | %% Germany
|
---|
| 27 | %% E-mail: daly@mps.mpg.de
|
---|
| 28 | \NeedsTeXFormat{LaTeX2e}[1995/06/01]
|
---|
| 29 | \ProvidesPackage{NJDnatbib}
|
---|
| 30 | [2010/09/13 8.31b (PWD, AO)]
|
---|
| 31 |
|
---|
| 32 | % This package reimplements the LaTeX \cite command to be used for various
|
---|
| 33 | % citation styles, both author-year and numerical. It accepts BibTeX
|
---|
| 34 | % output intended for many other packages, and therefore acts as a
|
---|
| 35 | % general, all-purpose citation-style interface.
|
---|
| 36 | %
|
---|
| 37 | % With standard numerical .bst files, only numerical citations are
|
---|
| 38 | % possible. With an author-year .bst file, both numerical and
|
---|
| 39 | % author-year citations are possible.
|
---|
| 40 | %
|
---|
| 41 | % If author-year citations are selected, \bibitem must have one of the
|
---|
| 42 | % following forms:
|
---|
| 43 | % \bibitem[Jones et al.(1990)]{key}...
|
---|
| 44 | % \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}...
|
---|
| 45 | % \bibitem[Jones et al., 1990]{key}...
|
---|
| 46 | % \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones
|
---|
| 47 | % et al.}{1990}]{key}...
|
---|
| 48 | % \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}...
|
---|
| 49 | % \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}...
|
---|
| 50 | % \bibitem[\protect\citename{Jones et al., }1990]{key}...
|
---|
| 51 | % \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}...
|
---|
| 52 | %
|
---|
| 53 | % This is either to be made up manually, or to be generated by an
|
---|
| 54 | % appropriate .bst file with BibTeX.
|
---|
| 55 | % Author-year mode || Numerical mode
|
---|
| 56 | % Then, \citet{key} ==>> Jones et al. (1990) || Jones et al. [21]
|
---|
| 57 | % \citep{key} ==>> (Jones et al., 1990) || [21]
|
---|
| 58 | % Multiple citations as normal:
|
---|
| 59 | % \citep{key1,key2} ==>> (Jones et al., 1990; Smith, 1989) || [21,24]
|
---|
| 60 | % or (Jones et al., 1990, 1991) || [21,24]
|
---|
| 61 | % or (Jones et al., 1990a,b) || [21,24]
|
---|
| 62 | % \cite{key} is the equivalent of \citet{key} in author-year mode
|
---|
| 63 | % and of \citep{key} in numerical mode
|
---|
| 64 | % Full author lists may be forced with \citet* or \citep*, e.g.
|
---|
| 65 | % \citep*{key} ==>> (Jones, Baker, and Williams, 1990)
|
---|
| 66 | % Optional notes as:
|
---|
| 67 | % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
|
---|
| 68 | % \citep[e.g.,][]{key} ==>> (e.g., Jones et al., 1990)
|
---|
| 69 | % \citep[see][pg. 34]{key}==>> (see Jones et al., 1990, pg. 34)
|
---|
| 70 | % (Note: in standard LaTeX, only one note is allowed, after the ref.
|
---|
| 71 | % Here, one note is like the standard, two make pre- and post-notes.)
|
---|
| 72 | % \citealt{key} ==>> Jones et al. 1990
|
---|
| 73 | % \citealt*{key} ==>> Jones, Baker, and Williams 1990
|
---|
| 74 | % \citealp{key} ==>> Jones et al., 1990
|
---|
| 75 | % \citealp*{key} ==>> Jones, Baker, and Williams, 1990
|
---|
| 76 | % Additional citation possibilities (both author-year and numerical modes)
|
---|
| 77 | % \citeauthor{key} ==>> Jones et al.
|
---|
| 78 | % \citeauthor*{key} ==>> Jones, Baker, and Williams
|
---|
| 79 | % \citeyear{key} ==>> 1990
|
---|
| 80 | % \citeyearpar{key} ==>> (1990)
|
---|
| 81 | % \citetext{priv. comm.} ==>> (priv. comm.)
|
---|
| 82 | % \citenum{key} ==>> 11 [non-superscripted]
|
---|
| 83 | % Note: full author lists depends on whether the bib style supports them;
|
---|
| 84 | % if not, the abbreviated list is printed even when full requested.
|
---|
| 85 | %
|
---|
| 86 | % For names like della Robbia at the start of a sentence, use
|
---|
| 87 | % \Citet{dRob98} ==>> Della Robbia (1998)
|
---|
| 88 | % \Citep{dRob98} ==>> (Della Robbia, 1998)
|
---|
| 89 | % \Citeauthor{dRob98} ==>> Della Robbia
|
---|
| 90 | %
|
---|
| 91 | %
|
---|
| 92 | % Citation aliasing is achieved with
|
---|
| 93 | % \defcitealias{key}{text}
|
---|
| 94 | % \citetalias{key} ==>> text
|
---|
| 95 | % \citepalias{key} ==>> (text)
|
---|
| 96 | %
|
---|
| 97 | % Defining the citation mode and punctual (citation style)
|
---|
| 98 | % \setcitestyle{<comma-separated list of keywords, same
|
---|
| 99 | % as the package options>}
|
---|
| 100 | % Example: \setcitestyle{square,semicolon}
|
---|
| 101 | % Alternatively:
|
---|
| 102 | % Use \bibpunct with 6 mandatory arguments:
|
---|
| 103 | % 1. opening bracket for citation
|
---|
| 104 | % 2. closing bracket
|
---|
| 105 | % 3. citation separator (for multiple citations in one \cite)
|
---|
| 106 | % 4. the letter n for numerical styles, s for superscripts
|
---|
| 107 | % else anything for author-year
|
---|
| 108 | % 5. punctuation between authors and date
|
---|
| 109 | % 6. punctuation between years (or numbers) when common authors missing
|
---|
| 110 | % One optional argument is the character coming before post-notes. It
|
---|
| 111 | % appears in square braces before all other arguments. May be left off.
|
---|
| 112 | % Example (and default) \bibpunct[, ]{(}{)}{;}{a}{,}{,}
|
---|
| 113 | %
|
---|
| 114 | % To make this automatic for a given bib style, named newbib, say, make
|
---|
| 115 | % a local configuration file, natbib.cfg, with the definition
|
---|
| 116 | % \newcommand{\bibstyle@newbib}{\bibpunct...}
|
---|
| 117 | % Then the \bibliographystyle{newbib} will cause \bibstyle@newbib to
|
---|
| 118 | % be called on THE NEXT LATEX RUN (via the aux file).
|
---|
| 119 | %
|
---|
| 120 | % Such preprogrammed definitions may be invoked anywhere in the text
|
---|
| 121 | % by calling \citestyle{newbib}. This is only useful if the style specified
|
---|
| 122 | % differs from that in \bibliographystyle.
|
---|
| 123 | %
|
---|
| 124 | % With \citeindextrue and \citeindexfalse, one can control whether the
|
---|
| 125 | % \cite commands make an automatic entry of the citation in the .idx
|
---|
| 126 | % indexing file. For this, \makeindex must also be given in the preamble.
|
---|
| 127 | %
|
---|
| 128 | % Package Options: (for selecting punctuation)
|
---|
| 129 | % round - round parentheses are used (default)
|
---|
| 130 | % square - square brackets are used [option]
|
---|
| 131 | % curly - curly braces are used {option}
|
---|
| 132 | % angle - angle brackets are used <option>
|
---|
| 133 | % semicolon - multiple citations separated by semi-colon (default)
|
---|
| 134 | % colon - same as semicolon, an earlier confusion
|
---|
| 135 | % comma - separated by comma
|
---|
| 136 | % authoryear - selects author-year citations (default)
|
---|
| 137 | % numbers- selects numerical citations
|
---|
| 138 | % super - numerical citations as superscripts
|
---|
| 139 | % sort - sorts multiple citations according to order in ref. list
|
---|
| 140 | % sort&compress - like sort, but also compresses numerical citations
|
---|
| 141 | % compress - compresses without sorting
|
---|
| 142 | % longnamesfirst - makes first citation full author list
|
---|
| 143 | % sectionbib - puts bibliography in a \section* instead of \chapter*
|
---|
| 144 | % merge - allows the citation key to have a * prefix,
|
---|
| 145 | % signifying to merge its reference with that of the previous citation.
|
---|
| 146 | % elide - if references are merged, repeated portions of later ones may be removed.
|
---|
| 147 | % mcite - recognizes and ignores the * prefix for merging.
|
---|
| 148 | % Punctuation so selected dominates over any predefined ones.
|
---|
| 149 | % Package options are called as, e.g.
|
---|
| 150 | % \usepackage[square,comma]{natbib}
|
---|
| 151 | % LaTeX the source file natbib.dtx to obtain more details
|
---|
| 152 | % or the file natnotes.tex for a brief reference sheet.
|
---|
| 153 | %-----------------------------------------------------------
|
---|
| 154 | \providecommand\@ifxundefined[1]{%
|
---|
| 155 | \ifx#1\@undefined\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
|
---|
| 156 | }%
|
---|
| 157 | \providecommand\@ifnum[1]{%
|
---|
| 158 | \ifnum#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
|
---|
| 159 | }%
|
---|
| 160 | \providecommand\@ifx[1]{%
|
---|
| 161 | \ifx#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
|
---|
| 162 | }%
|
---|
| 163 | \providecommand\appdef[2]{%
|
---|
| 164 | \toks@\expandafter{#1}\@temptokena{#2}%
|
---|
| 165 | \edef#1{\the\toks@\the\@temptokena}%
|
---|
| 166 | }%
|
---|
| 167 | \@ifclassloaded{agu2001}{\PackageError{natbib}
|
---|
| 168 | {The agu2001 class already includes natbib coding,\MessageBreak
|
---|
| 169 | so you should not add it explicitly}
|
---|
| 170 | {Type <Return> for now, but then later remove\MessageBreak
|
---|
| 171 | the command \protect\usepackage{natbib} from the document}
|
---|
| 172 | \endinput}{}
|
---|
| 173 | \@ifclassloaded{agutex}{\PackageError{natbib}
|
---|
| 174 | {The AGUTeX class already includes natbib coding,\MessageBreak
|
---|
| 175 | so you should not add it explicitly}
|
---|
| 176 | {Type <Return> for now, but then later remove\MessageBreak
|
---|
| 177 | the command \protect\usepackage{natbib} from the document}
|
---|
| 178 | \endinput}{}
|
---|
| 179 | \@ifclassloaded{aguplus}{\PackageError{natbib}
|
---|
| 180 | {The aguplus class already includes natbib coding,\MessageBreak
|
---|
| 181 | so you should not add it explicitly}
|
---|
| 182 | {Type <Return> for now, but then later remove\MessageBreak
|
---|
| 183 | the command \protect\usepackage{natbib} from the document}
|
---|
| 184 | \endinput}{}
|
---|
| 185 | \@ifclassloaded{nlinproc}{\PackageError{natbib}
|
---|
| 186 | {The nlinproc class already includes natbib coding,\MessageBreak
|
---|
| 187 | so you should not add it explicitly}
|
---|
| 188 | {Type <Return> for now, but then later remove\MessageBreak
|
---|
| 189 | the command \protect\usepackage{natbib} from the document}
|
---|
| 190 | \endinput}{}
|
---|
| 191 | \@ifclassloaded{egs}{\PackageError{natbib}
|
---|
| 192 | {The egs class already includes natbib coding,\MessageBreak
|
---|
| 193 | so you should not add it explicitly}
|
---|
| 194 | {Type <Return> for now, but then later remove\MessageBreak
|
---|
| 195 | the command \protect\usepackage{natbib} from the document}
|
---|
| 196 | \endinput}{}
|
---|
| 197 | \@ifclassloaded{egu}{\PackageError{natbib}
|
---|
| 198 | {The egu class already includes natbib coding,\MessageBreak
|
---|
| 199 | so you should not add it explicitly}
|
---|
| 200 | {Type <Return> for now, but then later remove\MessageBreak
|
---|
| 201 | the command \protect\usepackage{natbib} from the document}
|
---|
| 202 | \endinput}{}
|
---|
| 203 | % Define citation punctuation for some author-year styles
|
---|
| 204 | % One may add and delete at this point
|
---|
| 205 | % Or put additions into local configuration file natbib.cfg
|
---|
| 206 | \newcommand\bibstyle@chicago{\bibpunct{(}{)}{;}{a}{,}{,}}
|
---|
| 207 | \newcommand\bibstyle@named{\bibpunct{[}{]}{;}{a}{,}{,}}
|
---|
| 208 | \newcommand\bibstyle@agu{\bibpunct{[}{]}{;}{a}{,}{,~}}%Amer. Geophys. Union
|
---|
| 209 | \newcommand\bibstyle@copernicus{\bibpunct{(}{)}{;}{a}{,}{,}}%Copernicus Publications
|
---|
| 210 | \let\bibstyle@egu=\bibstyle@copernicus
|
---|
| 211 | \let\bibstyle@egs=\bibstyle@copernicus
|
---|
| 212 | \newcommand\bibstyle@agsm{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}}
|
---|
| 213 | \newcommand\bibstyle@kluwer{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}}
|
---|
| 214 | \newcommand\bibstyle@dcu{\bibpunct{(}{)}{;}{a}{;}{,}\gdef\harvardand{and}}
|
---|
| 215 | \newcommand\bibstyle@aa{\bibpunct{(}{)}{;}{a}{}{,}} %Astronomy & Astrophysics
|
---|
| 216 | \newcommand\bibstyle@pass{\bibpunct{(}{)}{;}{a}{,}{,}}%Planet. & Space Sci
|
---|
| 217 | \newcommand\bibstyle@anngeo{\bibpunct{(}{)}{;}{a}{,}{,}}%Annales Geophysicae
|
---|
| 218 | \newcommand\bibstyle@nlinproc{\bibpunct{(}{)}{;}{a}{,}{,}}%Nonlin.Proc.Geophys.
|
---|
| 219 | % Define citation punctuation for some numerical styles
|
---|
| 220 | \newcommand\bibstyle@cospar{\bibpunct{/}{/}{,}{n}{}{}%
|
---|
| 221 | \gdef\bibnumfmt##1{##1.}}
|
---|
| 222 | \newcommand\bibstyle@esa{\bibpunct{(Ref.~}{)}{,}{n}{}{}%
|
---|
| 223 | \gdef\bibnumfmt##1{##1.\hspace{1em}}}
|
---|
| 224 | \newcommand\bibstyle@nature{\bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
|
---|
| 225 | \gdef\bibnumfmt##1{##1.}}
|
---|
| 226 | % The standard LaTeX styles
|
---|
| 227 | \newcommand\bibstyle@plain{\bibpunct{[}{]}{,}{n}{}{,}}
|
---|
| 228 | \let\bibstyle@alpha=\bibstyle@plain
|
---|
| 229 | \let\bibstyle@abbrv=\bibstyle@plain
|
---|
| 230 | \let\bibstyle@unsrt=\bibstyle@plain
|
---|
| 231 | % The author-year modifications of the standard styles
|
---|
| 232 | \newcommand\bibstyle@plainnat{\bibpunct{[}{]}{,}{a}{,}{,}}
|
---|
| 233 | \let\bibstyle@abbrvnat=\bibstyle@plainnat
|
---|
| 234 | \let\bibstyle@unsrtnat=\bibstyle@plainnat
|
---|
| 235 | \newif\ifNAT@numbers \NAT@numbersfalse
|
---|
| 236 | \newif\ifNAT@super \NAT@superfalse
|
---|
| 237 | \let\NAT@merge\z@
|
---|
| 238 | \DeclareOption{numbers}{\NAT@numberstrue
|
---|
| 239 | \ExecuteOptions{square,comma,nobibstyle}}
|
---|
| 240 | \DeclareOption{super}{\NAT@supertrue\NAT@numberstrue
|
---|
| 241 | \renewcommand\NAT@open{}\renewcommand\NAT@close{}
|
---|
| 242 | \ExecuteOptions{nobibstyle}}
|
---|
| 243 | \DeclareOption{authoryear}{\NAT@numbersfalse
|
---|
| 244 | \ExecuteOptions{round,semicolon,bibstyle}}
|
---|
| 245 | \DeclareOption{round}{%
|
---|
| 246 | \renewcommand\NAT@open{(} \renewcommand\NAT@close{)}
|
---|
| 247 | \ExecuteOptions{nobibstyle}}
|
---|
| 248 | \DeclareOption{square}{%
|
---|
| 249 | \renewcommand\NAT@open{[} \renewcommand\NAT@close{]}
|
---|
| 250 | \ExecuteOptions{nobibstyle}}
|
---|
| 251 | \DeclareOption{angle}{%
|
---|
| 252 | \renewcommand\NAT@open{$<$} \renewcommand\NAT@close{$>$}
|
---|
| 253 | \ExecuteOptions{nobibstyle}}
|
---|
| 254 | \DeclareOption{curly}{%
|
---|
| 255 | \renewcommand\NAT@open{\{} \renewcommand\NAT@close{\}}
|
---|
| 256 | \ExecuteOptions{nobibstyle}}
|
---|
| 257 | \DeclareOption{comma}{\renewcommand\NAT@sep{,}
|
---|
| 258 | \ExecuteOptions{nobibstyle}}
|
---|
| 259 | \DeclareOption{semicolon}{\renewcommand\NAT@sep{;}
|
---|
| 260 | \ExecuteOptions{nobibstyle}}
|
---|
| 261 | \DeclareOption{colon}{\ExecuteOptions{semicolon}}
|
---|
| 262 | \DeclareOption{nobibstyle}{\let\bibstyle=\@gobble}
|
---|
| 263 | \DeclareOption{bibstyle}{\let\bibstyle=\@citestyle}
|
---|
| 264 | \newif\ifNAT@openbib \NAT@openbibfalse
|
---|
| 265 | \DeclareOption{openbib}{\NAT@openbibtrue}
|
---|
| 266 | \DeclareOption{sectionbib}{\def\NAT@sectionbib{on}}
|
---|
| 267 | \def\NAT@sort{\z@}
|
---|
| 268 | \def\NAT@cmprs{\z@}
|
---|
| 269 | \DeclareOption{sort}{\def\NAT@sort{\@ne}}
|
---|
| 270 | \DeclareOption{compress}{\def\NAT@cmprs{\@ne}}
|
---|
| 271 | \DeclareOption{sort&compress}{\def\NAT@sort{\@ne}\def\NAT@cmprs{\@ne}}
|
---|
| 272 | \DeclareOption{mcite}{\let\NAT@merge\@ne}
|
---|
| 273 | \DeclareOption{merge}{\@ifnum{\NAT@merge<\tw@}{\let\NAT@merge\tw@}{}}
|
---|
| 274 | \DeclareOption{elide}{\@ifnum{\NAT@merge<\thr@@}{\let\NAT@merge\thr@@}{}}
|
---|
| 275 | \@ifpackageloaded{cite}{\PackageWarningNoLine{natbib}
|
---|
| 276 | {The `cite' package should not be used\MessageBreak
|
---|
| 277 | with natbib. Use option `sort' instead}\ExecuteOptions{sort}}{}
|
---|
| 278 | \@ifpackageloaded{mcite}{\PackageWarningNoLine{natbib}
|
---|
| 279 | {The `mcite' package should not be used\MessageBreak
|
---|
| 280 | with natbib. Use option `merge' instead}\ExecuteOptions{merge}}{}
|
---|
| 281 | \@ifpackageloaded{citeref}{\PackageError{natbib}
|
---|
| 282 | {The `citeref' package must be loaded after natbib}%
|
---|
| 283 | {Move \protect\usepackage{citeref} to after \string\usepackage{natbib}}}{}
|
---|
| 284 | \newif\ifNAT@longnames\NAT@longnamesfalse
|
---|
| 285 | \DeclareOption{longnamesfirst}{\NAT@longnamestrue}
|
---|
| 286 | \DeclareOption{nonamebreak}{\def\NAT@nmfmt#1{\mbox{\NAT@up#1}}}
|
---|
| 287 | \def\NAT@nmfmt#1{{\NAT@up#1}}
|
---|
| 288 | \renewcommand\bibstyle[1]{\csname bibstyle@#1\endcsname}
|
---|
| 289 | \AtBeginDocument{\global\let\bibstyle=\@gobble}
|
---|
| 290 | \let\@citestyle\bibstyle
|
---|
| 291 | \newcommand\citestyle[1]{\@citestyle{#1}\let\bibstyle\@gobble}
|
---|
| 292 | \newcommand\bibpunct[7][, ]%
|
---|
| 293 | {\gdef\NAT@open{#2}\gdef\NAT@close{#3}\gdef
|
---|
| 294 | \NAT@sep{#4}\global\NAT@numbersfalse
|
---|
| 295 | \ifx #5n\global\NAT@numberstrue\global\NAT@superfalse
|
---|
| 296 | \else
|
---|
| 297 | \ifx #5s\global\NAT@numberstrue\global\NAT@supertrue
|
---|
| 298 | \fi\fi
|
---|
| 299 | \gdef\NAT@aysep{#6}\gdef\NAT@yrsep{#7}%
|
---|
| 300 | \gdef\NAT@cmt{#1}%
|
---|
| 301 | \NAT@@setcites
|
---|
| 302 | }
|
---|
| 303 | \newcommand\setcitestyle[1]{
|
---|
| 304 | \@for\@tempa:=#1\do
|
---|
| 305 | {\def\@tempb{round}\ifx\@tempa\@tempb
|
---|
| 306 | \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi
|
---|
| 307 | \def\@tempb{square}\ifx\@tempa\@tempb
|
---|
| 308 | \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi
|
---|
| 309 | \def\@tempb{angle}\ifx\@tempa\@tempb
|
---|
| 310 | \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi
|
---|
| 311 | \def\@tempb{curly}\ifx\@tempa\@tempb
|
---|
| 312 | \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi
|
---|
| 313 | \def\@tempb{semicolon}\ifx\@tempa\@tempb
|
---|
| 314 | \renewcommand\NAT@sep{;}\fi
|
---|
| 315 | \def\@tempb{colon}\ifx\@tempa\@tempb
|
---|
| 316 | \renewcommand\NAT@sep{;}\fi
|
---|
| 317 | \def\@tempb{comma}\ifx\@tempa\@tempb
|
---|
| 318 | \renewcommand\NAT@sep{,}\fi
|
---|
| 319 | \def\@tempb{authoryear}\ifx\@tempa\@tempb
|
---|
| 320 | \NAT@numbersfalse\fi
|
---|
| 321 | \def\@tempb{numbers}\ifx\@tempa\@tempb
|
---|
| 322 | \NAT@numberstrue\NAT@superfalse\fi
|
---|
| 323 | \def\@tempb{super}\ifx\@tempa\@tempb
|
---|
| 324 | \NAT@numberstrue\NAT@supertrue\fi
|
---|
| 325 | \expandafter\NAT@find@eq\@tempa=\relax\@nil
|
---|
| 326 | \if\@tempc\relax\else
|
---|
| 327 | \expandafter\NAT@rem@eq\@tempc
|
---|
| 328 | \def\@tempb{open}\ifx\@tempa\@tempb
|
---|
| 329 | \xdef\NAT@open{\@tempc}\fi
|
---|
| 330 | \def\@tempb{close}\ifx\@tempa\@tempb
|
---|
| 331 | \xdef\NAT@close{\@tempc}\fi
|
---|
| 332 | \def\@tempb{aysep}\ifx\@tempa\@tempb
|
---|
| 333 | \xdef\NAT@aysep{\@tempc}\fi
|
---|
| 334 | \def\@tempb{yysep}\ifx\@tempa\@tempb
|
---|
| 335 | \xdef\NAT@yrsep{\@tempc}\fi
|
---|
| 336 | \def\@tempb{notesep}\ifx\@tempa\@tempb
|
---|
| 337 | \xdef\NAT@cmt{\@tempc}\fi
|
---|
| 338 | \def\@tempb{citesep}\ifx\@tempa\@tempb
|
---|
| 339 | \xdef\NAT@sep{\@tempc}\fi
|
---|
| 340 | \fi
|
---|
| 341 | }%
|
---|
| 342 | \NAT@@setcites
|
---|
| 343 | }
|
---|
| 344 | \def\NAT@find@eq#1=#2\@nil{\def\@tempa{#1}\def\@tempc{#2}}
|
---|
| 345 | \def\NAT@rem@eq#1={\def\@tempc{#1}}
|
---|
| 346 | \def\NAT@@setcites{\global\let\bibstyle\@gobble}
|
---|
| 347 | \AtBeginDocument{\let\NAT@@setcites\NAT@set@cites}
|
---|
| 348 | \newcommand\NAT@open{(} \newcommand\NAT@close{)}
|
---|
| 349 | \newcommand\NAT@sep{;}
|
---|
| 350 | \ProcessOptions
|
---|
| 351 | \newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,}
|
---|
| 352 | \newcommand\NAT@cmt{, }
|
---|
| 353 | \newcommand\NAT@cite%
|
---|
| 354 | [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi
|
---|
| 355 | #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
|
---|
| 356 | \newcommand\NAT@citenum%
|
---|
| 357 | [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\NAT@spacechar\fi
|
---|
| 358 | #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup}
|
---|
| 359 | %\newcommand\NAT@citesuper[3]{\ifNAT@swa
|
---|
| 360 | %\if*#2*\else#2\NAT@spacechar\fi
|
---|
| 361 | %\unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}%
|
---|
| 362 | % \if*#3*\else\NAT@spacechar#3\fi\else #1\fi\endgroup}
|
---|
| 363 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 364 | \newcommand\NAT@citesuper[3]{\ifNAT@swa
|
---|
| 365 | \if*#2*\else#2\NAT@spacechar\fi
|
---|
| 366 | \unskip\kern\p@\textsuperscript{\NAT@@open#1\if*#3*\else,\NAT@spacechar#3\fi\NAT@@close}%
|
---|
| 367 | \else #1\fi\endgroup}
|
---|
| 368 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
| 369 | \providecommand\textsuperscript[1]{\mbox{$^{\mbox{\scriptsize#1}}$}}
|
---|
| 370 | \begingroup \catcode`\_=8
|
---|
| 371 | \gdef\NAT@ifcat@num#1{%
|
---|
| 372 | \ifcat_\ifnum\z@<0#1_\else A\fi
|
---|
| 373 | \expandafter\@firstoftwo
|
---|
| 374 | \else
|
---|
| 375 | \expandafter\@secondoftwo
|
---|
| 376 | \fi
|
---|
| 377 | }%
|
---|
| 378 | \endgroup
|
---|
| 379 | \providecommand\@firstofone[1]{#1}
|
---|
| 380 | \newcommand\NAT@citexnum{}
|
---|
| 381 | \def\NAT@citexnum[#1][#2]#3{%
|
---|
| 382 | \NAT@reset@parser
|
---|
| 383 | \NAT@sort@cites{#3}%
|
---|
| 384 | \NAT@reset@citea
|
---|
| 385 | \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty
|
---|
| 386 | \@for\@citeb:=\NAT@cite@list\do
|
---|
| 387 | {\@safe@activestrue
|
---|
| 388 | \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
|
---|
| 389 | \@safe@activesfalse
|
---|
| 390 | \@ifundefined{b@\@citeb\@extra@b@citeb}{%
|
---|
| 391 | {\reset@font\bfseries?}
|
---|
| 392 | \NAT@citeundefined\PackageWarning{natbib}%
|
---|
| 393 | {Citation `\@citeb' on page \thepage \space undefined}}%
|
---|
| 394 | {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm
|
---|
| 395 | \NAT@parse{\@citeb}%
|
---|
| 396 | \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
|
---|
| 397 | \let\NAT@name=\NAT@all@names
|
---|
| 398 | \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
|
---|
| 399 | \fi
|
---|
| 400 | \ifNAT@full\let\NAT@nm\NAT@all@names\else
|
---|
| 401 | \let\NAT@nm\NAT@name\fi
|
---|
| 402 | \ifNAT@swa
|
---|
| 403 | \@ifnum{\NAT@ctype>\@ne}{%
|
---|
| 404 | \@citea
|
---|
| 405 | \NAT@hyper@{\@ifnum{\NAT@ctype=\tw@}{\NAT@test{\NAT@ctype}}{\NAT@alias}}%
|
---|
| 406 | }{%
|
---|
| 407 | \@ifnum{\NAT@cmprs>\z@}{%
|
---|
| 408 | \NAT@ifcat@num\NAT@num
|
---|
| 409 | {\let\NAT@nm=\NAT@num}%
|
---|
| 410 | {\def\NAT@nm{-2}}%
|
---|
| 411 | \NAT@ifcat@num\NAT@last@num
|
---|
| 412 | {\@tempcnta=\NAT@last@num\relax}%
|
---|
| 413 | {\@tempcnta\m@ne}%
|
---|
| 414 | \@ifnum{\NAT@nm=\@tempcnta}{%
|
---|
| 415 | \@ifnum{\NAT@merge>\@ne}{}{\NAT@last@yr@mbox}%
|
---|
| 416 | }{%
|
---|
| 417 | \advance\@tempcnta by\@ne
|
---|
| 418 | \@ifnum{\NAT@nm=\@tempcnta}{%
|
---|
| 419 | \ifx\NAT@last@yr\relax
|
---|
| 420 | \def@NAT@last@yr{\@citea}%
|
---|
| 421 | \else
|
---|
| 422 | \def@NAT@last@yr{--\NAT@penalty}%
|
---|
| 423 | \fi
|
---|
| 424 | }{%
|
---|
| 425 | \NAT@last@yr@mbox
|
---|
| 426 | }%
|
---|
| 427 | }%
|
---|
| 428 | }{%
|
---|
| 429 | \@tempswatrue
|
---|
| 430 | \@ifnum{\NAT@merge>\@ne}{\@ifnum{\NAT@last@num=\NAT@num\relax}{\@tempswafalse}{}}{}%
|
---|
| 431 | \if@tempswa\NAT@citea@mbox\fi
|
---|
| 432 | }%
|
---|
| 433 | }%
|
---|
| 434 | \NAT@def@citea
|
---|
| 435 | \else
|
---|
| 436 | \ifcase\NAT@ctype
|
---|
| 437 | \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\NAT@penalty\NAT@space\else
|
---|
| 438 | \@citea \NAT@test{\@ne}\NAT@spacechar\NAT@mbox{\NAT@super@kern\NAT@@open}%
|
---|
| 439 | \fi
|
---|
| 440 | \if*#1*\else#1\NAT@spacechar\fi
|
---|
| 441 | \NAT@mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
|
---|
| 442 | \NAT@def@citea@box
|
---|
| 443 | \or
|
---|
| 444 | \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
|
---|
| 445 | \or
|
---|
| 446 | \NAT@hyper@citea@space{\NAT@test{\NAT@ctype}}%
|
---|
| 447 | \or
|
---|
| 448 | \NAT@hyper@citea@space\NAT@alias
|
---|
| 449 | \fi
|
---|
| 450 | \fi
|
---|
| 451 | }%
|
---|
| 452 | }%
|
---|
| 453 | \@ifnum{\NAT@cmprs>\z@}{\NAT@last@yr}{}%
|
---|
| 454 | \ifNAT@swa\else
|
---|
| 455 | \@ifnum{\NAT@ctype=\z@}{%
|
---|
| 456 | \if*#2*\else\NAT@cmt#2\fi
|
---|
| 457 | }{}%
|
---|
| 458 | \NAT@mbox{\NAT@@close}%
|
---|
| 459 | \fi
|
---|
| 460 | }{#1}{#2}%
|
---|
| 461 | }%
|
---|
| 462 | \def\NAT@citea@mbox{%
|
---|
| 463 | \@citea\mbox{\NAT@hyper@{{\citenumfont{\NAT@num}}}}%
|
---|
| 464 | }%
|
---|
| 465 | \def\NAT@hyper@#1{%
|
---|
| 466 | \hyper@natlinkstart{\@citeb\@extra@b@citeb}#1\hyper@natlinkend
|
---|
| 467 | }%
|
---|
| 468 | \def\NAT@hyper@citea#1{%
|
---|
| 469 | \@citea
|
---|
| 470 | \NAT@hyper@{#1}%
|
---|
| 471 | \NAT@def@citea
|
---|
| 472 | }%
|
---|
| 473 | \def\NAT@hyper@citea@space#1{%
|
---|
| 474 | \@citea
|
---|
| 475 | \NAT@hyper@{#1}%
|
---|
| 476 | \NAT@def@citea@space
|
---|
| 477 | }%
|
---|
| 478 | \def\def@NAT@last@yr#1{%
|
---|
| 479 | \protected@edef\NAT@last@yr{%
|
---|
| 480 | #1%
|
---|
| 481 | \noexpand\mbox{%
|
---|
| 482 | \noexpand\hyper@natlinkstart{\@citeb\@extra@b@citeb}%
|
---|
| 483 | {\noexpand\citenumfont{\NAT@num}}%
|
---|
| 484 | \noexpand\hyper@natlinkend
|
---|
| 485 | }%
|
---|
| 486 | }%
|
---|
| 487 | }%
|
---|
| 488 | \def\NAT@last@yr@mbox{%
|
---|
| 489 | \NAT@last@yr\let\NAT@last@yr\relax
|
---|
| 490 | \NAT@citea@mbox
|
---|
| 491 | }%
|
---|
| 492 | \newcommand\NAT@test[1]{%
|
---|
| 493 | \@ifnum{#1=\@ne}{%
|
---|
| 494 | \ifx\NAT@nm\NAT@noname
|
---|
| 495 | \begingroup\reset@font\bfseries(author?)\endgroup
|
---|
| 496 | \PackageWarning{natbib}{%
|
---|
| 497 | Author undefined for citation`\@citeb' \MessageBreak on page \thepage%
|
---|
| 498 | }%
|
---|
| 499 | \else \NAT@nm
|
---|
| 500 | \fi
|
---|
| 501 | }{%
|
---|
| 502 | \if\relax\NAT@date\relax
|
---|
| 503 | \begingroup\reset@font\bfseries(year?)\endgroup
|
---|
| 504 | \PackageWarning{natbib}{%
|
---|
| 505 | Year undefined for citation`\@citeb' \MessageBreak on page \thepage%
|
---|
| 506 | }%
|
---|
| 507 | \else \NAT@date
|
---|
| 508 | \fi
|
---|
| 509 | }%
|
---|
| 510 | }%
|
---|
| 511 | \let\citenumfont=\@empty
|
---|
| 512 | \newcommand\NAT@citex{}
|
---|
| 513 | \def\NAT@citex%
|
---|
| 514 | [#1][#2]#3{%
|
---|
| 515 | \NAT@reset@parser
|
---|
| 516 | \NAT@sort@cites{#3}%
|
---|
| 517 | \NAT@reset@citea
|
---|
| 518 | \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty
|
---|
| 519 | \@for\@citeb:=\NAT@cite@list\do
|
---|
| 520 | {\@safe@activestrue
|
---|
| 521 | \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
|
---|
| 522 | \@safe@activesfalse
|
---|
| 523 | \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea%
|
---|
| 524 | {\reset@font\bfseries ?}\NAT@citeundefined
|
---|
| 525 | \PackageWarning{natbib}%
|
---|
| 526 | {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}%
|
---|
| 527 | {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year
|
---|
| 528 | \NAT@parse{\@citeb}%
|
---|
| 529 | \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{%
|
---|
| 530 | \let\NAT@name=\NAT@all@names
|
---|
| 531 | \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}%
|
---|
| 532 | \fi
|
---|
| 533 | \ifNAT@full\let\NAT@nm\NAT@all@names\else
|
---|
| 534 | \let\NAT@nm\NAT@name\fi
|
---|
| 535 | \ifNAT@swa\ifcase\NAT@ctype
|
---|
| 536 | \if\relax\NAT@date\relax
|
---|
| 537 | \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}\NAT@date}%
|
---|
| 538 | \else
|
---|
| 539 | \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
|
---|
| 540 | \ifx\NAT@last@yr\NAT@year
|
---|
| 541 | \def\NAT@temp{{?}}%
|
---|
| 542 | \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
|
---|
| 543 | {Multiple citation on page \thepage: same authors and
|
---|
| 544 | year\MessageBreak without distinguishing extra
|
---|
| 545 | letter,\MessageBreak appears as question mark}\fi
|
---|
| 546 | \NAT@hyper@{\NAT@exlab}%
|
---|
| 547 | \else\unskip\NAT@spacechar
|
---|
| 548 | \NAT@hyper@{\NAT@date}%
|
---|
| 549 | \fi
|
---|
| 550 | \else
|
---|
| 551 | \@citea\NAT@hyper@{%
|
---|
| 552 | \NAT@nmfmt{\NAT@nm}%
|
---|
| 553 | \hyper@natlinkbreak{%
|
---|
| 554 | \NAT@aysep\NAT@spacechar}{\@citeb\@extra@b@citeb
|
---|
| 555 | }%
|
---|
| 556 | \NAT@date
|
---|
| 557 | }%
|
---|
| 558 | \fi
|
---|
| 559 | \fi
|
---|
| 560 | \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
|
---|
| 561 | \or\@citea\NAT@hyper@{\NAT@date}%
|
---|
| 562 | \or\@citea\NAT@hyper@{\NAT@alias}%
|
---|
| 563 | \fi \NAT@def@citea
|
---|
| 564 | \else
|
---|
| 565 | \ifcase\NAT@ctype
|
---|
| 566 | \if\relax\NAT@date\relax
|
---|
| 567 | \@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
|
---|
| 568 | \else
|
---|
| 569 | \ifx\NAT@last@nm\NAT@nm\NAT@yrsep
|
---|
| 570 | \ifx\NAT@last@yr\NAT@year
|
---|
| 571 | \def\NAT@temp{{?}}%
|
---|
| 572 | \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}%
|
---|
| 573 | {Multiple citation on page \thepage: same authors and
|
---|
| 574 | year\MessageBreak without distinguishing extra
|
---|
| 575 | letter,\MessageBreak appears as question mark}\fi
|
---|
| 576 | \NAT@hyper@{\NAT@exlab}%
|
---|
| 577 | \else
|
---|
| 578 | \unskip\NAT@spacechar
|
---|
| 579 | \NAT@hyper@{\NAT@date}%
|
---|
| 580 | \fi
|
---|
| 581 | \else
|
---|
| 582 | \@citea\NAT@hyper@{%
|
---|
| 583 | \NAT@nmfmt{\NAT@nm}%
|
---|
| 584 | \hyper@natlinkbreak{\NAT@spacechar\NAT@@open\if*#1*\else#1\NAT@spacechar\fi}%
|
---|
| 585 | {\@citeb\@extra@b@citeb}%
|
---|
| 586 | \NAT@date
|
---|
| 587 | }%
|
---|
| 588 | \fi
|
---|
| 589 | \fi
|
---|
| 590 | \or\@citea\NAT@hyper@{\NAT@nmfmt{\NAT@nm}}%
|
---|
| 591 | \or\@citea\NAT@hyper@{\NAT@date}%
|
---|
| 592 | \or\@citea\NAT@hyper@{\NAT@alias}%
|
---|
| 593 | \fi
|
---|
| 594 | \if\relax\NAT@date\relax
|
---|
| 595 | \NAT@def@citea
|
---|
| 596 | \else
|
---|
| 597 | \NAT@def@citea@close
|
---|
| 598 | \fi
|
---|
| 599 | \fi
|
---|
| 600 | }}\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
|
---|
| 601 | \if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{#1}{#2}}
|
---|
| 602 | \def\NAT@spacechar{\ }%
|
---|
| 603 | \def\NAT@separator{\NAT@sep\NAT@penalty}%
|
---|
| 604 | \def\NAT@reset@citea{\c@NAT@ctr\@ne\let\@citea\@empty}%
|
---|
| 605 | \def\NAT@def@citea{\def\@citea{\NAT@separator\NAT@space}}%
|
---|
| 606 | \def\NAT@def@citea@space{\def\@citea{\NAT@separator\NAT@spacechar}}%
|
---|
| 607 | \def\NAT@def@citea@close{\def\@citea{\NAT@@close\NAT@separator\NAT@space}}%
|
---|
| 608 | \def\NAT@def@citea@box{\def\@citea{\NAT@mbox{\NAT@@close}\NAT@separator\NAT@spacechar}}%
|
---|
| 609 | \newif\ifNAT@par \NAT@partrue
|
---|
| 610 | \newcommand\NAT@@open{\ifNAT@par\NAT@open\fi}
|
---|
| 611 | \newcommand\NAT@@close{\ifNAT@par\NAT@close\fi}
|
---|
| 612 | \newcommand\NAT@alias{\@ifundefined{al@\@citeb\@extra@b@citeb}{%
|
---|
| 613 | {\reset@font\bfseries(alias?)}\PackageWarning{natbib}
|
---|
| 614 | {Alias undefined for citation `\@citeb'
|
---|
| 615 | \MessageBreak on page \thepage}}{\@nameuse{al@\@citeb\@extra@b@citeb}}}
|
---|
| 616 | \let\NAT@up\relax
|
---|
| 617 | \newcommand\NAT@Up[1]{{\let\protect\@unexpandable@protect\let~\relax
|
---|
| 618 | \expandafter\NAT@deftemp#1}\expandafter\NAT@UP\NAT@temp}
|
---|
| 619 | \newcommand\NAT@deftemp[1]{\xdef\NAT@temp{#1}}
|
---|
| 620 | \newcommand\NAT@UP[1]{\let\@tempa\NAT@UP\ifcat a#1\MakeUppercase{#1}%
|
---|
| 621 | \let\@tempa\relax\else#1\fi\@tempa}
|
---|
| 622 | \newcommand\shortcites[1]{%
|
---|
| 623 | \@bsphack\@for\@citeb:=#1\do
|
---|
| 624 | {\@safe@activestrue
|
---|
| 625 | \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
|
---|
| 626 | \@safe@activesfalse
|
---|
| 627 | \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}\@esphack}
|
---|
| 628 | \newcommand\NAT@biblabel[1]{\hfill}
|
---|
| 629 | \newcommand\NAT@biblabelnum[1]{\bibnumfmt{#1}}
|
---|
| 630 | \let\bibnumfmt\@empty
|
---|
| 631 | \providecommand\@biblabel[1]{[#1]}
|
---|
| 632 | \AtBeginDocument{\ifx\bibnumfmt\@empty\let\bibnumfmt\@biblabel\fi}
|
---|
| 633 | \newcommand\NAT@bibsetnum[1]{\settowidth\labelwidth{\@biblabel{#1}}%
|
---|
| 634 | \setlength{\leftmargin}{\labelwidth}\addtolength{\leftmargin}{\labelsep}%
|
---|
| 635 | \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}%
|
---|
| 636 | \ifNAT@openbib
|
---|
| 637 | \addtolength{\leftmargin}{\bibindent}%
|
---|
| 638 | \setlength{\itemindent}{-\bibindent}%
|
---|
| 639 | \setlength{\listparindent}{\itemindent}%
|
---|
| 640 | \setlength{\parsep}{0pt}%
|
---|
| 641 | \fi
|
---|
| 642 | }
|
---|
| 643 | \newlength{\bibhang}
|
---|
| 644 | \setlength{\bibhang}{1em}
|
---|
| 645 | \newlength{\bibsep}
|
---|
| 646 | {\@listi \global\bibsep\itemsep \global\advance\bibsep by\parsep}
|
---|
| 647 |
|
---|
| 648 | \newcommand\NAT@bibsetup%
|
---|
| 649 | [1]{\setlength{\leftmargin}{\bibhang}\setlength{\itemindent}{-\leftmargin}%
|
---|
| 650 | \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}}
|
---|
| 651 | \newcommand\NAT@set@cites{%
|
---|
| 652 | \ifNAT@numbers
|
---|
| 653 | \ifNAT@super \let\@cite\NAT@citesuper
|
---|
| 654 | \def\NAT@mbox##1{\unskip\nobreak\textsuperscript{##1}}%
|
---|
| 655 | \let\citeyearpar=\citeyear
|
---|
| 656 | \let\NAT@space\relax
|
---|
| 657 | \def\NAT@super@kern{\kern\p@}%
|
---|
| 658 | \else
|
---|
| 659 | \let\NAT@mbox=\mbox
|
---|
| 660 | \let\@cite\NAT@citenum
|
---|
| 661 | \let\NAT@space\NAT@spacechar
|
---|
| 662 | \let\NAT@super@kern\relax
|
---|
| 663 | \fi
|
---|
| 664 | \let\@citex\NAT@citexnum
|
---|
| 665 | \let\@biblabel\NAT@biblabelnum
|
---|
| 666 | \let\@bibsetup\NAT@bibsetnum
|
---|
| 667 | \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@num\NAT@close}%
|
---|
| 668 | \def\natexlab##1{}%
|
---|
| 669 | \def\NAT@penalty{\penalty\@m}%
|
---|
| 670 | \else
|
---|
| 671 | \let\@cite\NAT@cite
|
---|
| 672 | \let\@citex\NAT@citex
|
---|
| 673 | \let\@biblabel\NAT@biblabel
|
---|
| 674 | \let\@bibsetup\NAT@bibsetup
|
---|
| 675 | \let\NAT@space\NAT@spacechar
|
---|
| 676 | \let\NAT@penalty\@empty
|
---|
| 677 | \renewcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}%
|
---|
| 678 | \def\natexlab##1{##1}%
|
---|
| 679 | \fi}
|
---|
| 680 | \AtBeginDocument{\NAT@set@cites}
|
---|
| 681 | \AtBeginDocument{\ifx\SK@def\@undefined\else
|
---|
| 682 | \ifx\SK@cite\@empty\else
|
---|
| 683 | \SK@def\@citex[#1][#2]#3{\SK@\SK@@ref{#3}\SK@@citex[#1][#2]{#3}}\fi
|
---|
| 684 | \ifx\SK@citeauthor\@undefined\def\HAR@checkdef{}\else
|
---|
| 685 | \let\citeauthor\SK@citeauthor
|
---|
| 686 | \let\citefullauthor\SK@citefullauthor
|
---|
| 687 | \let\citeyear\SK@citeyear\fi
|
---|
| 688 | \fi}
|
---|
| 689 | \newif\ifNAT@full\NAT@fullfalse
|
---|
| 690 | \newif\ifNAT@swa
|
---|
| 691 | \DeclareRobustCommand\citet
|
---|
| 692 | {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
|
---|
| 693 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 694 | \newcommand\NAT@citetp{\@ifnextchar[{\NAT@@citetp}{\NAT@@citetp[]}}
|
---|
| 695 | \newcommand\NAT@@citetp{}
|
---|
| 696 | \def\NAT@@citetp[#1]{\@ifnextchar[{\@citex[#1]}{\@citex[][#1]}}
|
---|
| 697 | \DeclareRobustCommand\citep
|
---|
| 698 | {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue
|
---|
| 699 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 700 | \DeclareRobustCommand\cite
|
---|
| 701 | {\begingroup\let\NAT@ctype\z@\NAT@partrue\NAT@swatrue
|
---|
| 702 | \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}}
|
---|
| 703 | \newcommand\NAT@cites{\@ifnextchar [{\NAT@@citetp}{%
|
---|
| 704 | \ifNAT@numbers\else
|
---|
| 705 | \NAT@swafalse
|
---|
| 706 | \fi
|
---|
| 707 | \NAT@@citetp[]}}
|
---|
| 708 | \DeclareRobustCommand\citealt
|
---|
| 709 | {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@parfalse
|
---|
| 710 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 711 | \DeclareRobustCommand\citealp
|
---|
| 712 | {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse
|
---|
| 713 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 714 | \DeclareRobustCommand\citenum
|
---|
| 715 | {\begingroup
|
---|
| 716 | \NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse\let\textsuperscript\NAT@spacechar
|
---|
| 717 | \NAT@citexnum[][]}
|
---|
| 718 | \DeclareRobustCommand\citeauthor
|
---|
| 719 | {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse
|
---|
| 720 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 721 | \DeclareRobustCommand\Citet
|
---|
| 722 | {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@partrue
|
---|
| 723 | \let\NAT@up\NAT@Up
|
---|
| 724 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 725 | \DeclareRobustCommand\Citep
|
---|
| 726 | {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@partrue
|
---|
| 727 | \let\NAT@up\NAT@Up
|
---|
| 728 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 729 | \DeclareRobustCommand\Citealt
|
---|
| 730 | {\begingroup\NAT@swafalse\let\NAT@ctype\z@\NAT@parfalse
|
---|
| 731 | \let\NAT@up\NAT@Up
|
---|
| 732 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 733 | \DeclareRobustCommand\Citealp
|
---|
| 734 | {\begingroup\NAT@swatrue\let\NAT@ctype\z@\NAT@parfalse
|
---|
| 735 | \let\NAT@up\NAT@Up
|
---|
| 736 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 737 | \DeclareRobustCommand\Citeauthor
|
---|
| 738 | {\begingroup\NAT@swafalse\let\NAT@ctype\@ne\NAT@parfalse
|
---|
| 739 | \let\NAT@up\NAT@Up
|
---|
| 740 | \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}}
|
---|
| 741 | \DeclareRobustCommand\citeyear
|
---|
| 742 | {\begingroup\NAT@swafalse\let\NAT@ctype\tw@\NAT@parfalse\NAT@citetp}
|
---|
| 743 | \DeclareRobustCommand\citeyearpar
|
---|
| 744 | {\begingroup\NAT@swatrue\let\NAT@ctype\tw@\NAT@partrue\NAT@citetp}
|
---|
| 745 | \newcommand\citetext[1]{\NAT@open#1\NAT@close}
|
---|
| 746 | \DeclareRobustCommand\citefullauthor
|
---|
| 747 | {\citeauthor*}
|
---|
| 748 | \newcommand\defcitealias[2]{%
|
---|
| 749 | \@ifundefined{al@#1\@extra@b@citeb}{}
|
---|
| 750 | {\PackageWarning{natbib}{Overwriting existing alias for citation #1}}
|
---|
| 751 | \@namedef{al@#1\@extra@b@citeb}{#2}}
|
---|
| 752 | \DeclareRobustCommand\citetalias{\begingroup
|
---|
| 753 | \NAT@swafalse\let\NAT@ctype\thr@@\NAT@parfalse\NAT@citetp}
|
---|
| 754 | \DeclareRobustCommand\citepalias{\begingroup
|
---|
| 755 | \NAT@swatrue\let\NAT@ctype\thr@@\NAT@partrue\NAT@citetp}
|
---|
| 756 | \renewcommand\nocite[1]{\@bsphack
|
---|
| 757 | \@for\@citeb:=#1\do{%
|
---|
| 758 | \@safe@activestrue
|
---|
| 759 | \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
|
---|
| 760 | \@safe@activesfalse
|
---|
| 761 | \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
|
---|
| 762 | \if*\@citeb\else
|
---|
| 763 | \@ifundefined{b@\@citeb\@extra@b@citeb}{%
|
---|
| 764 | \NAT@citeundefined \PackageWarning{natbib}%
|
---|
| 765 | {Citation `\@citeb' undefined}}{}\fi}%
|
---|
| 766 | \@esphack}
|
---|
| 767 | \newcommand\NAT@parse[1]{%
|
---|
| 768 | \begingroup
|
---|
| 769 | \let\protect=\@unexpandable@protect
|
---|
| 770 | \let~\relax
|
---|
| 771 | \let\active@prefix=\@gobble
|
---|
| 772 | \edef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}%
|
---|
| 773 | \aftergroup\NAT@split
|
---|
| 774 | \expandafter
|
---|
| 775 | \endgroup
|
---|
| 776 | \NAT@temp{}{}{}{}{}@@%
|
---|
| 777 | \expandafter\NAT@parse@date\NAT@date??????@@%
|
---|
| 778 | \ifciteindex\NAT@index\fi
|
---|
| 779 | }%
|
---|
| 780 | \def\NAT@split#1#2#3#4#5@@{%
|
---|
| 781 | \gdef\NAT@num{#1}\gdef\NAT@name{#3}\gdef\NAT@date{#2}%
|
---|
| 782 | \gdef\NAT@all@names{#4}%
|
---|
| 783 | \ifx\NAT@num\@empty\gdef\NAT@num{0}\fi
|
---|
| 784 | \ifx\NAT@noname\NAT@all@names \gdef\NAT@all@names{#3}\fi
|
---|
| 785 | }%
|
---|
| 786 | \def\NAT@reset@parser{%
|
---|
| 787 | \global\let\NAT@num\@empty
|
---|
| 788 | \global\let\NAT@name\@empty
|
---|
| 789 | \global\let\NAT@date\@empty
|
---|
| 790 | \global\let\NAT@all@names\@empty
|
---|
| 791 | }%
|
---|
| 792 | \newcommand\NAT@parse@date{}
|
---|
| 793 | \def\NAT@parse@date#1#2#3#4#5#6@@{%
|
---|
| 794 | \ifnum\the\catcode`#1=11\def\NAT@year{}\def\NAT@exlab{#1}\else
|
---|
| 795 | \ifnum\the\catcode`#2=11\def\NAT@year{#1}\def\NAT@exlab{#2}\else
|
---|
| 796 | \ifnum\the\catcode`#3=11\def\NAT@year{#1#2}\def\NAT@exlab{#3}\else
|
---|
| 797 | \ifnum\the\catcode`#4=11\def\NAT@year{#1#2#3}\def\NAT@exlab{#4}\else
|
---|
| 798 | \def\NAT@year{#1#2#3#4}\def\NAT@exlab{{#5}}\fi\fi\fi\fi}
|
---|
| 799 | \newcommand\NAT@index{}
|
---|
| 800 | \let\NAT@makeindex=\makeindex
|
---|
| 801 | \renewcommand\makeindex{\NAT@makeindex
|
---|
| 802 | \renewcommand\NAT@index{\@bsphack\begingroup
|
---|
| 803 | \def~{\string~}\@wrindex{\NAT@idxtxt}}}
|
---|
| 804 | \newcommand\NAT@idxtxt{\NAT@name\NAT@spacechar\NAT@open\NAT@date\NAT@close}
|
---|
| 805 | \@ifxundefined\@indexfile{}{\let\NAT@makeindex\relax\makeindex}
|
---|
| 806 | \newif\ifciteindex \citeindexfalse
|
---|
| 807 | \newcommand\citeindextype{default}
|
---|
| 808 | \newcommand\NAT@index@alt{{\let\protect=\noexpand\let~\relax
|
---|
| 809 | \xdef\NAT@temp{\NAT@idxtxt}}\expandafter\NAT@exp\NAT@temp\@nil}
|
---|
| 810 | \newcommand\NAT@exp{}
|
---|
| 811 | \def\NAT@exp#1\@nil{\index[\citeindextype]{#1}}
|
---|
| 812 |
|
---|
| 813 | \AtBeginDocument{%
|
---|
| 814 | \@ifpackageloaded{index}{\let\NAT@index=\NAT@index@alt}{}}
|
---|
| 815 | \newcommand\NAT@ifcmd{\futurelet\NAT@temp\NAT@ifxcmd}
|
---|
| 816 | \newcommand\NAT@ifxcmd{\ifx\NAT@temp\relax\else\expandafter\NAT@bare\fi}
|
---|
| 817 | \def\NAT@bare#1(#2)#3(@)#4\@nil#5{%
|
---|
| 818 | \if @#2
|
---|
| 819 | \expandafter\NAT@apalk#1, , \@nil{#5}%
|
---|
| 820 | \else
|
---|
| 821 | \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{#3}{#5}%
|
---|
| 822 | \fi
|
---|
| 823 | }
|
---|
| 824 | \newcommand\NAT@wrout[5]{%
|
---|
| 825 | \if@filesw
|
---|
| 826 | {\let\protect\noexpand\let~\relax
|
---|
| 827 | \immediate
|
---|
| 828 | \write\@auxout{\string\bibcite{#5}{{#1}{#2}{{#3}}{{#4}}}}}\fi
|
---|
| 829 | \ignorespaces}
|
---|
| 830 | \def\NAT@noname{{}}
|
---|
| 831 | \renewcommand\bibitem{\@ifnextchar[{\@lbibitem}{\@lbibitem[]}}%
|
---|
| 832 | \let\NAT@bibitem@first@sw\@secondoftwo
|
---|
| 833 | \def\@lbibitem[#1]#2{%
|
---|
| 834 | \if\relax\@extra@b@citeb\relax\else
|
---|
| 835 | \@ifundefined{br@#2\@extra@b@citeb}{}{%
|
---|
| 836 | \@namedef{br@#2}{\@nameuse{br@#2\@extra@b@citeb}}%
|
---|
| 837 | }%
|
---|
| 838 | \fi
|
---|
| 839 | \@ifundefined{b@#2\@extra@b@citeb}{%
|
---|
| 840 | \def\NAT@num{}%
|
---|
| 841 | }{%
|
---|
| 842 | \NAT@parse{#2}%
|
---|
| 843 | }%
|
---|
| 844 | \def\NAT@tmp{#1}%
|
---|
| 845 | \expandafter\let\expandafter\bibitemOpen\csname NAT@b@open@#2\endcsname
|
---|
| 846 | \expandafter\let\expandafter\bibitemShut\csname NAT@b@shut@#2\endcsname
|
---|
| 847 | \@ifnum{\NAT@merge>\@ne}{%
|
---|
| 848 | \NAT@bibitem@first@sw{%
|
---|
| 849 | \@firstoftwo
|
---|
| 850 | }{%
|
---|
| 851 | \@ifundefined{NAT@b*@#2}{%
|
---|
| 852 | \@firstoftwo
|
---|
| 853 | }{%
|
---|
| 854 | \expandafter\def\expandafter\NAT@num\expandafter{\the\c@NAT@ctr}%
|
---|
| 855 | \@secondoftwo
|
---|
| 856 | }%
|
---|
| 857 | }%
|
---|
| 858 | }{%
|
---|
| 859 | \@firstoftwo
|
---|
| 860 | }%
|
---|
| 861 | {%
|
---|
| 862 | \global\advance\c@NAT@ctr\@ne
|
---|
| 863 | \@ifx{\NAT@tmp\@empty}{\@firstoftwo}{%
|
---|
| 864 | \@secondoftwo
|
---|
| 865 | }%
|
---|
| 866 | {%
|
---|
| 867 | \expandafter\def\expandafter\NAT@num\expandafter{\the\c@NAT@ctr}%
|
---|
| 868 | \global\NAT@stdbsttrue
|
---|
| 869 | }{}%
|
---|
| 870 | \bibitem@fin
|
---|
| 871 | \item[\hfil\NAT@anchor{#2}{\NAT@num}]%
|
---|
| 872 | \global\let\NAT@bibitem@first@sw\@secondoftwo
|
---|
| 873 | \NAT@bibitem@init
|
---|
| 874 | }%
|
---|
| 875 | {%
|
---|
| 876 | \NAT@anchor{#2}{}%
|
---|
| 877 | \NAT@bibitem@cont
|
---|
| 878 | \bibitem@fin
|
---|
| 879 | }%
|
---|
| 880 | \@ifx{\NAT@tmp\@empty}{%
|
---|
| 881 | \NAT@wrout{\the\c@NAT@ctr}{}{}{}{#2}%
|
---|
| 882 | }{%
|
---|
| 883 | \expandafter\NAT@ifcmd\NAT@tmp(@)(@)\@nil{#2}%
|
---|
| 884 | }%
|
---|
| 885 | }%
|
---|
| 886 | \def\bibitem@fin{%
|
---|
| 887 | \@ifxundefined\@bibstop{}{\csname bibitem@\@bibstop\endcsname}%
|
---|
| 888 | }%
|
---|
| 889 | \def\NAT@bibitem@init{%
|
---|
| 890 | \let\@bibstop\@undefined
|
---|
| 891 | }%
|
---|
| 892 | \def\NAT@bibitem@cont{%
|
---|
| 893 | \let\bibitem@Stop\bibitemContinue
|
---|
| 894 | \let\bibitem@NoStop\bibitemContinue
|
---|
| 895 | }%
|
---|
| 896 | \def\BibitemOpen{%
|
---|
| 897 | \bibitemOpen
|
---|
| 898 | }%
|
---|
| 899 | \def\BibitemShut#1{%
|
---|
| 900 | \def\@bibstop{#1}%
|
---|
| 901 | \let\bibitem@Stop\bibitemStop
|
---|
| 902 | \let\bibitem@NoStop\bibitemNoStop
|
---|
| 903 | \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
|
---|
| 904 | \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
|
---|
| 905 | }%
|
---|
| 906 | }%
|
---|
| 907 | \def\@bibitemShut{}%
|
---|
| 908 | \def\bibitemStop{\@bibitemShut}%
|
---|
| 909 | \def\bibitemNoStop{%
|
---|
| 910 | \@ifx{\@empty\@bibitemShut}{.\spacefactor\@mmm\space}{\@bibitemShut}%
|
---|
| 911 | }%
|
---|
| 912 | \def\bibitemContinue{%
|
---|
| 913 | \@ifx{\@empty\@bibitemShut}{;\spacefactor\@mmm\space}{\@bibitemShut}%
|
---|
| 914 | }%
|
---|
| 915 | \mathchardef\@mmm=3000 %
|
---|
| 916 | \let\bibitemOpen\relax
|
---|
| 917 | \let\bibitemShut\relax
|
---|
| 918 | \@ifnum{\NAT@merge>\@ne}{%
|
---|
| 919 | \providecommand{\bibAnnote}[3]{%
|
---|
| 920 | \BibitemShut{#1}%
|
---|
| 921 | \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{%
|
---|
| 922 | \begin{quotation}\noindent
|
---|
| 923 | \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa
|
---|
| 924 | \end{quotation}%
|
---|
| 925 | }%
|
---|
| 926 | \ignorespaces
|
---|
| 927 | }%
|
---|
| 928 | \providecommand{\bibAnnoteFile}[2]{%
|
---|
| 929 | \IfFileExists{#2}{%
|
---|
| 930 | \bibAnnote{#1}{#2}{\input{#2}}%
|
---|
| 931 | }{%
|
---|
| 932 | \bibAnnote{#1}{#2}{}%
|
---|
| 933 | }%
|
---|
| 934 | }%
|
---|
| 935 | }{}%
|
---|
| 936 | \def\bibfield{\@ifnum{\NAT@merge>\tw@}{\@bibfield}{\@secondoftwo}}%
|
---|
| 937 | \def\@bibfield#1#2{%
|
---|
| 938 | \begingroup
|
---|
| 939 | \let\Doi\@gobble
|
---|
| 940 | \let\bibinfo\relax
|
---|
| 941 | \let\restore@protect\@empty
|
---|
| 942 | \protected@edef\@tempa{#2}%
|
---|
| 943 | \aftergroup\def\aftergroup\@tempa
|
---|
| 944 | \expandafter\endgroup\expandafter{\@tempa}%
|
---|
| 945 | \expandafter\@ifx\expandafter{\csname @bib#1\endcsname\@tempa}{%
|
---|
| 946 | \expandafter\let\expandafter\@tempa\csname @bib@X#1\endcsname
|
---|
| 947 | }{%
|
---|
| 948 | \expandafter\let\csname @bib#1\endcsname\@tempa
|
---|
| 949 | \expandafter\let\expandafter\@tempa\csname @bib@Y#1\endcsname
|
---|
| 950 | }%
|
---|
| 951 | \@ifx{\@tempa\relax}{\let\@tempa\@firstofone}{}%
|
---|
| 952 | \@tempa{#2}%
|
---|
| 953 | }%
|
---|
| 954 | \def\bibinfo#1{%
|
---|
| 955 | \expandafter\let\expandafter\@tempa\csname bibinfo@X@#1\endcsname
|
---|
| 956 | \@ifx{\@tempa\relax}{\@firstofone}{\@tempa}%
|
---|
| 957 | }%
|
---|
| 958 | \def\@bib@Xauthor#1{\let\@bib@Xjournal\@gobble}%
|
---|
| 959 | \def\@bib@Xjournal#1{\begingroup\let\bibinfo@X@journal\@bib@Z@journal#1\endgroup}%
|
---|
| 960 | \def\@bibibid@#1{\textit{ibid}.}%
|
---|
| 961 | \appdef\NAT@bibitem@init{%
|
---|
| 962 | \let\@bibauthor \@empty
|
---|
| 963 | \let\@bibjournal \@empty
|
---|
| 964 | \let\@bib@Z@journal\@bibibid@
|
---|
| 965 | }%
|
---|
| 966 | \ifx\SK@lbibitem\@undefined\else
|
---|
| 967 | \let\SK@lbibitem\@lbibitem
|
---|
| 968 | \def\@lbibitem[#1]#2{%
|
---|
| 969 | \SK@lbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}\fi
|
---|
| 970 | \newif\ifNAT@stdbst \NAT@stdbstfalse
|
---|
| 971 |
|
---|
| 972 | \AtEndDocument{%
|
---|
| 973 | \ifNAT@stdbst\if@filesw
|
---|
| 974 | \immediate\write\@auxout{%
|
---|
| 975 | \string\providecommand\string\NAT@force@numbers{}%
|
---|
| 976 | \string\NAT@force@numbers
|
---|
| 977 | }%
|
---|
| 978 | \fi\fi
|
---|
| 979 | }
|
---|
| 980 | \newcommand\NAT@force@numbers{%
|
---|
| 981 | \ifNAT@numbers\else
|
---|
| 982 | \PackageError{natbib}{Bibliography not compatible with author-year
|
---|
| 983 | citations.\MessageBreak
|
---|
| 984 | Press <return> to continue in numerical citation style}
|
---|
| 985 | {Check the bibliography entries for non-compliant syntax,\MessageBreak
|
---|
| 986 | or select author-year BibTeX style, e.g. plainnat}%
|
---|
| 987 | \global\NAT@numberstrue\fi}
|
---|
| 988 |
|
---|
| 989 | \providecommand\bibcite{}
|
---|
| 990 | \renewcommand\bibcite[2]{%
|
---|
| 991 | \@ifundefined{b@#1\@extra@binfo}{\relax}{%
|
---|
| 992 | \NAT@citemultiple
|
---|
| 993 | \PackageWarningNoLine{natbib}{Citation `#1' multiply defined}%
|
---|
| 994 | }%
|
---|
| 995 | \global\@namedef{b@#1\@extra@binfo}{#2}%
|
---|
| 996 | }%
|
---|
| 997 | \AtEndDocument{\NAT@swatrue\let\bibcite\NAT@testdef}
|
---|
| 998 | \newcommand\NAT@testdef[2]{%
|
---|
| 999 | \def\NAT@temp{#2}%
|
---|
| 1000 | \expandafter \ifx \csname b@#1\@extra@binfo\endcsname\NAT@temp
|
---|
| 1001 | \else
|
---|
| 1002 | \ifNAT@swa \NAT@swafalse
|
---|
| 1003 | \PackageWarningNoLine{natbib}{%
|
---|
| 1004 | Citation(s) may have changed.\MessageBreak
|
---|
| 1005 | Rerun to get citations correct%
|
---|
| 1006 | }%
|
---|
| 1007 | \fi
|
---|
| 1008 | \fi
|
---|
| 1009 | }%
|
---|
| 1010 | \newcommand\NAT@apalk{}
|
---|
| 1011 | \def\NAT@apalk#1, #2, #3\@nil#4{%
|
---|
| 1012 | \if\relax#2\relax
|
---|
| 1013 | \global\NAT@stdbsttrue
|
---|
| 1014 | \NAT@wrout{#1}{}{}{}{#4}%
|
---|
| 1015 | \else
|
---|
| 1016 | \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#4}%
|
---|
| 1017 | \fi
|
---|
| 1018 | }%
|
---|
| 1019 | \newcommand\citeauthoryear{}
|
---|
| 1020 | \def\citeauthoryear#1#2#3(@)(@)\@nil#4{%
|
---|
| 1021 | \if\relax#3\relax
|
---|
| 1022 | \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#4}%
|
---|
| 1023 | \else
|
---|
| 1024 | \NAT@wrout{\the\c@NAT@ctr}{#3}{#2}{#1}{#4}%
|
---|
| 1025 | \fi
|
---|
| 1026 | }%
|
---|
| 1027 | \newcommand\citestarts{\NAT@open}%
|
---|
| 1028 | \newcommand\citeends{\NAT@close}%
|
---|
| 1029 | \newcommand\betweenauthors{and}%
|
---|
| 1030 | \newcommand\astroncite{}
|
---|
| 1031 | \def\astroncite#1#2(@)(@)\@nil#3{%
|
---|
| 1032 | \NAT@wrout{\the\c@NAT@ctr}{#2}{#1}{}{#3}%
|
---|
| 1033 | }%
|
---|
| 1034 | \newcommand\citename{}
|
---|
| 1035 | \def\citename#1#2(@)(@)\@nil#3{\expandafter\NAT@apalk#1#2, \@nil{#3}}
|
---|
| 1036 | \newcommand\harvarditem[4][]{%
|
---|
| 1037 | \if\relax#1\relax
|
---|
| 1038 | \bibitem[#2(#3)]{#4}%
|
---|
| 1039 | \else
|
---|
| 1040 | \bibitem[#1(#3)#2]{#4}%
|
---|
| 1041 | \fi
|
---|
| 1042 | }%
|
---|
| 1043 | \newcommand\harvardleft{\NAT@open}
|
---|
| 1044 | \newcommand\harvardright{\NAT@close}
|
---|
| 1045 | \newcommand\harvardyearleft{\NAT@open}
|
---|
| 1046 | \newcommand\harvardyearright{\NAT@close}
|
---|
| 1047 | \AtBeginDocument{\providecommand{\harvardand}{and}}
|
---|
| 1048 | \newcommand\harvardurl[1]{\textbf{URL:} \textit{#1}}
|
---|
| 1049 | \providecommand\bibsection{}
|
---|
| 1050 | \@ifundefined{chapter}{%
|
---|
| 1051 | \renewcommand\bibsection{%
|
---|
| 1052 | \section*{\refname\@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}}%
|
---|
| 1053 | }%
|
---|
| 1054 | }{%
|
---|
| 1055 | \@ifxundefined\NAT@sectionbib{%
|
---|
| 1056 | \renewcommand\bibsection{%
|
---|
| 1057 | \chapter*{\bibname\@mkboth{\MakeUppercase{\bibname}}{\MakeUppercase{\bibname}}}%
|
---|
| 1058 | }%
|
---|
| 1059 | }{%
|
---|
| 1060 | \renewcommand\bibsection{%
|
---|
| 1061 | \section*{\bibname\ifx\@mkboth\@gobbletwo\else\markright{\MakeUppercase{\bibname}}\fi}%
|
---|
| 1062 | }%
|
---|
| 1063 | }%
|
---|
| 1064 | }%
|
---|
| 1065 | \@ifclassloaded{amsart}{\renewcommand\bibsection{\section*{\refname}}}{}%
|
---|
| 1066 | \@ifclassloaded{amsbook}{\renewcommand\bibsection{\chapter*{\bibname}}}{}%
|
---|
| 1067 | \@ifxundefined\bib@heading{}{\let\bibsection\bib@heading}%
|
---|
| 1068 | \newcounter{NAT@ctr}
|
---|
| 1069 | \renewenvironment{thebibliography}[1]{%
|
---|
| 1070 | \bibsection
|
---|
| 1071 | \parindent\z@
|
---|
| 1072 | \bibpreamble
|
---|
| 1073 | \bibfont
|
---|
| 1074 | \list{\@biblabel{\the\c@NAT@ctr}}{\@bibsetup{#1}\global\c@NAT@ctr\z@}%
|
---|
| 1075 | \ifNAT@openbib
|
---|
| 1076 | \renewcommand\newblock{\par}%
|
---|
| 1077 | \else
|
---|
| 1078 | \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}%
|
---|
| 1079 | \fi
|
---|
| 1080 | \sloppy\clubpenalty4000\widowpenalty4000
|
---|
| 1081 | \sfcode`\.\@m
|
---|
| 1082 | \let\NAT@bibitem@first@sw\@firstoftwo
|
---|
| 1083 | \let\citeN\cite \let\shortcite\cite
|
---|
| 1084 | \let\citeasnoun\cite
|
---|
| 1085 | }{%
|
---|
| 1086 | \bibitem@fin
|
---|
| 1087 | \bibpostamble
|
---|
| 1088 | \def\@noitemerr{%
|
---|
| 1089 | \PackageWarning{natbib}{Empty `thebibliography' environment}%
|
---|
| 1090 | }%
|
---|
| 1091 | \endlist
|
---|
| 1092 | \bibcleanup
|
---|
| 1093 | }%
|
---|
| 1094 | \let\bibfont\@empty
|
---|
| 1095 | \let\bibpreamble\@empty
|
---|
| 1096 | \let\bibpostamble\@empty
|
---|
| 1097 | \def\bibcleanup{\vskip-\lastskip}%
|
---|
| 1098 | \providecommand\reset@font{\relax}
|
---|
| 1099 | \providecommand\bibname{Bibliography}
|
---|
| 1100 | \providecommand\refname{References}
|
---|
| 1101 | \newcommand\NAT@citeundefined{\gdef \NAT@undefined {%
|
---|
| 1102 | \PackageWarningNoLine{natbib}{There were undefined citations}}}
|
---|
| 1103 | \let \NAT@undefined \relax
|
---|
| 1104 | \newcommand\NAT@citemultiple{\gdef \NAT@multiple {%
|
---|
| 1105 | \PackageWarningNoLine{natbib}{There were multiply defined citations}}}
|
---|
| 1106 | \let \NAT@multiple \relax
|
---|
| 1107 | \AtEndDocument{\NAT@undefined\NAT@multiple}
|
---|
| 1108 | \providecommand\@mkboth[2]{}
|
---|
| 1109 | \providecommand\MakeUppercase{\uppercase}
|
---|
| 1110 | \providecommand{\@extra@b@citeb}{}
|
---|
| 1111 | \gdef\@extra@binfo{}
|
---|
| 1112 | \def\NAT@anchor#1#2{%
|
---|
| 1113 | \hyper@natanchorstart{#1\@extra@b@citeb}%
|
---|
| 1114 | \def\@tempa{#2}\@ifx{\@tempa\@empty}{}{\@biblabel{#2}}%
|
---|
| 1115 | \hyper@natanchorend
|
---|
| 1116 | }%
|
---|
| 1117 | \providecommand\hyper@natanchorstart[1]{}%
|
---|
| 1118 | \providecommand\hyper@natanchorend{}%
|
---|
| 1119 | \providecommand\hyper@natlinkstart[1]{}%
|
---|
| 1120 | \providecommand\hyper@natlinkend{}%
|
---|
| 1121 | \providecommand\hyper@natlinkbreak[2]{#1}%
|
---|
| 1122 | \AtBeginDocument{%
|
---|
| 1123 | \@ifpackageloaded{babel}{%
|
---|
| 1124 | \let\org@@citex\@citex}{}}
|
---|
| 1125 | \providecommand\@safe@activestrue{}%
|
---|
| 1126 | \providecommand\@safe@activesfalse{}%
|
---|
| 1127 |
|
---|
| 1128 | \newcommand\NAT@sort@cites[1]{%
|
---|
| 1129 | \let\NAT@cite@list\@empty
|
---|
| 1130 | \@for\@citeb:=#1\do{\expandafter\NAT@star@cite\@citeb\@@}%
|
---|
| 1131 | \if@filesw
|
---|
| 1132 | \expandafter\immediate\expandafter\write\expandafter\@auxout
|
---|
| 1133 | \expandafter{\expandafter\string\expandafter\citation\expandafter{\NAT@cite@list}}%
|
---|
| 1134 | \fi
|
---|
| 1135 | \@ifnum{\NAT@sort>\z@}{%
|
---|
| 1136 | \expandafter\NAT@sort@cites@\expandafter{\NAT@cite@list}%
|
---|
| 1137 | }{}%
|
---|
| 1138 | }%
|
---|
| 1139 | \def\NAT@star@cite{%
|
---|
| 1140 | \let\NAT@star@sw\@secondoftwo
|
---|
| 1141 | \@ifnum{\NAT@merge>\z@}{%
|
---|
| 1142 | \@ifnextchar*{%
|
---|
| 1143 | \let\NAT@star@sw\@firstoftwo
|
---|
| 1144 | \NAT@star@cite@star
|
---|
| 1145 | }{%
|
---|
| 1146 | \NAT@star@cite@nostar
|
---|
| 1147 | }%
|
---|
| 1148 | }{%
|
---|
| 1149 | \NAT@star@cite@noextension
|
---|
| 1150 | }%
|
---|
| 1151 | }%
|
---|
| 1152 | \def\NAT@star@cite@star*{%
|
---|
| 1153 | \NAT@star@cite@nostar
|
---|
| 1154 | }%
|
---|
| 1155 | \def\NAT@star@cite@nostar{%
|
---|
| 1156 | \let\nat@keyopt@open\@empty
|
---|
| 1157 | \let\nat@keyopt@shut\@empty
|
---|
| 1158 | \@ifnextchar[{\NAT@star@cite@pre}{\NAT@star@cite@pre[]}%
|
---|
| 1159 | }%
|
---|
| 1160 | \def\NAT@star@cite@pre[#1]{%
|
---|
| 1161 | \def\nat@keyopt@open{#1}%
|
---|
| 1162 | \@ifnextchar[{\NAT@star@cite@post}{\NAT@star@cite@post[]}%
|
---|
| 1163 | }%
|
---|
| 1164 | \def\NAT@star@cite@post[#1]#2\@@{%
|
---|
| 1165 | \def\nat@keyopt@shut{#1}%
|
---|
| 1166 | \NAT@star@sw{\expandafter\global\expandafter\let\csname NAT@b*@#2\endcsname\@empty}{}%
|
---|
| 1167 | \NAT@cite@list@append{#2}%
|
---|
| 1168 | }%
|
---|
| 1169 | \def\NAT@star@cite@noextension#1\@@{%
|
---|
| 1170 | \let\nat@keyopt@open\@empty
|
---|
| 1171 | \let\nat@keyopt@shut\@empty
|
---|
| 1172 | \NAT@cite@list@append{#1}%
|
---|
| 1173 | }%
|
---|
| 1174 | \def\NAT@cite@list@append#1{%
|
---|
| 1175 | \edef\@citeb{\@firstofone#1\@empty}%
|
---|
| 1176 | \if@filesw\@ifxundefined\@cprwrite{}{\expandafter\@cprwrite\@citeb=}\fi
|
---|
| 1177 | \if\relax\nat@keyopt@open\relax\else
|
---|
| 1178 | \global\expandafter\let\csname NAT@b@open@\@citeb\endcsname\nat@keyopt@open
|
---|
| 1179 | \fi
|
---|
| 1180 | \if\relax\nat@keyopt@shut\relax\else
|
---|
| 1181 | \global\expandafter\let\csname NAT@b@shut@\@citeb\endcsname\nat@keyopt@shut
|
---|
| 1182 | \fi
|
---|
| 1183 | \toks@\expandafter{\NAT@cite@list}%
|
---|
| 1184 | \ifx\NAT@cite@list\@empty
|
---|
| 1185 | \@temptokena\expandafter{\@citeb}%
|
---|
| 1186 | \else
|
---|
| 1187 | \@temptokena\expandafter{\expandafter,\@citeb}%
|
---|
| 1188 | \fi
|
---|
| 1189 | \edef\NAT@cite@list{\the\toks@\the\@temptokena}%
|
---|
| 1190 | }%
|
---|
| 1191 | \newcommand\NAT@sort@cites@[1]{%
|
---|
| 1192 | \count@\z@
|
---|
| 1193 | \@tempcntb\m@ne
|
---|
| 1194 | \let\@celt\delimiter
|
---|
| 1195 | \def\NAT@num@list{}%
|
---|
| 1196 | \let\NAT@cite@list\@empty
|
---|
| 1197 | \let\NAT@nonsort@list\@empty
|
---|
| 1198 | \@for \@citeb:=#1\do{\NAT@make@cite@list}%
|
---|
| 1199 | \ifx\NAT@nonsort@list\@empty\else
|
---|
| 1200 | \protected@edef\NAT@cite@list{\NAT@cite@list\NAT@nonsort@list}%
|
---|
| 1201 | \fi
|
---|
| 1202 | \ifx\NAT@cite@list\@empty\else
|
---|
| 1203 | \protected@edef\NAT@cite@list{\expandafter\NAT@xcom\NAT@cite@list @@}%
|
---|
| 1204 | \fi
|
---|
| 1205 | }%
|
---|
| 1206 | \def\NAT@make@cite@list{%
|
---|
| 1207 | \advance\count@\@ne
|
---|
| 1208 | \@safe@activestrue
|
---|
| 1209 | \edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
|
---|
| 1210 | \@safe@activesfalse
|
---|
| 1211 | \@ifundefined{b@\@citeb\@extra@b@citeb}%
|
---|
| 1212 | {\def\NAT@num{A}}%
|
---|
| 1213 | {\NAT@parse{\@citeb}}%
|
---|
| 1214 | \NAT@ifcat@num\NAT@num
|
---|
| 1215 | {\@tempcnta\NAT@num \relax
|
---|
| 1216 | \@ifnum{\@tempcnta<\@tempcntb}{%
|
---|
| 1217 | \let\NAT@@cite@list=\NAT@cite@list
|
---|
| 1218 | \let\NAT@cite@list\@empty
|
---|
| 1219 | \begingroup\let\@celt=\NAT@celt\NAT@num@list\endgroup
|
---|
| 1220 | \protected@edef\NAT@num@list{%
|
---|
| 1221 | \expandafter\NAT@num@celt \NAT@num@list \@gobble @%
|
---|
| 1222 | }%
|
---|
| 1223 | }{%
|
---|
| 1224 | \protected@edef\NAT@num@list{\NAT@num@list \@celt{\NAT@num}}%
|
---|
| 1225 | \protected@edef\NAT@cite@list{\NAT@cite@list\@citeb,}%
|
---|
| 1226 | \@tempcntb\@tempcnta
|
---|
| 1227 | }%
|
---|
| 1228 | }%
|
---|
| 1229 | {\protected@edef\NAT@nonsort@list{\NAT@nonsort@list\@citeb,}}%
|
---|
| 1230 | }%
|
---|
| 1231 | \def\NAT@celt#1{%
|
---|
| 1232 | \@ifnum{#1>\@tempcnta}{%
|
---|
| 1233 | \xdef\NAT@cite@list{\NAT@cite@list\@citeb,\NAT@@cite@list}%
|
---|
| 1234 | \let\@celt\@gobble
|
---|
| 1235 | }{%
|
---|
| 1236 | \expandafter\def@NAT@cite@lists\NAT@@cite@list\@@
|
---|
| 1237 | }%
|
---|
| 1238 | }%
|
---|
| 1239 | \def\NAT@num@celt#1#2{%
|
---|
| 1240 | \ifx#1\@celt
|
---|
| 1241 | \@ifnum{#2>\@tempcnta}{%
|
---|
| 1242 | \@celt{\number\@tempcnta}%
|
---|
| 1243 | \@celt{#2}%
|
---|
| 1244 | }{%
|
---|
| 1245 | \@celt{#2}%
|
---|
| 1246 | \expandafter\NAT@num@celt
|
---|
| 1247 | }%
|
---|
| 1248 | \fi
|
---|
| 1249 | }%
|
---|
| 1250 | \def\def@NAT@cite@lists#1,#2\@@{%
|
---|
| 1251 | \xdef\NAT@cite@list{\NAT@cite@list#1,}%
|
---|
| 1252 | \xdef\NAT@@cite@list{#2}%
|
---|
| 1253 | }%
|
---|
| 1254 | \def\NAT@nextc#1,#2@@{#1,}
|
---|
| 1255 | \def\NAT@restc#1,#2{#2}
|
---|
| 1256 | \def\NAT@xcom#1,@@{#1}
|
---|
| 1257 | \InputIfFileExists{natbib.cfg}
|
---|
| 1258 | {\typeout{Local config file natbib.cfg used}}{}
|
---|
| 1259 | %%
|
---|
| 1260 | %% <<<<< End of generated file <<<<<<
|
---|
| 1261 | %%
|
---|
| 1262 | %% End of file `natbib.sty'.
|
---|