## Class files

When it comes to bibliography management in L a T e X the program natbib is an alternative used in several journals. The program is not actively developed, but is very stable and widely used. This article explains how to use natbib to format and cite bibliographic sources.

Note: If you are starting from scratch it's recommended to use biblatex since that package provides localization in several languages, it's actively developed and makes bibliography management easier and more flexible.

## Introduction

A minimal working example is presented below:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage{natbib}
\bibliographystyle{unsrtnat}

\title{Bibliography management: \texttt{natbib} package}
\author{Share\LaTeX}
\date { }

\begin{document}

\maketitle

This document is an example of \texttt{natbib} package using in bibliography
management. Three items are cited: \textit{The \LaTeX\ Companion} book
\cite{latexcompanion}, the Einstein journal paper \cite{einstein}, and the
Donald Knuth's website \cite{knuthwebsite}. The \LaTeX\ related items are
\cite{latexcompanion,knuthwebsite}.

\medskip

\bibliography{sample}

\end{document}

In this example there are four basic commands to manage the bibliography:

 usepackage{natbib} 
Imports the package natbib .
 \bibliographystyle{unsrtnat} 
 \cite{labelcompanion} 
Prints a reference to the citation entry, what is printed depends on the citation style . The word inside the braces corresponds to a particular entry in the bibliography file .
 bibliography{sample} 
Imports the file sample.bib that contains bibliography sources. See the bibliography file section.

## Basic usage

A simple working example was shown at the introduction, there are more bibliography-related commands available.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage[square,numbers]{natbib}
\bibliographystyle{abbrvnat}

\title{Bibliography management: \texttt{natbib} package}
\author{Share\LaTeX}
\date { }

\begin{document}

\maketitle

This document is an example of \texttt{natbib} package using in bibliography
management. Three items are cited: \textit{The \LaTeX\ Companion} book \cite{latexcompanion}, the Einstein journal paper \citet{einstein}, and the
Donald Knuth's website \cite{knuthwebsite}. The \LaTeX\ related items are
\cite{latexcompanion,knuthwebsite}.

\medskip

\bibliography{sample}

\end{document}

There are a few changes in this example:

• The options  square  and  numbers  in  \usepackage[square,numbers]{natbib}  enable squared brackets and numeric citations respectively. See the reference guide for a list of package options
• The command  \citet  adds the name of the author to the citation mark, regardless of the citation style .

## The bibliography file

The bibliography files must have the standard bibtex syntax and the extension .bib. They contain a list of bibliography sources and several fields with information about each entry.

@article{einstein,
author =       "Albert Einstein",
title =        "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
[{On} the electrodynamics of moving bodies]",
journal =      "Annalen der Physik",
volume =       "322",
number =       "10",
pages =        "891--921",
year =         "1905",
DOI =          "http://dx.doi.org/10.1002/andp.19053221004"
}

@book{latexcompanion,
author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
title     = "The \LaTeX\ Companion",
year      = "1993",
}

@misc{knuthwebsite,
author    = "Donald Knuth",
title     = "Knuth: Computers and Typesetting",
url       = "http://www-cs-faculty.stanford.edu/\~{}uno/abcde.html"

This file contains records in a special format, for instance, the first bibliographic reference is defined by:

 @article{...} 
This is the first line of a record entry,  @article  tells BibTeX that the information stored here is about an article. The information about this entry is enclosed within braces. Besides the entry types shown in the example (  article  ,  book  and  misc  there are a lot more, see the reference guide .
 einstein 
The label  einstein  is assigned to this entry, is a unique identifier that can be used to refer this article within the document.
 author = "Albert Einstein", 
This is the first field in the bibliography entry, indicates that the author of this article is Albert Einstein. Several comma-separated fields can be added using the same syntax  key = value  , for instance: title, pages, year, URL, etc. See the reference guide for a list of possible fields.

The information in this file can later be printed and referenced within a L a T e X document, as shown in the previous sections, with the command  \bibliography{sample  . Not all the information in the .bib file will be displayed, it depends on the bibliography style set in the document.

If you want the bibliography to be included in the table of contents, importing the package tocbibind in the preamble will do the trick:

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage[nottoc]{tocbibind}

\begin{document}

\tableofcontents

\section{First Section}
This document ...

\bibliographystyle{unsrt}
\bibliography{sample}

\end{document}

\usepackage[nottoc]{tocbibind}

## Reference guide

natbib package options

•  round  for round parentheses
•  square  uses square brackets
•  curly  curly braces
•  angle  angle braces or chevrons
•  semicolon  separates multiple citations with semicolons
•  colon  same as  semicolon 
•  comma  separate multiple citations with commas
•  authoryear  for author-year citations
•  numbers  for numerical citations
•  super  superscripts for numerical citations, as in Nature
•  sort  orders multiple citations according to the list of references
•  sort&compress  same as  sort  but multiple numerical citations are compressed if possible
•  compress  compress without sorting
•  longnamefirst  the full name of the author will appear in the first citation of any reference
•  sectionbib  To be used with the package chapterbib to add the bibliography to the table of contents as a unnumbered section instead of an unnumbered chapter
•  nonamebreak  prevents hyphenation of author names
•  elide  to omit common elements of merged references

Standard entry types

 article 
Article from a magazine or journal
 book 
A published book
 booklet 
A work that is printed but have no publisher or sponsoring institution
 conference 
An article in a conference proceedings
 inbook 
A part of a book (section, chapter and so on)
 incollection 
A part of a book having its own title
 inproceedings 
An article in a conference proceedings
 manual 
Technical documentation
 masterthesis 
A Master's thesis
 misc 
Something that doesn't fit in any other type
 phdthesis 
A PhD thesis
 proceedings 
The same as  conference 
 techreport 
 unpublished