Why do I get (author?) when I use \citet with natbib?
The plain
bibliography style is for numerical references only, while \citet
only makes sense for author-year citations. Use natbib
s own version of plain
, called plainnat
, instead, and this works fine. I.e. change to
\bibliographystyle{plainnat}
This is in fact documented on page 7 of natbib
s manual:
The authors can only be listed if the
.bst
file supports author–year citations. The standard .bst files, such asplain.bst
are numerical only and transfer no author–year information to LaTeX. In this case,\citet
prints “(author?) [21].”
I was getting this problem with a custom-generated bibliography style (using Patrick Daly's custom-bib generator, merlin.mbs). The solution (pointed out to me very helpfully by Patrick) is to generate a style using author-year citations, but use the "numbers" option in the LaTeX document, i.e. in the .dbj file produced by merlin.mbs, uncomment the line
ay,%: Author-year
and in the .tex file specify
\usepackage[numbers]{natbib}
For those who are also confused by these kinds of problem: Please check there should be not space in the cite command. You should write \cite{aa,bb,cc}
instead of \cite{aa, bb, cc}
.