46

I would like to show the author names using \citet but I get just the reference number. Here is a minimal code:

\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{natbib}

\begin{document}

 The author \citet{toschi09} has shown that ..

\bibliographystyle{plain}
\bibliography{foo}

\end{document}

And here is foo.bib

@article{toschi09,
author = {Toschi, F. and Bodenschatz, E.},
title = {Lagrangian Properties of Particles in Turbulence},
journal = {Annual Review of Fluid Mechanics},
volume = {41},
number = {1},
pages = {375-404},
year = {2009}, 
}

What I get is:

The author (author?) [1] has shown that ..

Any help will be more than welcome, thank you!

  • 3
    Does switching to \bibliographystyle{plainnat} help? – Torbjørn T. Mar 21 '14 at 10:46
  • @TorbjørnT. yes Thank you! it works! but what is the file which is created .aux I got a message with regard to it – Volterra Mar 21 '14 at 10:58
  • The .aux file is a temporary file that is created when you compile a document. It contains among other things all the citation commands you used. When you run bibtex, it reads this file, finds all those citations, extracts the corresponding information from the .bib file, and generates the bibliography (the .bbl file). The next time you run pdflatex, this bbl file is read, and you get a bibliography. – Torbjørn T. Mar 21 '14 at 11:08
  • @TorbjørnT. Thank you a lot for your explanations – Volterra Mar 21 '14 at 11:11
38

The plain bibliography style is for numerical references only, while \citet only makes sense for author-year citations. Use natbibs 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 natbibs manual:

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 LaTeX. In this case, \citet prints “(author?) [21].”

  • 1
    Is there some hack that can make this work without changing style? I am forced to use amsplain but I have a lot of citet. I don't want to add author name everywhere manually. – ablmf May 7 at 14:39
  • @ablmf Find-and-replace \citet with \cite? I don't know amsplain, but if it's a numerical style then one wouldn't usually have both author name and number, would one? If you are after both, then I'd suggest asking a new question about it. – Torbjørn T. May 7 at 14:47
13

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}
3

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}.

  • Thanks, simple and clear answer, which solved my problem quickly. I was difficult to replicate the problem and explain it as the error doesn't tell you much about it. – Aryan Firouzian May 14 at 11:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.