[Tex/LaTex] Natbib: cite in text with first name or initial

bibtexnatbib

One of my references is J. Doe (1999). In the bib file it might looks like this:

@article{doe-1999,
 author="John Doe",
 title="Some Paper",
 journal="Some Journal",
 volume=1, number=1, pages={1--10}, year=1999}

My preamble looks like

\documentclass{article}
\usepackage{natbib}
\usepackage{hyperref}  % Hyperlinks bib references.
\begin{document}
  Please see \cite{doe-1999}.
  \bibliographystyle{plainnat}
  \bibliography{mybib}
\end{document}

In the text, I normally cite it using \cite{doe-1999} and that's great. But there's one spot in my document where I'd like to include Doe's first initial (or his first name if I include it in the bib). I'm using natbib/plainnat author-year style. Is there a command that would help me get "J. Doe (1999)" or "John Doe (1999)" in the text and still have the whole thing hyperlinked by way of hyperref?

Best Answer

If you want to do it for a few cases, a simpler solution is to define an alias and use \citealias.

For your example, in the preamble, define:

\defcitealias{smith13}{Waldo Smith (2013)}

And in the text use:

\citetalias{smith13}

The result will be Waldo Smith (2013) in the text, with the reference added in the same way as the other references. If you use \citet{smith13}, you return to the usual Smith (2013).

The command \citetalias is available with the package natbib. So, you have to include \usepackage{natbib} in the preamble.

Note: this question is related to Author's full first name with citation-in-text (citet{} directives)

Related Question