0

I want to have a bibliography at the end of each chapter (and later also at the end of the book).

In this MWE this does not work. I expected to have at the end "[1] A B, Test Journal ..." Bibtex runs with "Process exited normally".

\documentclass{book}

\usepackage[ngerman]{babel}

\usepackage[sorting=none, backend=bibtex]{biblatex} % load the package

\begin{filecontents}{bibliography_file.bib}
@ARTICLE{myref,
  AUTHOR       = "A B",
  TITLE        = "Test",
  JOURNAL      = "Journal",
  YEAR         = "2019",
  NUMBER       = "1"
}
\end{filecontents}

\addbibresource{bibliography_file.bib} % add a bib-reference file

\begin{document}

\chapter{First Chapter}

Hello. We cite \cite{myref}

\begin{refsection} % refsection environment
Citation section \thesection: \cite{myref} % collect citations
\printbibliography[heading=subbibliography] % print section bibliography
\end{refsection}

\end{document}
  • Why do you want to use Bibtex instead of biber? – Johannes_B Nov 27 '19 at 08:28
  • @Johannes_B For no special reason. In my editor TeXmaker, bibtex is available by default. Probably I can use biber from there. Is it more complicated? – ubuntuuser Nov 27 '19 at 09:26
  • 1
    No, it is not. Piece of cake: https://tex.stackexchange.com/questions/154751/biblatex-with-biber-configuring-my-editor-to-avoid-undefined-citations – Johannes_B Nov 27 '19 at 09:55

1 Answers1

1

If you want to use refsections with BibTeX you need to run BibTeX not only on the main file, but also on helper files for each refsection.

Indeed the MWE will produce the warning

Package biblatex Warning: Please (re)run BibTeX on the file(s):
(biblatex)                refsectbibtex
(biblatex)                refsectbibtex1-blx
(biblatex)                and rerun LaTeX afterwards.

On a first run. So you don't only run BibTeX on refsectbibtex but also on refsectbibtex1-blx (and similarly for other refsections).

The normal compilation order

latex <file>
bibtex <file>
latex <file>
latex <file>

thus becomes

latex <file>
bibtex <file>
bibtex <file>1-blx
...
bibtex <file>n-blx
latex <file>
latex <file>

where n is the number of refsections.


If you use Biber instead of BibTeX there is no need for additional Biber runs, you can have arbitrarily many refsections and still compile with

latex <file>
biber <file>
latex <file>
latex <file>

Just change backend=bibtex, to backend=biber, and run Biber instead of BibTeX (Biblatex with Biber: Configuring my editor to avoid undefined citations can help you with your editor).

Since some advanced biblatex features are only available with Biber, switching to Biber would be the preferred way to resolve this issue.

moewe
  • 175,683