Natural Sciences Citations and References

(Author–Year and Numerical Schemes)

Patrick W. Daly

This paper describes package natbib version 8.0 from 2007/02/05.

Abstract

The natbib package is a reimplementation of the L^{A}TEX \cite command, to work with both author–year and numerical citations. It is compatible with the standard bibliographic style files, such as plain.bst, as well as with those

for harvard, apalike, chicago, astron, authordate, and of course natbib.

In contrast to the packages listed above, the natbib package supports not only the various author–year bibliography styles, but also those for standard numerical citations. In fact, it can also produce numerical citations even with an author–year bibliographic style, something that permits easy switching between the two citation modes. To this end, replacements for the standard L^{A}TEX .bst files are also provided.

It is possible to define the citation style (type of brackets and punctuation between citations) and even to associate it with the name of the bibliographic style so that it is automatically activated. Citation styles can be defined for local .bst files by means of a configuration file natbib.cfg.

It is compatible with the packages: babel, index, citeref, showkeys,

chapterbib, hyperref, koma and with the classes amsbook and amsart. It

can also emulate the sorting and compressing functions of the cite package (with which it is otherwise incompatible).

Note that the citeref package (for adding citation page numbers in the bibliography) must be loaded after natbib. (The hyperref package with the option pagebackref also provides this feature, but with hyperlinks.)

The natbib package therefore acts as a single, flexible interface for most of the available bibliographic styles.

Contents

1 Introduction 3

2 Using this Package 4 2.1 New Bibliography Styles . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 The Syntax of the thebibliography . . . . . . . . . . . . . . . . . 4 2.3 Basic Citation Commands . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 Extended Citation Commands . . . . . . . . . . . . . . . . . . . . 6 2.5 Forcing Upper Cased Name . . . . . . . . . . . . . . . . . . . . . . 8 2.6 Citation Aliasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.7 Authorless and Yearless References . . . . . . . . . . . . . . . . . . 9 2.8 Extra Features in the plainnat Family . . . . . . . . . . . . . . . 9 2.9 Selecting Citation Punctuation . . . . . . . . . . . . . . . . . . . . 10 2.10 Predefining a citation style . . . . . . . . . . . . . . . . . . . . . . 12 2.11 Priority of Style Commands . . . . . . . . . . . . . . . . . . . . . . 13 2.12 Other Formatting Options . . . . . . . . . . . . . . . . . . . . . . . 13 2.13 Automatic Indexing of Citations . . . . . . . . . . . . . . . . . . . 14 2.14 HyperTEX Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 14 2.15 Multiple Bibliographies in One Document . . . . . . . . . . . . . . 15

2.15.1 Special Considerations for natbib and chapterbib . . . . . 15 2.16 Sorting and Compressing Numerical Citations . . . . . . . . . . . . 16 2.17 Long Author List on First Citation . . . . . . . . . . . . . . . . . . 16

3 Numerical Citations with Author–Year Styles 17 3.1 Selecting Numerical Mode . . . . . . . . . . . . . . . . . . . . . . . 17

4 Local Configuration 18

5 Package Options 18

6 Reference Sheet 19

7 Options with docstrip 19

8 Other Author–Year Solutions 20 8.1 The natsci.bst Style . . . . . . . . . . . . . . . . . . . . . . . . . 20 8.2 The apalike.bst Style . . . . . . . . . . . . . . . . . . . . . . . . 20 8.3 The newapa Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.4 The Harvard Family . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.5 The Astronomy Style . . . . . . . . . . . . . . . . . . . . . . . . . . 22 8.6 The authordate Style . . . . . . . . . . . . . . . . . . . . . . . . . 22

1 Introduction

The natbib package is an extension to L^{A}TEX to allow author–year citations along with numerical citations. Standard L^{A}TEX permits only numerical, whereas all extensions for author–year prior to the release of natbib in 1993 were limited to just that. Since they normally added new commands (as natbib does too), documents written with them could only be used with numerical citations after extensive editing.

The natbib package has changed that; switching from author–year to numerical citations is a matter of an option, with no alterations to the source text. It has now become part of the standard L^{A}TEX installations, and is supported (demanded) by many journals. It is the citation package of choice by most of the L^{A}TEX community, mainly because of its flexibility and configurability.

Like all packages, it is loaded in the document preamble, with possible options, with, e.g.

     \usepackage[sectionbib,square]{natbib}

The option sectionbib specifies that, when used with the package chapterbib, the bibliography will appear as a section at the end of each chapter (Section 2.15). The square option says that references are to be enclosed in square bracket rather than round parentheses. See Section 5 for a complete list of options.

The document text itself begins with, e.g.

      \begin{document}
      \bibliographystyle{plainnat}

which specifies plainnat to be the bibliography style used by the BibTEX program that generates the actual bibliography from a database. The style plainnat is the natbib version of the standard plain (numerical only) style. See Section 2.1 for other styles, or search the installation for .bst files.

The \bibliographystyle command can be given anywhere in the document, but it makes sense to add it at the start where it can be easily identified (and modified).

To make a citation in the text, use

\citep{jon90} for a parenthetical citation (Jones et al., 1990), \citet{jon90} for a textual one, as Jones et al. (1990).

