Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question

1 Answer 1

up vote 2 down vote accepted
  • 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

share|improve this answer
    
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.