2

Using scrbook, I would like to generate several bibliographies with bibunits. Each time, I would like to control manually whether creating a new section or not, whether creating a title etc. In other words, I would like to prevent the putbib command to create any header whatsoever.

So far I only managed that (really without having a clue what I am doing here) by using etoolbox:

After each

\begin{bibunit}

I add

\makeatletter
\patchcmd{\thebibliography}{\bib@heading}{}{}{}
\makeatother

which seems to do the trick (but again, I really have no idea what I am doing).

My quesitons: Is this code reasonably sane? Or will it have horrible side effects that I am not aware of? Is there any better way to produce a bibliography without header?

(Sometimes people seem to set the title to \vspace-2ex or whatever, but this will not prevent a pagebreak in the cases the \section* command called by the bibliography creates one)

  • 1
    Regarding your second question, I think many will agree that one (if not the) better way is to switch to biblatex, which allows for multiple bibliographies and very fine-grained control over when, where, and how bibliography headers appear. As for the consequences of your patch, I think you will also lose your 'marks' for the page headers/footers. Any further consequences would likely require looking at scrbook.cls more carefully. – jon Nov 18 '16 at 22:43
  • @jon thanks! I plan to look at biblatex at some stage... – Jakob Nov 18 '16 at 23:13
1

(Sorry in case it is bad style to "answer" your own question, in particular since it is rather a biblatex field report than an answer. But maybe it turns out to be useful for somebody in a similar situation.)

  1. It seems that the solution I used was fine and did not have any other horrible side effects.
  2. However, in the end I ended up switching to biblatex/biber, just as recommended by @jon. I was reluctant to do so in the first place, as it was clear to me I would lose a day or two just to make the transition (which turned out to be the case).

    Just for completeness, in the end I could switch without having to change the bib files at all, but I had to use the options maxbibnames=6 (to prevent too much et.al.), backend=biber (for some reasons bibtex wasn't working well) and, most crucially, safeinputenc (to prevent weird problems eith utf8 inputenc; accordingly biber is called with the switch --output_safecharsset=full).

    Once you manage to get things to work, you end up with a clearly superior system that allows easy additions, which would be a terrible nightmare if not impossible with my old bibunits/bibtex setup, such as:

    • omit all headers using \printbibliography[heading=none]
    • "countdown" lists for the cv, with a defbibenvironment using etaremune and \newrefcontext[sorting=ydnt]
    • Add multiple tags for the same bib-file-entry using the IDS field
    • Select only bib entries that have a certain keyword

So to summarize: If you have any nonstandard bibliography needs (and control over how the bibliography is handled, which is usually not the case when you submit a paper to a journal) I now would also strongly recomment to use biblatex/biber (but you should be aware that you may need a whole day to make the transition work; you do not expect problems such as safeinputenc before they hit you)

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.