Both \citep and \citet are defined by natbib and are thus not standard. The standard L^{A}TEX command \cite should be avoided, because it behaves like \citet for author–year citations, but like \citep for numerical ones. There are many other commands for other special effects (Section 2.4).

In the above examples, jon90 is the identifying key for the reference, as found in the BibTEX database, or in the thebibliography environment, Section 2.2:

      \begin{thebibliography}{1}
        \bibitem[Jones et al.(1990)]{jon90}

        . . . . .
      \end{thebibliography}

This environment prints the actual bibliography, and the \bibitem commands link the entries to the citations via the key, here jon90. The key may be perfectly arbitrary as long as it is unique. The text in square brackets contains the pieces of citation information, the authors Jones et al. and the year 1990. Note that these are two pieces of text that may be packaged together in several different ways, depending on the citation command. In fact, if numerical citations are selected, they are (almost) ignored and only the sequence number is used as citation.

The thebibliography environment can be made by hand, but it is better and safer to let BibTEX do it. For this, one needs the \bibliographystyle command already mentioned, and near the end of the document:

      \bibliography{mybib}
      \end{document}

Here mybib is the root name of the BibTEX database file (mybib.bib) containing the data for the references needed in the document.

The rest of this document presents all the gorey details about everything possible with natbib.

2 Using this Package

In this paper, I distinguish between the citation mode (author–year or numerical) and citation style (the type of punctuation used for citations). The citation style is something that is independent of the bibliography style and is not programmed in the .bst files.

2.1 New Bibliography Styles

I provide three new .bst files to replace the standard L^{A}TEX numerical ones:

     plainnat.bst     abbrvnat.bst     unsrtnat.bst

These produce reference lists in the same style as the corresponding standard .bst file, but work with natbib. The advantage is that they can be used in both numerical and author–year mode.

These .bst files are not meant to be exhaustive by any means. Other style files conforming to the natbib format exist, or may be generated with my custom-bib (also known as makebst) program.

2.2 The Syntax of the thebibliography

The information on the cited author names and year are given as part of the \bibitem commands within the thebibliography environment. The natbib package expects that information to be in a certain format, which is maintained by the above bibliography styles. (It will also be able to interpret formats used by some earlier packages, such as harvard and chicago.) If one wishes to bypass BibTEX, one must make up the thebibliography oneself, such that it conforms

to natbib.

This syntax looks as follows:

     \bibitem[Jones et al.(1990)]{jon90}...

or alternatively

     \bibitem[Jones et al.(1990)Jones, Baker,
         and Williams]{jon90}...

The text in square brackets contains the pieces of citation texts, the short author list, Jones et al., the year 1990, and the optional long author list Jones, Baker and Williams. If the long list is missing, the short list will be used instead. The parentheses around the year are not part of the text, but merely delimit the year from the author lists. Round parentheses must always be used, even if square brackets are wanted for the citations. And there must be no space before or after the year parentheses, else it will become part of the author list.

Note: if any single \bibitem entry does not conform to a syntax that natbib understands, it switches stubbornly to numerical mode, since it otherwise has no idea what the author and year texts could be.

2.3 Basic Citation Commands

The natbib package can be used with bibliography styles that were intended for other, older packages, like harvard. However, the commands described in this and the next sections are defined by natbib and must be used even with those other bibliography styles.

\citet The natbib package has two basic citation commands, \citet and \citep \citep for textual and parenthetical citations, respectively. There also exist the starred

versions \citet* and \citep* that print the full author list, and not just the abbreviated one. All of these may take one or two optional arguments to add some text before and after the citation.

\citet{jon90}  ⇒ Jones et al. (1990)
\citet[chap.~2]{jon90}  ⇒ Jones et al. (1990, chap. 2)
\citep{jon90}  ⇒ (Jones et al., 1990)
\citep[chap.~2]{jon90}  ⇒ (Jones et al., 1990, chap. 2)
\citep[see][]{jon90}  ⇒ (see Jones et al., 1990)
\citep[see][chap.~2]{jon90} ⇒ (see Jones et al., 1990, chap. 2)
\citet*{jon90}  ⇒ Jones, Baker, and Williams (1990)
\citep*{jon90}  ⇒ (Jones, Baker, and Williams, 1990)

The starred versions can only list the full authors if the .bst file supports this feature; otherwise, the abbreviated list is printed.

In standard L^{A}TEX, the \cite command can only take a single optional text for a note after the citation; here, a single optional text is a post-note, while two are the pre- and post-notes. To have only a pre-note, it is necessary to provide an empty post-note text, as shown above.

More complex mixtures of text and citations can be generated with the allpurpose \citetext command in Section 2.4.

Multiple citations may be made by including more than one citation key in the \cite command argument. If adjacent citations have the same author designation but different years, then the author names are not reprinted.

\citet{jon90,jam91}  ⇒ Jones et al. (1990); James et al. (1991)
\citep{jon90,jam91}  ⇒ (Jones et al., 1990; James et al. 1991)
\citep{jon90,jon91}  ⇒ (Jones et al., 1990, 1991)

      \citep{jon90a,jon90b} ⇒ (Jones et al., 1990a,b)

These examples are for author–year citation mode. In numerical mode, the results are different.

