![Beamer:使用 shrink 参数更改参考文献的字体大小会导致错误](https://linux22.com/image/250222/Beamer%EF%BC%9A%E4%BD%BF%E7%94%A8%20shrink%20%E5%8F%82%E6%95%B0%E6%9B%B4%E6%94%B9%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E7%9A%84%E5%AD%97%E4%BD%93%E5%A4%A7%E5%B0%8F%E4%BC%9A%E5%AF%BC%E8%87%B4%E9%94%99%E8%AF%AF%20.png)
我尝试使用 frame 参数的 shrink 来更改引用的字体大小。但是,如果我运行此代码:
\documentclass{beamer}
\usepackage[american]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[style=apa, backend=biber,doi,url]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\begin{filecontents}{literature.bib}
@article{foobar,
Author = {An Author},
Journal = {A Journal},
Pages = {1--2},
Title = {Some title},
Volume = {1},
Year = {1900}
}
\end{filecontents}
\addbibresource{literature.bib}
\begin{document}
\frame{
\textcite{foobar}
}
\frame[shrink=50]{
\frametitle{References}
\printbibliography
}
\end{document}
我收到以下错误:
! Arithmetic overflow.
\beamer@shrinkframebox ...\@tempdimc by\@tempcnta
\relax \ifdim \@tempdimc >...
l.32 }
?
! Emergency stop.
\beamer@shrinkframebox ...\@tempdimc by\@tempcnta
\relax \ifdim \@tempdimc >...
l.32 }
如果我删除 shrink 参数,它就会起作用。
我在 Debian Squeeze 上使用 TexLive 2011,并且更新了我的所有软件包;)。
答案1
我认为\renewcommand*{\bibfont}{\scriptsize}
会有所帮助!;)
答案2
我没有使用 biblatex,André 的答案对我来说不起作用。我设法通过以下方式实现结果:
\setbeamerfont{bibliography item}{size=\footnotesize}
\setbeamerfont{bibliography entry author}{size=\footnotesize}
\setbeamerfont{bibliography entry title}{size=\footnotesize}
\setbeamerfont{bibliography entry location}{size=\footnotesize}
\setbeamerfont{bibliography entry note}{size=\footnotesize}
以防万一,我正在使用metropolis
主题。
答案3
我尝试了 André 的答案,但没有成功。如果您需要快速解决方案,我找到了一种解决方法:
编译您的 beamer 文档,包括参考书目(引用/格式样式等的正确设置)。
打开
*.bbl
文件并复制其所有内容(\begin{thebibliography} ...\end{thebibliography}
)。将其粘贴到
\bibliograpy{yourbibfile}
命令上。\small
后面放一个标签\begin{thebibliography}
以便缩小字体大小供您参考!
正如我所说,如果你不想大惊小怪的话,这是一种快捷方式。缺点是它对\...cite
文档中的更改(命令)完全没有反应。