1. Thanks for the good info, this really helps. One thing that your posting does not cover though, and neither does any other site that I’ve found about natbib, is how to set page numbers for multiple citations.

What I mean is that sometimes it’s needed to have the citation like this: [2, p. 15 ; 4, p 181]

I am not experienced enough with LaTex to provide a work-around for this. If you have a clue on how to do this, please add it to your blog. Appreciate it. Thanks.

2. tom

Hi!

You are right, natbib cannot do it. But you can define your own citation-command as a work-around:

\newcommand{\mycite}[4]{[\citenum{#1}, #2; \citenum{#3}, #4]}

And now you can have multiple citations with page numbers as follows:

\mycite{bla91}{p. 15}{bla99}{p. 181}
3. For some reason in my environment the natbib didn’t seem to have a command \citenum. All I got was an undefined control sequence error. But when I downloaded the natbib.sty and included in the directory where my tex files are, it is working.

Thanks for sharing that work-around.

4. The problem with \citenum problem is that the version of natbib that came with LaTex is an old version from 2003. The new one I downloaded is from 2007.

5. Louic

Thanks for your website, it’s very informative.

\usepackage{hypernat}

to get the sort&compress to work.

Apparently there is a conflict between hyperref and natbib, which is solved by using hypernat.

Happy TeX’ing

6. k

I had to spend an hour with Google to find this one trivial command:

\nocite{key}

which puts a citation in your \bibliography, without showing up in the actual text (good for abstracts)

Thanks a lot buddy.. How to use “square brackets” in natbib trick worked….

8. satsuma: In my own thesis class I have to following to cite two sources with pages:

% Double page citation
\newcommand{\citedouble}[4]{%
(\citealp[#1]{#2}; \citealp[#3]{#4})%
}
9. sohail

Using natbib, for a single citation with page number and the text see e.g. I do

\citep[see e.g.][p.394]{efron1993ib}

and it generates

(see e.g. Efron and Tibshirani, 1993, p.394)

but I am unable to do the same for the multiple citation with page numbers and the text see e.g. like

(see e.g. Efron and Tibshirani, 1993, p.107; Chernick, 1999, p.84)

10. Thanks Tom!! That helped.

11. Courtney

Thank you Louic!

For those using natbib and hyperref, it is required to use

\usepackage{hypernat}

to allow natbib to use sort&compress properly. Finding your post saved me many hours!

12. kezz

Thanks very much for this!

13. Mander

@sohail:

I get around that kind of problem with judicious use of \citealp, \citealt, etc. For instance:

There is some evidence of seasonal distribution of goods (\citealp[9]{freddie04transition}, see also \citealt{vicent97island}), as well as a strong suggestion blah blah blah

compiles as:

There is some evidence of seasonal distribution of goods (Freddie 2004:9, see also Vicent 1997), as well as a strong suggestion blah blah blah

14. Rachel

Thank you for this post. I found that after adding \usepackage[square, comma, sort&compress]{natbib}, I got the error “! Package natbib Error: Bibliography not compatible with author-year citations.” After searching on another forum (http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2009-03/msg00162.html) I found that the solution is to add the option “numbers” to your \usepackage command above; i.e. \usepackage[square, comma, sort&compress, numbers]{natbib}. Just thought I’d add this in case anyone else is experiencing the same difficulty.

• nelu

thanks rachel, it was very helpful

• prathap

Thanks Rachel, it helped !

• Greg

Thanks Rachel, that’s what I needed.

15. \usepackage{cite} …worked for me

16. Eve

Thanks for the great post! Also, thank you to Rachel – I had the same problem, and that fixed it!

17. rozita

hi every one
I am typing my thesis in latex and i got big problem, I need to seprate my all references with comma , i am using

\cite{citation40,citation41,citation59,citation97}

but i am getting instead of comma semicolon; for separating references {40;59;97} and whenever i am using

\cite{citation2}{,} \cite{citation3} {,} \cite{citation41}

i am getting comma but i am having extra [] such as : [2],[3],[41]

My goal is just [2,3,41] how i can get this???
thanks.
Rozita

• Hi Rozita,

Thanks for your comment. It suffices to load the natbib package. Here is a minimal example:

\documentclass{article}
\usepackage{natbib}
\begin{filecontents}{bibtextest.bib}
@book{knuth1979tex,
title={TEX and METAFONT: New directions in typesetting},
author={Knuth, D.E.},
year={1979},
publisher={American Mathematical Society}}
@book{knuth1986texbook,
title={The texbook},
author={Knuth, D.E. and Bibby, D. and Makai, I.},
volume={1993},
year={1986},
@book{knuth1988tex,
title={Tex},
author={Knuth, D.E. and Bibby, D.},
year={1988},
\end{filecontents}
\begin{document}
See \cite{knuth1979tex, knuth1986texbook, knuth1988tex}.
\bibliographystyle{plain}
\bibliography{bibtextest}
\end{document}

You may also want to view the natbib reference sheet, a very nice collection of options provided by the package.

Best, Tom.

• rozita

Dear Tom,
Thanks alot.
Best Regards

• You are welcome. Happy to help. Tom.

18. Muatez

Hi Tom,
I want to write three references in the same box?

• Hi Muatez,

It’s sufficient to use the natbib package with

\cited{citation1, citation2, citation3}

Best, Tom.

19. Sham

dear Tom,
how we can cite multiple references like [1-4] instead of [1,2,3,4]?

• Hi sham,

Please see my update of the post above where natbib was replaced with cite. That should work.

Best, Tom.

20. azim

Thankyou dear Rachel..I face the same problem as you mention.Now it works…May God Bless you….

21. This is a very good tip particularly to those fresh to the blogosphere.
Brief but very precise info Thanks for sharing this one.

22. Thangapandiyan

Hello

I am not using sort and conmpress. how i can define my natbib file. So, please provide natbib with sort and compress file.

Thank you

Thangapandiyan D.

• tom

I’d strongly suggest to move to the more recent and extremely powerful biblatex package.

Cheers, Tom

23. Fernando

Hello there. Sorry if this post should go in a different section.

I have this problem: I renewed my pc and I installed MikTeX and TexMaker (the same programs I used before). However, when I try to run LaTeX an error message for the bibliography appears: “empty journal” or “empty booktitle” or “empty year” or “empty title”, something that did not happen before when I wrote an article (or any other reference) in the bilbiography without those details. I did not change anything from the previous version of my document.

I am using natbib package. Can you help me please? I have been trying to figure out what is happenning but I haven´t been able to understand the problem. I updated the LaTeX version using MikTex maintenance but nothing works so far.

Thank you very much for this blog.