[Tex/LaTex] Can’t get Natbib package to work

bibliographiesnatbib

I'm trying to create a bibliography. I'd like it so that I can write with the Harvard style:

"..bla bla bla bla bla (Bloggs, 2012). Bla bla bla…"

in the main body of the text, with something like this:

"Bloggs, J., The Journal of Stuff, 2012."

as the actual bibliography. I'd like to have the list of 'references' (i.e. of which the above line is one) in alphabetical order. I'd also prefer (but at this stage of frustration, willing to go without) that the "(Bloggs, 2012)" would take the reader to the bibitem when it is clicked on with the cursor.

Any help would be greatly appreciated! I'm in a real hole at the moment; I've read the (natbib) documentation and various wikis but to no avail.

Addendum (moved from the comment section): Here's an MWE —

\documentclass[11pt]{article} 
\usepackage[authoryear]{natbib} 
\usepackage[colorlinks=true]{hyperref} 
\begin{document} 
\section{First Section} 
\noindent Something is true (Bloggs, 2012)\citep{bloggs:2012}. 
\bibliographystyle{plain} 
\begin{thebibliography}{99} 
\bibitem{bloggs:2012} Bloggs, J., The Journal of Stuff, 2012 
\end{thebibliography} 
\end{document} 

The problem is that the hyperlink is in a box (numbered as "1") but I actually want the "(Bloggs, 2012)" to be the hyperlink. At the moment, it's kind of double.

Best Answer

I take it that by "Harvard style" you mean a generic author-year style ffor citation call-outs. The harvard package was among the first to implement such a style for LaTeX users. By now, there are quite a few other packages as well that provide possibilities for generating author-year citation call-outs.

To instruct the natbib citation management package to use an author-year rather than a numeric citation style, it's best to load the package with the authoryear option:

\usepackage[authoryear]{natbib}

Assuming you have an entry in your bib file with a key of "bloggs:2012" that is authored by "Jane Bloggs", you could issue the command

\citep{bloggs:2012}

to generate a "parenthetical" citation reference of (Bloggs, 2012). To get a "textual" citation, viz., Bloggs (2012), using the same entry, you'd type

\citet{bloggs:2012}

The precise manner in which the bibliographic entries will be typeset in the References section depends critially on the bibliography style file you use. You may want to start with the plainnat.bst and see if this meets your needs. I.e., issue a command such as

\bibliographystyle{plainnat}

somewhere in your document.

Finally, to have LaTeX make each citation into a hyperlink to the corresponding item in the bibliography, you need to load the hyperref package, preferably with the options colorlinks=true and citecolor=<MyColorOfChoice>.


Addendum, prompted by the OP's provision of an MWE. Alright, I understand now that you aren't using BibTeX for now to construct the bibliography but, instead, are building the bibliography "by hand" by assembling a bunch of \bibitem entries.

There are two issues with your MWE. First, if you're going to do the \bibitems by hand, the \bibitem in question must look like this:

\bibitem[Bloggs(2012)]{bloggs:2012} Bloggs, J., The Journal of Stuff, 2012. 

Without any material in square brackets, LaTeX is going to use the default citation call-out style, i.e., generate numeric labels when it encounters a citation of this bibitem.

Second, don't type

Something is true (Bloggs, 2012)\citep{bloggs:2012} 

in the text. Rather, type something like

Something is true \citep{bloggs:2012}.

and let LaTeX provide the text of the citation call-out -- (Bloggs, 2012) in this case. If the hyperref package is loaded, the string (Bloggs, 2012) will automatically be made into a hyperlink to the corresponding entry in the references section.

That said, I would strongly recommend that your learn at least the basics of how to use BibTeX. Doing so will save you a lot of time in the future.

The fully revised MWE would look like this:

\documentclass[11pt]{article}

\usepackage[authoryear,round]{natbib}
\bibliographystyle{plainnat}

\usepackage[colorlinks=true,citecolor=blue]{hyperref}

\begin{document}
\section{First Section}

Something is true \citep{bloggs:2012}. As argued by \citet{bloggs:2012}, \dots

\begin{thebibliography}{99}

\bibitem[Bloggs(2012)]{bloggs:2012} Bloggs, J., The Journal of Stuff, 2012.

\end{thebibliography}
\end{document} 
Related Question