Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Is it possible to tell biblatex to never split a bibliography entry across two pages? Ideally this should work for both \cite and \fullcite.

share|improve this question

2 Answers 2

up vote 12 down vote accepted

biblatex executes \bibsetup at the start of the bibliography; its usual definition is

\interlinepenalty=5000\relax
\widowpenalty=10000\relax
\clubpenalty=10000\relax
\raggedbottom
\frenchspacing
\biburlsetup

So you can do

\patchcmd{\bibsetup}{\interlinepenalty=5000}{\interlinepenalty=10000}{}{}

and this will inhibit page breaks inside paragraphs.

The utility \patchcmd requires, in general, to load the etoolbox package, but biblatex already loads it.

share|improve this answer
    
That's more what I was looking for, thanks. Do I need to load a package for this to to work? –  Matthias Feb 3 '12 at 12:36
2  
Do these affect both the "bibliography" and in text citations? I think the question is about in text citations. –  StrongBad Feb 3 '12 at 12:38
    
@Daniel: it's about both :-), but primarily the "bibliography", I don't using that many in-text citaitons, so there I can manually put some \pagebreaks –  Matthias Feb 3 '12 at 12:43
    
@egreg: I added a clarification on the required etoolbox package. Please approve my edit :) –  Matthias Feb 7 '12 at 10:49
1  
@Matthias The clarification was good and partly I included it, but biblatex already loads etoolbox. –  egreg Feb 7 '12 at 11:07

More a kludge than a true automagic solution:

As BibTeX is a seperate executable that writes the LaTeX code that typesets the bibliography in a .bbl file, which then again is read into LaTeX in the next run, you can simply manually insert a \pagebreak between two \bibitems in the .bbl file to make sure the second one is moved completely to the next page.

As BibTeX is not aware of the layout of the page the size of the fonts etc. it cannot decide where to insert such a \pagebreak itself. It might be possible to modify \bibitem to check whether it fits on the current page but that is most likely not a trivial thing to do.

Of course you loose the manually inserted \pagebreaks whenever you have to rerun BibTeX, so it is best to do this at the very end before publishing, when there are no more changes to the bibliography, to avoid doing this over and over again.

share|improve this answer
    
But then I would need to edit the bbl file everytime I change/add things to my bibliography? –  Matthias Feb 3 '12 at 11:02
    
@Matthias True. As I wrote, it is a kludge. If you do it at the very end before publishing/printing you only have to do it once. –  uli Feb 3 '12 at 11:05
    
I see. Well, this not really practical for me. But thanks anyway! –  Matthias Feb 7 '12 at 10:48

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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