36

Say I wish to have two references lists: one for all the citation within the main body, and another for all the citations within the Appendices. I'm using BibTeX. splitbib and multibib don't seem to be the right way.

chapterbib seems to be very similar to what I need, but I couldn't find a working example, and I don't know how to adjust it to what I need (without splitting into different files). Any suggestions?

lockstep
  • 250,273
Ran G.
  • 1,648

2 Answers2

29

Use biblatex and its refsection feature. Note that entries cited both in the main text and the appendix will be included in both bibliographies.

\documentclass{article}

\usepackage{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\newrefsection

\section{First}

Some text \autocite{A01}.

\section{Second}

Some text \autocite{B02}.

\printbibliography[title={Main References}]

\appendix
\newrefsection

\section{App-First}

Some text \autocite{B02}.

\section{App-Second}

Some text \autocite{C03}.

\printbibliography[title={Appendix References}]

\end{document}

enter image description here

lockstep
  • 250,273
  • 11
    Thanks! is there an equivalent BibTex solution? – Ran G. Feb 15 '12 at 01:34
  • 2
    Is there a way to make cites in the appendix use the same references as in the previous sections such that Buthor is always cited as [2] and does not occur in the references of the appendix as it is already in the first references list? - Has it become clear what I mean? – FlorianL Aug 20 '17 at 00:05
  • @FlorianL wouldn't \newrefsection after the first ref list do this? – Mzq Mar 16 '18 at 04:02
  • @FlorianL (and Ran G.). You can do this with multibib in BibTeX. Citations that are cited in both bibliographies will always be cited according to the first bibliography to avoid repeating entries. See here for how to do it or have a look at the multibib docs. – Andrew Jun 24 '20 at 12:30
18

You could give the bibunits package a try. Assuming that (i) you wish to use the plain bibliography style in the main part of the document and the unsrt style in the appendix area and (ii) all bib entries are contained in a file named mybib.bib, the bibunits-relevant structure of your LaTeX file might look something like this:

\documentclass{book}
\usepackage{bibunits}
\begin{document}

\mainmatter

\begin{bibunit}[plain]
... % with various citation commands strewn in
\putbib[mybib]
\end{bibunit}

\appendix % or whatever demarcation command you need to employ

\begin{bibunit}[unsrt]
... % with more citation commands
\putbib[mybib]
\end{bibunit}

\end{document}

If you only intend to use one bibliography style (say, plain) throughout, you could place the command

 \defaultbibliographystyle{plain}

in the preamble, freeing you from having to mention it in every \begin{bibunit} command. (Actually, plain is the default style in case nothing else is specified.)

Note that bibunits creates a separate .aux file for each bibunit you create, named bu1.aux, bu2.aux, etc. This means that you'll need to run BibTeX separately on each of these aux files.

lockstep
  • 250,273
Mico
  • 506,678
  • I want to refer to another question which shows how to avoid latex creating a new bibliography chapter each time: https://tex.stackexchange.com/q/339883/25077 – strpeter Sep 12 '18 at 12:29