[Tex/LaTex] Suppress printing of only \bibentry references with natbib

bibentrybibtexnatbibsubdividing

This question was basically asked before, but I think that the only answer didn't quite understand the question so I thought I'd try again. I'm writing a paper in which I need to have references show up in two places: a special list of "key references" in its own section, and a bibliography containing the rest of the references that were cited in the text. I thought that bibentry would do it, so the document looks something like:

\documentclass[11pt]{article}
\usepackage{natbib}
\usepackage{bibentry}
\nobibliography*

\begin{document}

\section{Amazing idea}

Chicken chicken chicken \citep{chicken:2010fj}.  Chicken chicken, chicken \citep{turkey:2010jk}.

\section{Key References}

\begin{enumerate}
\item \bibentry{lemur:2009ii}
\item \bibentry{gibbon:2011jk}
\end{enumerate}

\bibliographystyle{apalike}
\bibliography{amazing.bib}
\end{document}

Unfortunately, this doesn't quite do it, as the resulting document presents the lemur and gibbon bibentry references correctly in the "Key References" section, but also prints them in the bibliography at the end of the document. Ideally, the only entries in the bibliography would be the chicken and turkey \citep references. I'd like it to look like:

Key references

  1. Lemur, L. (2009). Lemur, 12(4):1-7.
  2. Gibbon, G. (2011). Gibbon, 135:1002-1009.

References

Chicken, C. (2010). Chicken. Chicken Press, Coop.

Turkey, T. (2010). Turkey, 7(4):E231.

What it actually looks like:

Key references

  1. Lemur, L. (2009). Lemur, 12(4):1-7.
  2. Gibbon, G. (2011). Gibbon, 135:1002-1009.

References

Chicken, C. (2010). Chicken. Chicken Press, Coop.

Gibbon, G. (2011). Gibbon, 135:1002-1009.

Lemur, L. (2009). Lemur, 12(4):1-7.

Turkey, T. (2010). Turkey, 7(4):E231.

Is there any way to achieve this with the current method, or is there some other (possibly easier!?) way to do this?

Best Answer

As stated in the answer to the other question bibentry is not suitable for the task at hand (without modifications). If you want to give biblatex a try, it is easy to set it up for what you want to achieve.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage{csquotes} 
\usepackage[natbib,style=authoryear]{biblatex}


\begin{filecontents}{\jobname.bib} 
@article{nature, 
   author      =   {Rosa Rademakers and Manuela Neumann and Ian R. Mackenzie}, 
   title      =   {Advances in understanding the molecular basis of frontotemporal dementia - elongated title}, 
   journal      =   {Nature Reviews Neurology}, 
   volume      =   {8}, 
   year      =   {2012}, 
   pages      =   {423-434}, 
   doi         =   {10.1038/nrneurol.2012.117}} 
@article{fuente, 
   author      =   {D. de la Fuente and J.G. CastaƱo and M. Morcillo}, 
   title      =   {Long-term atmospheric corrosion of zinc}, 
   journal      =   {Corrosion Science}, 
   volume      =   {49}, 
   year      =   {2007}, 
   pages      =   {1420-1436},
   url = {www.elsevier.com/locate/corsci},
   } 
 @incollection{Rocca2007a,
   author = {Rocca, Emmanuel and Mirambet, Fran\c{c}ois},
   booktitle = {Corrosion of Metallic Heritage Artefacts: Investigation, Conservation and Prediction of Long Term Behaviour},
   chapter = {18},
   editor = {Philippe Dillmann and Pedro Piccardo and Gerard Beranger},
   pages = {308-334},
   title = {{Corrosion inhibitors for metallic artefacts: temporary protection}},
   year = {2007}}
\end{filecontents} 

\addbibresource{\jobname.bib}

\DeclareBibliographyCategory{keyreferences}

\defbibenvironment{keyrefs}
  {\begin{enumerate}}
  {\end{enumerate}}
  {\item}

\begin{document} 
Test \citet{nature}\addtocategory{keyreferences}{nature}

another test \cite{fuente} and \citep{Rocca2007a}

\printbibliography[env=keyrefs,category=keyreferences,title={Key References}]
\printbibliography[notcategory=keyreferences]
\end{document} 

The key issue is to create a category for the key references. After that we can use the category and notcategory options to \printbibliography command to filter the references. Also the natbib option allows us to use standard natbib commands for citations.

Since you want the key references to be printed as an enumerate list, we can use the command \defbibenviornment to use enumerate as the wrapper environment for them, and use the env=... option to specify it.

enter image description here