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.

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?

share|improve this question
3  
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
1  
@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
add comment

2 Answers 2

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}%
      \addtolength{\leftmargin}{\labelsep}%
      \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
share|improve this answer
add comment

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}
share|improve this answer
add comment

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.