\citet{jon90}  ⇒ Jones et al. [21]

      \citet[chap.~2]{jon90}  ⇒ Jones et al. [21, chap. 2]
      \citep{jon90}  ⇒ [21]
      \citep[chap.~2]{jon90}  ⇒ [21, chap. 2]
      \citep[see][]{jon90}  ⇒ [see 21]
      \citep[see][chap.~2]{jon90} ⇒ [see 21, chap. 2]
      \citep{jon90a,jon90b}  ⇒ [21, 32]

The authors can only be listed if the .bst file supports author–year citations. The standard .bst files, such as plain.bst are numerical only and transfer no author–year information to L^{A}TEX. In this case, \citet prints “(author?) [21].”

\cite In the original versions of natbib, the traditional \cite command was used for both textual and parenthetical citations. The presence of an empty optional text in square brackets signalled parenthetical. This syntax has been retained for compatibility, but is no longer encouraged.

This means that \cite (without notes) is the same as \citet in author–year mode, whereas in numerical mode, it is the same as \citep. The starred version, as well as the one or two optional notes, may also be used.

It is possible to have multiple citations sorted into the same sequence as they appear in the list of references, regardless of their order as arguments to the \cite commands. The option sort is required for this feature. See Section 2.16.

Some publishers require that the first citation of any given reference be given with the full author list, but that all subsequent ones with the abbreviated list. Include the option longnamesfirst to enable this for natbib. See Section 2.17.

2.4 Extended Citation Commands

\citealt As an alternative form of citation, \citealt is the same as \citet but without

\citealp
\citetext
\citenum

parentheses. Similarly, \citealp is \citep without parentheses.

The \citenum command prints the citation number, without parentheses, even in author–year mode, and without raising it in superscript mode. This is intended to be able to refer to citation numbers without superscripting them.

Multiple references, notes, and the starred variants also exist for these, except

for \citenum.

      \citealt{jon90}  ⇒ Jones et al. 1990

\citealt*{jon90}  ⇒ Jones, Baker, and Williams 1990
\citealp{jon90}  ⇒ Jones et al., 1990
\citealp*{jon90}  ⇒ Jones, Baker, and Williams, 1990
\citealp{jon90,jam91}  ⇒ Jones et al., 1990; James et al., 1991

      \citealp[pg.~32]{jon90} ⇒ Jones et al., 1990, pg. 32
      \citenum{jon90}  ⇒ 11
      \citetext{priv.\ comm.} ⇒ (priv. comm.)

The \citetext command allows arbitrary text to be placed in the current citation parentheses. This may be used in combination with \citealp. For example,

 \citetext{see \citealp{jon90}, or even better \citealp{jam91}}

to produce (see Jones et al., 1990, or even better James et al., 1991).

\citeauthor In author–year schemes, it is sometimes desirable to be able to refer to the

\citeyear
\citeyearpar
\citefullauthor

authors without the year, or vice versa. This is provided with the extra commands

      \citeauthor{jon90} ⇒ Jones et al.

\citeauthor*{jon90} ⇒ Jones, Baker, and Williams

      \citeyear{jon90}  ⇒ 1990
      \citeyearpar{jon90} ⇒ (1990)

There also exists a command \citefullauthor which is equivalent to \citeauthor*.

If the full author information is missing, then \citeauthor* is the same as \citeauthor, printing only the abbreviated list. This also applies to the starred versions of \citet and \citep.

If the author or year information is missing (as is the case with the standard L^{A}TEX .bst files), these commands issue a warning.

Note: these commands may also be used with numerical citations, provided an author–year .bst file is being employed.

Note: all \cite.. commands have the same syntax, allowing multiple citations and up to two notes (there are, however, no starred \citeyear or \citenum variants). It does not really make much sense to add notes to \citeyear and \citeauthor, especially with multiple citations; however, this can be done, there will be no error message, but the results are sometimes strange. For example, in numerical mode, the notes are fully ignored, while in author–year mode, only the post-note is accepted. Multiple citations in \citet are also not recommended (nor are they in my opinion meaningful), but if they are used with notes, the pre-note will appear before each year, and the post-note only after the last year. These are admittedly bugs, but the effort to remove them is not justified by the questionable usefulness of these features.

In summary, notes are only intended for \citep but they may also be used with \citet in author–year mode, with single citations. In any other situation, the results are unpredictable.

\Citet
\Citep
\Citealt
\Citealp
\Citeauthor

2.5 Forcing Upper Cased Name

If the first author’s name contains a von part, such as “della Robbia”, then \citet{dRob98} produces “della Robbia (1998)”, even at the beginning of a sentence. One can force the first letter to be in upper case with the command \Citet instead. Other upper case commands also exist.

when \citet{dRob98}  ⇒ della Robbia (1998)
then \Citet{dRob98}  ⇒ Della Robbia (1998)
\Citep{dRob98}  ⇒ (Della Robbia, 1998)

             \Citealt{dRob98}  ⇒ Della Robbia 1998

\Citealp{dRob98}  ⇒ Della Robbia, 1998

             \Citeauthor{dRob98} ⇒ Della Robbia

These commands also exist in starred versions for full author names.

