# package footbib error: missing \bibitem, when using plainnat style

I use the footbib package to do references for an acknowledgment page. This keeps the references self contained in a footnote.

If I use the plainnat style then it breaks. I have a working example which needs two files (I'm guessing it can be done in one, but I'm not sure how).

latex file:

\documentclass{article}
\usepackage[oneside,firstcite(page)]{footbib}

\footbibliographystyle{nature}
%\footbibliographystyle{plainnat}
\footbibliography{references}
\renewcommand*\putfootcitelabel[1]{#1}

\begin{document}
Hello\footcite{Muller1993}
\end{document}


The second file called references.bib is:

@BOOK{Muller1993,
title = {Inorganic Sructural Chsmistry},
publisher = {John Wiley \& Sons Ltd.},
year = {1993},
author = {Ulrich M\"{u}ller},
}


So to compile you do latex -> bibtex on the <project>.fb.aux file -> latex -> latex. The <project>.aux file doesn't matter.

Now there is a commented out line in the project file \footbibliographystyle. If you swap it with the commented one, then it breaks after you try to do a latex compile following the bibtex one.

I get this error: ! Package footbib Error: Missing \bibitem on input line 2 of footbib_test.fb.bbl.

Any one know why or how to fix it?

-

• I want to recommend the package biblatex.
• You can edit the file <foo>.fb.bbl manually. Than you have to change the order at the beginning:

BEFORE

\begin{thebibliography}{1}
\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi


AFTER

\providecommand{\natexlab}[1]{#1}
\providecommand{\url}[1]{\texttt{#1}}
\expandafter\ifx\csname urlstyle\endcsname\relax
\providecommand{\doi}[1]{doi: #1}\else
\providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi
\begin{thebibliography}{1}

• Copy the file plainnat.bst in your working folder an change the function

FUNCTION {begin.bib} as follows:

FUNCTION {begin.bib}
{   preamble$empty$
'skip${ preamble$ write$newline$ }
if$"\providecommand{\natexlab}[1]{#1}" write$ newline$"\providecommand{\url}[1]{\texttt{#1}}" write$ newline$"\expandafter\ifx\csname urlstyle\endcsname\relax" write$ newline$" \providecommand{\doi}[1]{doi: #1}\else" write$ newline$" \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" write$ newline$"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$newline$
}


plainnat should be used in combination with natbib.

Finally I want to repeat my offer: Change to biblatex

-
Thanks for this solution Marco, I found the biblatex package to be too complicated to deal with though. I have to submit my thesis in a week and the package gave warnings about most of my references and threw up 120 errors with unhelpful messages. Maybe for another project, when I'm starting from scratch. –  aghsmith Sep 8 '11 at 14:46