Citations with no bibliography at the end
Use the \usepackage{bibentry}
and then instead of \bibliography{}
use \nobibliography{}
.
e.g.
\nobibliography{/Users/Thomas/Dropbox/bibliography.bib}
You can define a savebox and put the \bibliography
command inside the savebox.
Here is a small example:
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{test,
author={Name},
title={TITLE},
year={2011},
}
\end{filecontents}
\documentclass{article}
\usepackage{natbib}
\bibliographystyle{plainnat}
\begin{document}
\cite{test}
\newsavebox\mytempbib
\savebox\mytempbib{\parbox{\textwidth}{\bibliography{test}}}
\end{document}
NOTE: If you are using biblatex
you don't need such hacks.
EDIT
In relation to my answer I have a small question. What do you think about a small package which allows the user to print the bibliography or not?
Here my first try:
%% Copyright (C) 2011 by Marco Daniel
\ProvidesPackage{nobibprint}[2011/10/12 v0.1 nobibprint]
\RequirePackage{etoolbox}
\RequirePackage{xkeyval}
\define@boolkey{nobibprint.sty}[nobib@]{hide}{}
\ExecuteOptionsX{hide=true}
\ProcessOptionsX
\newsavebox\nobib@tempbox
\ifnobib@hide
\AtBeginDocument{%
\let\nobib@bibliography@orig\bibliography
\def\bibliography#1{%
\savebox\nobib@tempbox{%
\parbox{\linewidth}{%
\nobib@bibliography@orig{#1}%
}%
}%
}%
}
\fi
\endinput
Now simple use:
\usepackage{nobibprint}
or:
\usepackage[hide=true]{nobibprint}%default
or
\usepackage[hide=false]{nobibprint}
Your second request is easy: use \nocite{*}
. This will produce a full bibliography, regardless of which bibliography entries are actually cited.