# BibLaTeX not settling down when using multiple styles

I use BibLaTeX with two different bibliography styles, one with author-year style (for publications) and the other one with simple numeric style for online references, but pdfLaTeX never really settles down. The issue is that because of the defernumbers/omitnumbers options I have to run pdflatex/biber/pdflatex/pdflatex to get the numbers right for the numeric ones (basically the references which are in the authoryear style are first not ignored in the numbering, so you need to run pdflatex twice to let BibLaTeX recompute the correct ones), but this last pdflatex run is going to change the width of the text size of the references, and thus might change the page breaks and move other references to other pages, thus requiring a rerun of pdflatex. Which would be perfectly fine if BibLaTeX (using version 2.4 + biber 1.4, but I think I have the same issue with 2.5/1.5 on another computer) hadn't a cycling behavior : one more run of pdfLaTeX changes the numbers back to the wrong ones, and you have to rerun one more time to get the right numbers... which changes the page breaks again, and you're stuck. The following almost-MWE (I had to include the alternative environment & citation command for @online entries to demonstrate the issue, not sure how to shrink it down) exhibits the cycling behavior of the defernumbers/omitnumbers options, which is (I think) the root cause of my issue :

\documentclass{article}

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

\DeclareCiteCommand{\citeonline}[\mkbibbrackets]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{%
\printfield{prefixnumber}%
\printfield{labelnumber}}}
{\multicitedelim}
{\usebibmacro{postnote}}

\defbibenvironment{online}
{\list
{\printtext[labelnumberwidth]{%
\iffieldundef{shorthand}
{\printfield{prefixnumber}%
\printfield{labelnumber}}
{\printfield{shorthand}}}}
{\setlength{\labelwidth}{\labelnumberwidth}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}%
\renewcommand*{\makelabel}[1]{\hss##1}}
{\endlist}
{\item}

\begin{filecontents*}{test.bib}
@article{TehAuthor2013,
author = "TehAuthor",
year = 2013,
journal = "Random Thoughts about science",
title = "Blablabla",
}
@online{TSE2011,
author = "TSE",
year = 2011,
url = "http://tex.stackexchange.com/blabla",
}
\end{filecontents*}
\bibliography{test.bib}

\title{}
\begin{document}

\parencite{TehAuthor2013} \\
\parencite{TSE2011}

\end{document}


Is this a bug worth reporting, or am I doing something very wrong ? (I know the whole alternative environment/subbibliography thing is not very beautiful, but it seems to do the work and I haven't found another way to do it)

-
No, you aren't doing anything wrong; your style is similar to one of the examples from the documentation with multiple sorting schemes thrown in. You can report the bug here: github.com/plk/biblatex/issues. –  Audrey Jan 18 '13 at 23:14
In case the authoryear is used for citation, a workaround would be to use a counter different from labelnumber in the definition of the label in the online list. –  Guido Jan 19 '13 at 10:27
I'm going to need some help in getting a minimal example which displays this behaviour. We have already established on github that it's not about omitnumbers per se, it's the interaction with page breaks which is relevant. The MWE above in fact behaves correctly, always requiring two latex runs to finalise the numbers due to defernumbers and use of the .aux file. –  PLK Jan 21 '13 at 14:44