1

I am still struggeling with the task of getting a list of all bibtex items used by a multi-authored volume. We are using a biber/biblatex combination and I cannot find a simple way that gets me all the bibtex items of the cited works. I have some biber calls, but they do not return the crossrefed items. Another attempt was to just compile the volume and have one unified reference section at the end. Currently we have the references in individual chapters. I was looking for a way to print the bibliography in one go but biblatex seems to only allow

\printbibliography[section=1,heading=subbibliography]       
\printbibliography[section=2,heading=subbibliography]

This is a MWE:

\documentclass{scrbook}

\begin{filecontents}{ref.bib}
@book{degroote2000a,
        Address = {Louvain-la-neuve, Belgium},
        Editor = {de Groote, Philippe},
        Publisher = {Academia},
        Series = {Cahiers du Centre de Logique},
        number = 8,
        Title = {Test item The {Curry-Howard} Isomorphism},
        Year = 2000}

@incollection{curry;feys95,
        Author = {Haskell B. Curry and Robert Feys},
        Booktitle = {The {Curry-Howard} Isomorphism},
        Crossref = {degroote95a},
        Key = {curry-howard isomorphism, logic, type theory},
        Pages = {9--13},
        Title = {The Basic Theory of Functionality. Analogies with Propositional Algebra}}

@book{degroote95a,
        Address = {Louvain-la-neuve, Belgium},
        Annote = {13.7.03},
        Editor = {de Groote, Philippe},
        Key = {curry-howard isomorphism, logic, type theory},
        Publisher = {Academia},
        Series = {Cahiers du Centre de Logique},
        number = 8,
        Title = {The {Curry-Howard} Isomorphism},
        Year = 1995}

@book{curry;feys58,
        Address = {Amsterdam},
        Author = {Haskell B. Curry and Robert Feys},
        Key = {curry-howard isomorphism, type theory, logic},
        Publisher = {North-Holland},
        Title = {Combinatory Logic},
        Volume = 1,
        Year = 1958}
\end{filecontents}

\usepackage[
        style=authoryear,
        backend=biber,
]{biblatex}
\addbibresource{ref.bib}

\begin{document}
\chapter{Chapter one}
\begin{refsection}

\cite{curry;feys58}

\printbibliography
\end{refsection}
\chapter{Chapter two}

\begin{refsection}

\cite{curry;feys95}

\printbibliography
\end{refsection}
\printbibheading 

\printbibliography[section=1,heading=subbibliography]
\printbibliography[section=2,heading=subbibliography] 


\printbibliography
\end{document}

I would like to see a bibliography that prints all cited items so that I can find duplicates with different cite keys and so on. Otherwise some tool or chain of tools that extracts me the bibtex items that are actually used including crossrefs would be great.

0

1 Answer 1

2

refsections are kept completely separate from each other, so there is no chance of printing a combined bibliography of different refsections (sensibly) unless you completely reimplement large bits of how \printbibliography or refsections work.

For a one-off sanity check the simplest solution is to replace all refsections by refsegments, change all chapter bibliographies from \printbibliography to

\printbibliography[segment=\therefsegment]

and print the global bibliography with \printbibliography.

\documentclass{scrbook}

\usepackage[
        style=authoryear,
        backend=biber,
]{biblatex}


\begin{filecontents}{\jobname.bib}
@book{degroote2000a,
  Address   = {Louvain-la-neuve, Belgium},
  Editor    = {de Groote, Philippe},
  Publisher = {Academia},
  Series    = {Cahiers du Centre de Logique},
  number    = 8,
  Title     = {Test item The {Curry-Howard} Isomorphism},
  Year      = 2000,
}
@incollection{curry;feys95,
  Author    = {Haskell B. Curry and Robert Feys},
  Booktitle = {The {Curry-Howard} Isomorphism},
  Crossref  = {degroote95a},
  Key       = {curry-howard isomorphism, logic, type theory},
  Pages     = {9--13},
  Title     = {The Basic Theory of Functionality. Analogies with Propositional Algebra},
}
@book{degroote95a,
  Address   = {Louvain-la-neuve, Belgium},
  Annote    = {13.7.03},
  Editor    = {de Groote, Philippe},
  Key       = {curry-howard isomorphism, logic, type theory},
  Publisher = {Academia},
  Series    = {Cahiers du Centre de Logique},
  number    = 8,
  Title     = {The {Curry-Howard} Isomorphism},
  Year      = 1995,
}
@book{curry;feys58,
  Address   = {Amsterdam},
  Author    = {Haskell B. Curry and Robert Feys},
  Key       = {curry-howard isomorphism, type theory, logic},
  Publisher = {North-Holland},
  Title     = {Combinatory Logic},
  Volume    = 1,
  Year      = 1958,
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\chapter{Chapter one}
\begin{refsegment}

\cite{curry;feys58}

\printbibliography[segment=\therefsegment]
\end{refsegment}
\chapter{Chapter two}

\begin{refsegment}

\cite{curry;feys95}

\printbibliography[segment=\therefsegment]
\end{refsegment}

\printbibliography
\end{document}

Complete bibliography with two entries

If you like you can force crossref'd entries to appear in the bibliography by (temporarily) adding mincrossrefs=1, to the biblatex loading options.

Keep in mind, though, that this may result in subtly different results than the original refsection setup when it comes to disambiguation. My standard example from biblatex-examples.bib is \autocite{knuth:ct:b} in chapter 1 and \autocite{knuth:ct:c} in chapter 2. With refsections where chapter 1 and 2 are separate both citations will show as "Knuth 1986", but with refsegments you get "Knuth 1886a" and "Knuth 1986b". That's probably not an issue and may even be a good thing if you are proof-reading for duplicate entries, but it something to keep in mind in case one needs something like this in production.


Biber can almost get you there with

 biber --output_format=bibtex <documentname>.bcf -O citedbibentries.bib

but that does not automatically add crossref entries to the .bib file. (I guess that's what you mention in the question, but it might still be interesting for people with a similar goal.) If you are interested in getting the crossref'd entries into the .bib you can always open an issue at https://github.com/plk/biber/issues and ask for that.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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