25

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?

4

2 Answers 2

21

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.

4
  • 3
    Is it possible to use this with natbib?
    – Grzenio
    Dec 7, 2012 at 15:18
  • @Grzenio: stefaanlippens.net/bibentry Sep 14, 2013 at 19:46
  • I think this should refer to this older answer, from which the present answer has been adapted.
    – Jost
    May 29, 2015 at 13:53
  • 2
    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! Aug 17, 2016 at 5:06
11

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.

3
  • This can be useful to people who only have one source for the whole report
    – rodude123
    Jun 9, 2020 at 23:06
  • 2
    Just want to add a comment because it took me some time to figure out what was preventing this solution from working for me. \bibentry is for some reason not compatible with the use of usepackage[french]{babel}. See tex.stackexchange.com/questions/130344/…
    – Kvothe
    Aug 13, 2020 at 9:35
  • 1
    I'm having difficulties making this work. I have a multi-source document and as soon as I use \nobibliography* after \usepackage{bibentry}, I start getting errors of the type ´./thesis.bbl:51: Undefined control sequence. \BR@@lbibitem ... \BR@backrefprint \BRorg@bibitem [{#1}]{#2}#3\BR@backref {#2} l.51 ´. Any idea why?
    – MrT77
    Jul 1, 2022 at 14:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .