17

I have a reference which has a bib entry and appears in the bibliography. I want to be able to include the entire entry, exactly as it appears in the bibliography, somewhere else in the document.

Is there any way to do that other than to manually write it and format it to look similar?

14

Here is an example using biblatex as @henrique suggests in his answer. Biblatex provides the \fullcite command to achieve what you are seeking.

\documentclass[12pt]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{auth1:2000,
title = {A book},
author = {A. Thor},
date = {2000},
publisher = {Some Company},
location = {A City}
}
\end{filecontents}
\usepackage[backend=biber,]{biblatex}
\bibliography{\jobname.bib}

\begin{document}
\fullcite{auth1:2000}

\printbibliography
\end{document} 

The \printbibliography command is not necessary, but it is useful in the example to illustrate that the \fullcite command produces text similar to that found in the bibliography. You will notice that the \fullcite command does not provide punctuation at the end of the entry. Therefore, something like

\fullcite{auth1:2000}. 

is needed to get that punctuation.

  • Is it possible to use this with natbib? – Grzenio Dec 7 '12 at 15:18
  • @Grzenio: stefaanlippens.net/bibentry – Joe Corneli Sep 14 '13 at 19:46
  • I think this should refer to this older answer, from which the present answer has been adapted. – Jost May 29 '15 at 13:53
  • I used this solution and got errors like "I found no \citation commands", "I found no \bibdata command", "I found no \bibstyle command". I replaced "backend=biber" with "backend=bibtex" and it worked! – Erel Segal-Halevi Aug 17 '16 at 5:06
10

You can do that with the bibentry package.

Here's a minimal working example:

\documentclass[11pt]{article}
\usepackage{cite}
\usepackage{bibentry}
      \begin{filecontents}{\jobname.bib}
      @misc{ Nobody06,
               author = "Nobody Jr",
               title = "My Article",
               year = "2006" }
      \end{filecontents}
\begin{document}
\nobibliography*% this command tells bibentry to load the bibliography database from the \bibliography command
\title{My Article}
\author{Nobody Jr.}
\date{Today}
\maketitle
Blablabla said Nobody ~\cite{Nobody06}.
Blablabla said Nobody in \bibentry{Nobody06}.% here's how you can print the bibliographic entry within text.
\bibliography{\jobname}
\bibliographystyle{plain}
\end{document}

But I recommend you take a look at the biblatex package.

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.