It seems that you are using the chapterbib
package to produce your multiple bibliographies. The error messages that you are getting suggests that you are not compiling your document correctly.
I'll explain how to compile your document with a simple example; I'll assume that your main document is called test.tex
and looks like this:
\documentclass{report}
\usepackage{chapterbib}
\begin{document}
\include{chapter1}
\include{chapter2}
\end{document}
The file chapter1.tex:
\chapter{Foo}
Some text and a reference to \cite{goossens93}. But also have a look in \cite{knuth79}...
\bibliographystyle{plain}
\bibliography{references}
The file chapter2.tex:
\chapter{Bar}
Some text and a reference to \cite{lamport94}. But also have a look in \cite{knuth79}...
\bibliographystyle{plain}
\bibliography{references}
The database references.bib:
@book{goossens93,
author = "Michel Goossens and Frank Mittlebach and Alexander Samarin",
title = "The Latex Companion A",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
@book{knuth79,
author = "Donald E. Knuth",
title = "Tex and Metafont, New Directions in Typesetting",
year = {1979{(}1950{)}},
publisher = "American Mathematical Society and Digital Press",
address = "Stanford"
}
@book{lamport94,
author = "Leslie Lamport",
title = "Latex: A Document Preparation System",
year = "1994",
edition = "Second",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
You have to compile your document in the following way:
pdflatex test
bibtex chapter1
bibtex chapter2
pdflatex test
pdflatex test
In your actual document, as a first step, you'll need to remove the auxiliary files to prevent possible inherited errors.
You can use refsection
s to create separate bibliographies per part of your document. With the optional argument of \begin{refsection}...\end{refsection}
you can fix one specific .bib
file for that refsection
. Then \nocite{*}
will only use entries from that .bib
file.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}
\begin{filecontents}[overwrite]{\jobname-one.bib}
@book{elk,
author = {Anne Elk},
title = {A Theory on Brontosauruses},
year = {1972},
publisher = {Monthy \& Co.},
location = {London},
}
\end{filecontents}
\addbibresource{\jobname-one.bib}
\begin{filecontents}[overwrite]{\jobname-two.bib}
@book{belk,
author = {Anne Belk},
title = {A Theory on Diplodocuses},
year = {1980},
publisher = {Monthy \& Co.},
location = {London},
}
\end{filecontents}
\addbibresource{\jobname-two.bib}
\begin{document}
\begin{refsection}[\jobname-one]
\part{One}
Lorem
\nocite{*}
\printbibliography
\end{refsection}
\begin{refsection}[\jobname-two]
\part{Two}
Ipsum
\nocite{*}
\printbibliography
\end{refsection}
\end{document}
If you don't want to use refsection
s because completely separate bibliographies are not desirable, you can look into solutions with keyword
s based on file names like biblatex: multiple bibliographies categorised by different .bib files and Separate multiple bib files reference using biblatex.
Best Answer
Your code fragment isn't that clear but you want
\nocite{*}
to be first not last, before all\cite
commands.