[Tex/LaTex] beamer: Scaling document icons in the bibliography

beamerbibliographiesscaling

Bibliographies can be typeset in a smaller font size by redefining the \bibfont macro (if one uses natbib or biblatex) or by simply appending the definition of \thebibliography. This also works with the beamer class; however, switching to a smaller font size leaves beamer's document icons at the start of each bibitem unchanged. How can I scale those icons down to, say, 75% of their original size?

(From Removing document icons from a Bibtex bibliography in Beamer, I gather that an answer is likely to involve some clever use of \setbeamertemplate{bibliography item}.)

\documentclass{beamer}

\usepackage{etoolbox}
\apptocmd{\thebibliography}{\scriptsize}{}{}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author = {Blinder, Alan S.},
  year = {1974},
  title = {The economics of brushing teeth},
  journal = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\begin{document}

\nocite{*}

\bibliographystyle{plain}

\begin{frame}
\bibliography{\jobname}
\end{frame}

\end{document}

enter image description here

Best Answer

Bibliography items are inserted using \pgfuseimage. You could redefine this before the bibliography and scale it the way you want to using commands from graphicx (included by beamer by default:

\renewcommand{\pgfuseimage}[1]{\includegraphics[scale=.75]{#1}}

The above scales the image to 75% of its original size.

This should be issued outside the frame environment, before calling \bibliography. Here's your complete minimal example:

enter image description here

\documentclass{beamer}% http://ctan.org/pkg/beamer

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\apptocmd{\thebibliography}{\scriptsize}{}{}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author = {Blinder, Alan S.},
  year = {1974},
  title = {The economics of brushing teeth},
  journal = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\begin{document}

\nocite{*}

\bibliographystyle{plain}

\renewcommand{\pgfuseimage}[1]{\scalebox{.75}{\includegraphics{#1}}}

\begin{frame}
\bibliography{\jobname}
\end{frame}

\end{document}
Related Question