Note: the coding for the upper casing commands is tricky and likely buggy. It operates on the names that are stored in the \bibitem entry, and works even if old style font commands are used; however, L^{A}TEX 2ε commands will cause it to crash. Thus

 \bibitem[{\it della Robbia}(1998)]{dRob98}  is okay, but
 \bibitem[\textit{della Robbia}(1998)]{dRob98} crashes.

2.6 Citation Aliasing

\defcitealias Sometimes one wants to refer to a reference with a special designation, rather than

\citetalias
\citepalias

by the authors, i.e. as Paper I, Paper II. Such aliases can be defined and used, textual and/or parenthetical with:

      \defcitealias{jon90}{Paper~I}

      \citetalias{jon90}  ⇒ Paper I
      \citepalias{jon90}  ⇒ (Paper I)

These citation commands function much like \citet and \citep: they may take multiple keys in the argument, may contain notes, and are marked as hyperlinks.

A warning is issued if the alias is used before it is defined, or if an alias is redefined for a given citation. No warning is issued if an alias is defined for a citation key that does not exist; the warning comes when it is used!

See Section 2.7 for an alternative means of citing with a code name.

2.7 Authorless and Yearless References

What does one do about references that do not have authors? This has long bothered me but I do have a suggestion. Standard BibTEX styles make use of a KEY field in the entries to be used for alphabetizing when the authors or editors are missing. The author–year styles go even further and insert the KEY field in place of the authors. One can imagine giving a code designation for the work at this point. For example,

      @MANUAL{handbk98,
        title = {Assembling Computers},
        year = 1998,
        organization = {MacroHard Inc.},
        key = "MH-MAN"
      }

With plain, the key text MH-MAN is used only to order the reference, but with plainnat and other author–year styles, it is used in place of the authors. One can then refer to it as \citeauthor{handbk98} to get MH-MAN or as \citetext{\citeauthor{handbk98}} for (MH-MAN), a parenthetical citation.

This can be greatly simplified if the bibliography style leaves the date blank in the \bibitem entry, as

     \bibitem[MH-MAN()]{handbk98}

for then natbib suppresses the date, preceding punctuation, and the braces for \citet. This means that \citet and \citep behave automatically like the two examples above. The date still may appear in the text of the reference.

The natbib bibliography styles have been modified accordingly to omit the date from the \bibitem entry when missing authors and/or editors are replaced by key text.

Similarly, if the year is missing, it will be left blank in the \bibitem entry; thus citing such a work will only produce the authors’ names.

Note: there are many other possibilities with this feature. One can even produce citations like those of the alpha bibliography style, by placing the citation code in place of the authors in the \bibitem entry and leaving the year blank. A second code (or maybe even the authors themselves) could be placed where the full author list normally appears, to be printed with the starred version of the \cite commands. For example,

     \bibitem[MH-MAN()MacroHard Inc.]{handbk98}

2.8 Extra Features in the plainnat Family

The special .bst files for natbib mentioned in Section 2.1 have a number of extra fields compared to the original files:

ISBN for the ISBN number in books,
ISSN for the ISSN number in periodicals,
URL for the Internet address of online documents,

DOI the Digital Object Identifier now being used by many journals as a

more robust alternative to URL, EID electronic ID, a substitute for page numbers for online journals that

also appear in print; also known as the sequence number within the paper volume.

Both the DOI and URL tend to be very long, causing ugly line breaks or sticking out into the margin. This can be avoided by loading the url package by Donald Arseneau, which allows text to be broken at punctuation marks without a hyphen. This package is automatically detected by natbib and appropriate commands redefined. URLs are printed in typewriter font, DOI in roman. Without the url package, these numbers are never broken.

As pointed out in Section 2.7, the KEY field is treated differently by plainnat than in plain. Whereas the latter uses this field only to alphabetize entries without authors, plainnat actually inserts it in place of the author, both in the reference text and in the citation label (\bibitem entries). Furthermore, the year is left empty in \bibitem so that \citep prints only the “author” text, which is now the KEY. This should be some code designation for the work.

2.9 Selecting Citation Punctuation

\setcitestyle The above examples have been printed with the default citation style. It is possible to change this, as well as to select numerical or author–year mode, by means of the \setcitestyle command, which takes as argument a comma-separated list of keywords. (This command is new to version 8.)

     Citation mode: authoryear or numbers or super
     Braces: round or square or open={char},close={char}

Between citations: semicolon or comma or citesep={char} Between author and year: aysep={char} Between years with common author: yysep={char} Text before post-note: notesep={text}

Defaults are authoryear, round, comma, aysep={;}, yysep={,}, notesep={, }
   Example 1, \setcitestyle{square,aysep={},yysep={;}} changes the author–

year output of

     \citep{jon90,jon91,jam92}

into [Jones et al. 1990; 1991, James et al. 1992].

   Example 2, \setcitestyle{notesep={; },round,aysep={},yysep={;}} changes

the output of

     \citep[and references therein]{jon90}

into (Jones et al. 1990; and references therein). Note:

• parameters not specified remain unchanged;

• the order of the keywords is unimportant;

• the punctuation between author and year applies only to author–year citations, not numerical;

