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?

Tom
  • 251
  • Are you using bibtex or biblatex? What bibliography style are you using? Please give more information – Seamus Feb 13 '12 at 13:46
  • I am using bibtex with bibliography style plain. – Tom Feb 13 '12 at 13:51
  • Similar to tex.stackexchange.com/questions/49048/how-to-cite-one-bibentry-in-full-length-in-the-body-text which uses natbib. – SabreWolfy Feb 13 '13 at 08:08
  • The same problem is also discussed here [https://tex.stackexchange.com/questions/135930/use-bibentry-with-biblatex] and here [https://tex.stackexchange.com/questions/126226/how-do-i-instruct-fullcite-to-use-maxbibnames-rather-than-maxcitenames] – Prof.Chaos Jun 19 '17 at 12:03

2 Answers2

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.

Amphipolis
  • 1,713
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.

henrique
  • 6,616
  • This can be useful to people who only have one source for the whole report – rodude123 Jun 09 '20 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 https://tex.stackexchange.com/questions/130344/using-citep-leads-to-missing-endcsname-inserted-error – Marten Aug 13 '20 at 09: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 01 '22 at 14:58