[Tex/LaTex] biblatex/multicol: Incorrect vertical space after bibliography heading

biblatexmulticolsectioningspacing

I'm trying to typeset a bibliography inside a multicols environment, but with the heading as a single column (using multicols' optional argument). I've noticed that the vertical space between the heading and the actual bibliography is larger than with a bibliography typeset in one-column mode. On closer inspection, it seems that the spacing after headings is also somewhat larger for "normal" text when using multicols, but that the combination biblatex/multicol results in even more additional vertical space.

The multicol documentation states on p. 2 that \addvspace is used for the spacing before and after the multicols environment (the length is \multicolsep). This seems to be consistent with the observed behaviour after "normal" headings because the default value of \multicolsep (12pt) is larger than the vertical space after sections in the standard classes (2.3ex, i.e. about 9.9pt for a fontsize of 10pt). My current workaround is to set \multicolsep to 0pt, but this will negatively affect in-text multicols environments. So I'd like to know what is the cause of the "on-top" additional vertical space after bibliography headings.

\documentclass{article}

\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{biblatex}
\defbibheading{none}{}% for biblatex v<1.5

\usepackage{multicol}

% My current workaround
% \setlength{\multicolsep}{0pt}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\section{First Section }

\blindtext

\begin{multicols}{2}[\section{Second Section}]
\blindtext
\end{multicols}

\printbibliography[title={First Bibliography}]

\begin{multicols}{2}[{\printbibheading[title={Second Bibliography}]}]
\printbibliography[heading=none]
\end{multicols}

\end{document}

Best Answer

Apart from following the good advice by henrique, you can say

\begingroup\setlength{\multicolsep}{0pt}
\begin{multicols}{2}[{\printbibheading[title={Second Bibliography}]}]
\printbibliography[heading=none]
\end{multicols}\endgroup

or, probably, define a personal command:

\newcommand\twocolprintbibliography[2][0pt]{%
  \begingroup\setlength{\multicolsep}{#1}%
  \begin{multicols}{2}[{\printbibheading[title={#2}]}]
  \printbibliography[heading=none]
  \end{multicols}\endgroup}

and call it as

\twocolprintbibliography{Second Bibliography}
\twocolprintbibliography[3pt]{Second Bibliography}

which provides for a much clearer input. The optional argument is to fine tune the spacing in case of need.

Related Question