• the yysep punctuation comes between years when multiple citations have the same, non-repeated authors; a space is always inserted as well; if the years too are same, the citation is printed as ‘2007a,b’, without a space; to include a space, add it with yysep={,~};

• for numerical citations with common authors, e.g, \citet{jon90,jon91} produces ‘Jones et al. [21, 22]’ with the punctuation between the numbers; a space is automatically included for numbers, but not for superscripts.

• a single character does not really need to be in { }, other than a comma;

yysep=; is acceptable;

\bibpunct The older command for setting the citation style is \bibpunct which takes one

optional and 6 mandatory arguments:

1. the opening bracket symbol, default = (

2. the closing bracket symbol, default = )

3. the punctuation between multiple citations, default = ;

4. the letter ‘n’ for numerical style, or ‘s’ for numerical superscript style, any other letter for author–year, default = author–year;

5. the punctuation that comes between the author names and the year

6. the punctuation that comes between years or numbers when common author lists are suppressed (default = ,);

The optional argument is the character preceding a post-note, default is a comma plus space. In redefining this character, one must include a space if one is wanted.

The above \setcitestyle examples can be achieved with

\bibpunct{[}{]}{,}{a}{}{;} and
\bibpunct[,~]{(}{)}{,}{a}{}{;}.

2.10 Predefining a citation style

\bibstyle@xxx

\citestyle If a particular set of citation punctuations is commonly used, it is possible to store it in the local natbib.cfg and to recall it with \citestyle{name}. The definition is done by creating a command \bibstyle@name, which sets the desired citation style.

For example, the American Geophysical Union (AGU) demands in its publications that citations be made with square brackets and separated by semi-colons. There is an agu.bst file to accomplish most of the formatting, but such punctuations are not included in it. Instead, natbib has the definition

     \newcommand{\bibstyle@agu}{\bibpunct{[}{]}{;}{a}{,}{,~}}

which allows this set to be selected with the command

     \citestyle{agu}

There is an additional feature to such predefined styles: natbib attempts to execute \citestyle at the beginning of the document with the name of the bibliography style, as given by the \bibliographystyle command (and stored in the .aux file). This means that a citation style can be directly associated with a .bst file. Such implicit styles are immediately overwritten by any explicit style specifications, such as package options or \setcitestyle, \bibpunct, \citestyle commands.

Predefined citation styles are contained within the natbib code for the following bibliography styles:

plain etc. (the 4 base styles): square braces, numerical, commas

plainnat etc.: square braces, author–year, commas

agu (American Geophysical Union): square, author–year, semi-colon

egu (European Geosciences Union): round, author–year, semi-colon

agms, dcu, kluwer (Harvard set): round, author–year

cospar (Committe on Space Research): slashes, numerical, comma

nature (Journal Nature): superscripts

There are others but they are mainly for my personal convenience. The above represent most of the major variations and can be used as required. The automatic association with other bibliography styles can only be achieved by putting the definitions into the local natbib.cfg.

Note that the predefinitions for plain and plainnat specify square braces, thus changing the normal natbib default of round parentheses.

