LaTeX: inline BibTeX entries with the bibentry package

17 July, 2009 - 11:28

In the introduction chapter of my PhD dissertation, I had to make a listing of my publications. The obvious brain dead way to achieve this is just typing everything manually in a list. But this feels just so wrong when you're already using BibTeX for managing references and bibliographical stuff. However, the traditional usage of BibTeX in LaTeX is to generate a full list of all references and put this in a dedicated section or chapter.

With the bibentry package (which is part of the natlib package actually) it is possible to put bibliographic entries anywhere in the text. As far as I know and experienced, the bibentry package is included in a default LaTeX setup, so you don't have to install something, just enable it in your document.

Getting it work as desired can take some trial and error, so I thought it may be a good idea to feed "them search engines" with a working example.

Here is a simple proof of concept example LaTeX document test_bibentry.tex:

\documentclass{article}
 
\usepackage{bibentry}
\nobibliography*
 
\begin{document}
 
\section{Introduction}
 
Look ma, inline bibtex entries:
 
\begin{itemize}
\item \bibentry{michael}
\item \bibentry{elvis}
\end{itemize}
 
\section{And now for something completely different}
Lorem ipsum yada yada,
also see \cite{britney}, 
yada yada, and \cite{marilyn} too.
 
\bibliographystyle{alpha}
\bibliography{test_bibentry.bib}
 
\end{document}

The stuff that's important here:

  • \usepackage{bibentry}: duh.
  • \nobibliography*: tells bibentry to (re)use the bibliographic data from the standard BibTeX setup by \bibliography{test_bibentry.bib}.
  • \bibentry{foo}: an inline bibliographic entry will be put here.

Here is the accompanying BibTeX file test_bibentry.bib:

@Book{michael,
    author = "Michael Jackson",
    title = "My Kingdom For A Lollypop",
    publisher = "Neverland \& Everland Publishing",
    year = 2004
}
 
@Book{elvis,
    author = "Elvis Presley",
    title = "Turn Me One More Time",
    publisher = "Jail House Books",
    year = 1963
}
 
@Book{britney,
    author = "Britney Spears",
    title = "Let's Go Oversea To Canada",
    publisher = "Blonde, Blondt \& Blondey",
    year = 2007
}
 
@Book{marilyn,
    author = "Marilyn Manson",
    title = "I Love My Little Pony",
    publisher = "Pinc \& Cuddley Press",
    year = 2005
}

And here is what it looks like in the end:
bibentry result example

Note the inline entries in the introduction section, the standard \cite{} references in the second section and how all references show up in the final bibliographic listing. Just how I wanted it in my PhD dissertation. With slightly different content of course.