# Beamer margins in bibliographies

In beamer I am using this code:

\begin{frame}[allowframebreaks]
\frametitle{REFERENCES}
\printbibliography
\end{frame}


to produce a bibliography that will span multiple slide pages (frames). All of this works well, except the left and right margins are way to the end of the frame. How can I bring those doggies back home?

• You should definitely reconsider using a biblography in a talk (especially when it's multiple pages long). It's a bunch of information thrown on the wall that nobody is interested in at that point. However, it makes sense for a version that is being published after the talk. – Marco Feb 29 '12 at 17:48
• @Marco: Did the OP mention anywhere that this is for a talk? It might as well be a 600 slides university course, for which a (multiple pages) bibliography would be more than appropriate. – Daniel Mar 15 '12 at 20:07

I had the same problem today, and here is my simple solution: I just define a single column using the "columns" environment. By default, Beamer will put that column in the center of the page, so this should take care of both margins.

\begin{frame}[allowframebreaks]{References}
\begin{columns}
\column{0.85\paperwidth}
\printbibliography
\end{columns}
\end{frame}


It's hard to tell what's going wrong without a MWE, but the narrow left margin might be due to the fact that your biblatex style doesn't account for beamer bibliography labels. This is the case for any standard style other than the numeric and alphabetic variants.

To fix this problem and increase the right margin, you can redefine the bibliography environment in your preamble.

\defbibenvironment{bibliography}
{\list{}
{\settowidth{\labelwidth}{\usebeamertemplate{bibliography item}}%
\setlength{\leftmargin}{\labelwidth}%
\setlength{\rightmargin}{\labelwidth}%
\setlength{\labelsep}{\biblabelsep}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item}


With styles that already print labels in the bibliography, the text beamer template is preferable:

\setbeamertemplate{bibliography item}[text]


Under any document class, biblatex increases the left margin to accommodate the widest label among all entries represented in the bbl file. This rule holds regardless of whether or not the entry with the widest label is printed in the bibliography.

Other beamer templates make any numeric or alphabetic citation labels rather meaningless, unless you edit the style to print the labels with the bibliography items. In any case the label width needs to be adjusted. This can be done by adding the following patch to your preamble.

\makeatletter
\pretocmd{\blx@env@bibliography}
{\settowidth{\labelnumberwidth}{\usebeamertemplate{bibliography item}}%
\settowidth{\labelalphawidth}{\usebeamertemplate{bibliography item}}}{}{}
\makeatother