The style defining commands may contain more than just \bibpunct or \setcitestyle. Some numerical citation scheme require even more changes. For example, Nature not only uses superscripted numbers for citations, it also prints the numbers in the list of references without the normal square brackets. To accommodate this, natbib contains the style definition

      \newcommand{\bibstyle@nature}%
          {\bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
           \renewcommand\bibnumfmt[1]{##1.}}

The redefined \bibnumfmt command specifies how the reference numbers are to be formatted in the list of references itself.

2.11 Priority of Style Commands

The citation style (punctuation and mode) can be selected by means of the

\setcitestyle, \bibpunct, \citestyle commands or via \bibliographystyle{bst}

with a predefined \bibstyle@bst. They can also be selected by package options (Section 5). What happens if there are several conflicting selections?

The lowest priority is assigned to the \bibliographystyle command, since this is implicit and not transparent to the user. The package options have the next priority. Finally, any selection by \setcitestyle, \bibpunct and/or \citestyle overrides those of the other methods.

2.12 Other Formatting Options

\bibsection The list of references normally appears as a \section* or \chapter*, depending on the main class. If one wants to redesign one’s own heading, say as a numbered section with \section, then \bibsection may be redefined by the user accordingly.

\bibpreamble A preamble appearing after the \bibsection heading may be inserted before the actual list of references by defining \bibpreamble. This will appear in the normal text font unless it contains font declarations. The \bibfont applies to the list of references, not to this preamble.

\bibfont The list of references is normally printed in the same font size and style as the main body. However, it is possible to define \bibfont to be font commands that are in effect within the thebibliography environment after any preamble. For example,

     \newcommand{\bibfont}{\small}

\citenumfont Numerical citations may be printed in a different font. Define \citenumfont to be a font declaration like \itshape or even a command taking arguments like

\textit.
     \newcommand{\citenumfont}[1]{\textit{#1}}

The above is better than \itshape since it automatically adds italic correction.

\bibnumfmt The format of the numerical listing in the reference list may also be changed from the default [32] by redefining \bibnumfmt, for example

     \renewcommand{\bibnumfmt}[1]{\textbf{#1}:}

to achieve 32: instead.

\bibhang The list of references for author–year styles uses a hanging indentation format: the first line of each reference is flush left, the following lines are set with an indentation from the left margin. This indentation is 1 em by default but may be changed by redefining (with \setlength) the length parameter \bibhang.

\bibsep The vertical spacing between references in the list, whether author–year or numerical, is controlled by the length \bibsep. If this is set to 0 pt, there is no extra line spacing between references. The default spacing depends on the font size selected in \documentclass, and is almost a full blank line. Change this by redefining \bibsep with \setlength command.

2.13 Automatic Indexing of Citations

\citeindextrue If one wishes to have the citations entered in the .idx indexing file, it is only \citeindexfalse necessary to issue \citeindextrue at any point in the document. All following

\cite commands, of all variations, then insert the corresponding entry to that file. With \citeindexfalse, these entries will no longer be made.

The \bibitem commands in the thebibliography environment will also make index entries. If this is not desired, then issue \citeindexfalse before

\bibliography or \begin{thebibliography}.

Of course, \makeindex must also be issued in the preamble to activate indexing, as usual. Otherwise, no indexing is done at all.

Make sure that the document has been processed at least twice after the last BibTEX run before running the makeindex program.

\NAT@idxtxt The form of the index entries is set by the internal \NAT@idxtxt, which can be redefined by hackers if wanted (in the natbib.cfg file please). By default, it prints the short author list plus date or number in the current parenthesis style and citation mode.

The natbib package can also be used with the index package of David M. Jones. The order in which the packages are loaded is not important.

\citeindextype In that package, multiple index lists may be made by means of a \newindex command. For example, it may be desirable to put all the citation indexing into a separate list. First that list must be initiated with, e.g.,

     \newindex{cite}{ctx}{cnd}{List of Citations}

and then the automatic citation indexing associated with this list with the natbib command

     \renewcommand{\citeindextype}{cite}

See the documentation for index.sty for details.

2.14 HyperTEX Compatibility

The natbib package is compatible with the hyperref package of Sebastian Rahtz , for use with L^{A}TEX → HTML conversions, pdfTEX, pdfmark. The compatibility is of a mutual nature: both packages contain coding that interact with that of the other.

There is a special option to the hyperref package: breaklinks which allows the link text to be split over to the next line, avoiding many overfull line messages. By default, the link text is restricted to be on one line. For numerical citations, this may be desirable, but for author–year ones with long link texts, it is not.

2.15 Multiple Bibliographies in One Document

The natbib package is compatible with the chapterbib package of Donald Arseneau and Niel Kempson, which makes it possible to have several bibliographies in one document. The usual application is to have bibliographies in each chapter of a book, especially if they have been written by different authors.

The chapterbib package works in a very natural way for the author; only the editor who puts all the chapters together into one book has to do some extra work.

The package makes use of the \include command, and each \included file has its own bibliography. For large books, it makes very good sense to take advantage of this feature in any case.

To review the use of \include, recall that the main file

   \documentclass{...}
   \includeonly{ch2}
   \begin{document}
     \include{ch1}
     \include{ch2}
     \include{ch3}
   \end{document}

will process only the file ch2.tex as though the files ch1.tex and ch3.tex were also present. That is, all counters, especially the page and section numbers, as well as cross-referencing definitions, will function as if the whole document were processed. The trick is that each \included file has it own .aux file containing these definitions, and they are all read in every time, even if the corresponding .tex file is not. The .aux files also contain the citation information for BibTEX, something that the chapterbib package exploits.

If \usepackage{chapterbib} has been given, the keys in each \cite and \bibitem command are associated with the current \included file and are distinguished from the identical key in a different file. Each of these files must contain its own \bibliography and \bibliographystyle commands. One processes BibTEX on each file separately before processing it under L^{A}TEX (at least twice).

2.15.1 Special Considerations for natbib and chapterbib

The order in which the chapterbib and natbib packages are loaded is unimportant.

The chapterbib package provides an option sectionbib that puts the bibliography in a \section* instead of \chapter*, something that makes sense if there is a bibliography in each chapter. This option will not work when natbib is also loaded; instead, add the option to natbib. (The sectionbib option can always be given, but it only has meaning for the book and report classes, or for classes derived from them.)

Every \included file must contain its own \bibliography command where the bibliography is to appear. The database files listed as arguments to this command can be different in each file, of course. However, what is not so obvious, is that each file must also contain a \bibliographystyle command, with possibly differing arguments.

As of version 8.0, the citation style, including mode (author–year or numerical) may also differ between chapters. The \setcitestyle command as well as \bibpunct and \citestyle can be issued at any point in the document, in particular in different chapters. (And this is the only time it would make sense to do so.)

2.16 Sorting and Compressing Numerical Citations

Another package by Donald Arseneau, cite.sty, reimplements the entire (numerical) citation system such that one can control the punctuation and citation format, all of which is done by natbib as well. However, it also can sort and compress numerical citations, something that is required by some journals.

What this means is that when multiple citations are given with a single \cite command, the normal order of the numbers is in the sequence given. This is usually a wild list of numbers, such as [4,2,8,3]. With the cite package, this list becomes [2–4,8].

It is impossible to make the cite and natbib packages compatible, since both reimplement \cite from scratch. Instead, I have taken over some of the coding from cite.sty, modifying it for natbib. This coding is activated by including one of the options sort or sort&compress in the \usepackage command.

For author–year citations, the option sort orders the citations in a single \citep or \citet command into the sequence in which they appear in the list of references. This is normally alphabetical first, year second. This should avoid citations of the type: “James et al. (1994b,a)”. For author–year mode, the sort&compress option is identical to sort.

2.17 Long Author List on First Citation

A feature that has often been requested by otherwise happy users of natbib is one that is found in the harvard package as standard: with the first citation of any reference, the full author list is printed, and afterwards only the abbreviated list. One can control this with \citet* for the first citation, and \citet or \citep thereafter. However, the automatic feature is very desired.

This can be activated with the option longnamesfirst.

\shortcites Some references have so many authors that you want to suppress the automatic long list only for them. In this case, issue

     \shortcites{⟨key-list⟩}

before the first citations, and those included in key-list will have a short list on their first citation.

Full author lists can still be forced at any time with the starred variants.

3 Numerical Citations with Author–Year Styles

It is possible to produce numerical citations with any author-year .bst file, with minimal change to the text. The commands \citet and \citep will produce sensible results in both modes, without any special editing. Obviously, the opposite is not possible; a .bst file intended for numerical citation can never produce author–year citations, simply because the information is not transferred to the auxiliary file.

3.1 Selecting Numerical Mode

By default, natbib is in author–year mode. This can be changed by

1. selecting a numerical bibliography style with predefined citation style, defined either in the package or in the local configuration file;

2. giving options numbers or super to the \usepackage command;

  3. issuing \setcitestyle{numbers};

4. issuing \citestyle with the name of a predefined numerical bibliography style (like plain and use it with plainnat).

The natbib package will automatically switch to numerical mode if any one of the \bibitem entries fails to conform to the possible author–year formats. There is no way to override this, since such an entry would cause trouble in the author–year mode.

There are certain special ‘numerical’ styles, like that of the standard alpha.bst, which include a non-numerical label in place of the number, in the form

     \bibitem[ABC95]{able95}

As far as natbib is concerned, this label does not conform to the author–year possibilities and is therefore considered to be numerical. The citation mode switches to numerical, and \cite{able95} prints [ABC95].

See however, the end of Section 2.7 for another possibility. The above result can be achieved with

     \bibitem[ABC95()]{able95}

4 Local Configuration

It is possible to add a local configuration file natbib.cfg, which is read in, if it exists, at the end of the package. It may thus contain coding to supecede that in the package, although its main purpose is to allow the user to add his or her own \bibstyle@bst definitions to couple citation punctuation with local bibliography styles or for use with \citestyle.

5 Package Options

When a package is loaded with \usepackage, one can add options to select different features, as

     \usepackage[options]{natbib}

The options available provide another means of specifying the punctuation for citations: round (default) for round parentheses; square for square brackets; curly for curly braces; angle for angle brackets; semicolon (default) to separate multiple citations with semi-colons; colon the same as semicolon, an earlier mistake in terminology; comma to use commas as separators; authoryear (default) for author–year citations; numbers for numerical citations; super for superscripted numerical citations, as in Nature; sort orders multiple citations into the sequence in which they appear in the list

of references; sort&compress as sort but in addition multiple numerical citations are com-

pressed if possible (as 3–6, 15); compress to compress without sorting, so compression only occurs when the given

citations would produce an ascending sequence of numbers; longnamesfirst makes the first citation of any reference the equivalent of the

starred variant (full author list) and subsequent citations normal (abbreviated list);

sectionbib redefines \thebibliography to issue \section* instead of \chapter*;

valid only for classes with a \chapter command; to be used with the

     chapterbib package;

nonamebreak keeps all the authors’ names in a citation on one line; causes overfull hboxes but helps with some hyperref problems.

The options curly and angle are not really serious; I only added them because that completes the normal list of bracket types. The only other citation possibilities I know have really encountered are solidus, e.g. /21/, or something like (Ref.

21). These must be set with \setcitestyle{open={/},close={/}}.

The package options are overwritten by any explicit \setcitestyle, \bibpunct, or \citestyle commands. And both these commands and the package options turn off the automatic setting with \bibliographystyle, if effective.

6 Reference Sheet

A summary of the main points on using natbib can be obtained by L^{A}TEXing the file natnotes.tex, which is extracted from the main source file natbib.dtx with the docstrip option notes. This is intended to act as a handy reference sheet.

This file should be extracted automatically by the supplied installation file,

natbib.ins.

7 Options with docstrip

The source .dtx file is meant to be processed with docstrip, for which a number of options are available:

all includes all of the other interfaces;

apalike allows interpretation of minimal apalike form of \bibitem;

newapa allows \citeauthoryear to be in the optional argument of \bibitem along with the punctuation commands of newapa.sty;

chicago is the same as newapa;

harvard includes interpretation of \harvarditem;

astron allows \astroncite to appear in the optional argument of \bibitem;

authordate adds the syntax of the \citename command.

The remaining options are:

package to produce a .sty package file with most comments removed;

notes extracts a summary of usage to be used as a reference sheet; the resulting file is to be L^{A}TEXed; driver to produce a driver .drv file that will print out the documentation when

L^{A}TEX’d. This file can be modified to produce various alternatives (page size, fonts, manual only, or with annotated code). The natbib.dtx file is itself such a driver but it should never, ever be edited by a user.

The source file natbib.dtx is itself a driver file and can be processed directly by L^{A}TEX.

8 Other Author–Year Solutions

This section is of historical interest only.

Before natbib was published in 1993, there were several other attempts to provide author–year citations, some of which inspired natbib. A few of these are still maintained and used, and for that reason, natbib has attempted to include their \bibitem syntaxes, to be compatible with those .bst files.

Most of these ‘packages’ are really L^{A}TEX 2.09 style files, so do not have features available with the modern L^{A}TEX 2ε.

8.1 The natsci.bst Style

What gave me my first inspiration was Stephen Gildea’s natsci.bst for use with his agujgr.sty file. This showed me that the problem was solvable. However, Gildea’s formats \bibitem with just the abbreviated authors and year. Thus only parenthetical citations can be accommodated.

The name natsci stands for natural sciences, and it was this that led to the name natbib. (This is admittedly an ugly name, but it is now established and cannot be changed so easily.)

8.2 The apalike.bst Style

Oren Patashnik, the originator of BibTEX and the standard .bst files, has also worked on an author–year style, called apalike.bst with a corresponding apalike.sty to support it. Again, only the parenthetical citation is provided. Its functionality is identical to that of the natsci files.

The form of the thebibliography entries in this system is

     \bibitem[Jones et al., 1990]{jon90}...

This is the most minimal form that can be given. I name it the apalike variant, after Patashnik’s apalike.bst and apalike.sty. However, there could be many independent .bst files that follow this line, such as the natsci styles.

The bibliography style files belonging to this group include:

     apalike, apalike2, cea, cell, jmb, phapalik, phppcf, phrmp

8.3 The newapa Style

A major improvement was achieved with newapa.bst and the accompanying newapa.sty files by Stephen N. Spencer and Young U. Ryu. Under their system, three separate items of information are included in the \bibitem label, to be used as required. These are: the full author list, the abbreviated list, and the year. This is accomplished by means of a \citeauthoryear command included in the label, as

     \bibitem[\protect\citeauthoryear{Jones, Barker,
       and Williams}{Jones et al.}{1990}]{jon90}...

Actually, this only illustrates the basic structure of \citeauthoryear; the newapa files go even further to replace some words and punctuation with commands. For example, the word ‘and’ above is really \betweenauthors, something that must be defined in the .sty file. Of course, \citeauthoryear is also defined in that file. A number of different \cite commands are available to print out the citation with complete author list, with the short list, with or without the date, the textual or parenthetical form.

Thus the \citeauthoryear entry in \bibitem is very flexible, permitting the style file to generate every citation form that one might want. It is used by a number of other styles, with corresponding .sty files. They all appear to have been inspired by newapa.bst, although they lack the extra punctuation commands.

Bibliographic style files belonging to the newapa group include

     newapa, chicago, chicagoa, jas99, named

Note: the last of these, named.bst, uses \citeauthoryear in a slightly different manner, with only two arguments: the short list and year.

8.4 The Harvard Family

The same effect is achieved by a different approach in the Harvard family of bibliographic styles. Here a substitute for \bibitem is used, as

     \harvarditem[Jones et al.]{Jones, Baker, and
        Williams}{1990}{jon90}...

The accompanying interface package file is called harvard.sty and is written by Peter Williams and Thorsten Schnier. It defines \harvarditem as well as the citation commands \cite, for parenthentical, and \citeasnoun, for textual citations. The first citation uses the long author list, following ones the shorter list, if it has been given in the optional argument to \harvarditem.

Bibliography styles belonging to the Harvard family are

     agsm, dcu, kluwer

This package has been updated for L^{A}TEX 2ε, with many additions to add flexibility. The result is a powerful interface that should meet most citation needs. (It does not suppress repeated authors, though, as natbib does.)

8.5 The Astronomy Style

Apparently realizing the limitations of his apalike system, Oren Patashnik went on to develop a ‘true’ apa bibliographic style, making use of the method already employed by an astronomy journal. This is actually very similar to the newapa label but with only the short list of authors:

     \bibitem[\protect\astroncite{Jones et al.}{1990}]{jon90}
        ...

It requires the package file astron.sty or any other style that defines \astroncite appropriately.

Bibliographic styles belonging to the astronomy group are

     apa, astron, bbs, cbe, humanbio, humannat, jtb

This is as good as the \citeauthoryear command, although not as flexible since the full list of authors is missing.

8.6 The authordate Style

Finally, I also found some packages making use of a label command called

\citename in the form
     \bibitem[\protect\citename{Jones et al., }1990]{jon90}
         ...

This is not a good system since the author list and date are not cleanly separated as individual arguments, and since the punctuation is included in the label text. It is better to keep the punctuation fully removed, as part of the definitions in the .sty file, for complete flexibility.

Bibliographic styles belonging to this group are

     authordate1, authordate2, authordate3, authordate4, aaai-named

with accompanying style file authordate1-4.sty.