假设我有一个包含 20 张幻灯片的 Beamer 演示文稿,我需要在 5 分钟内用它们制作一张海报。
Beamer 是否可以让幻灯片输出到 a0 大小的 pdf 上的 5x4 网格中?
我不太确定如何做这件事,但我有预感这应该是可行的。有什么想法吗?
答案1
使用 完全可以实现这一点pgfpages
。它没有20 on 1
内置布局(最大的是16 on 1
),但定义一个布局并不难(没有 for 循环有点乏味)。
\documentclass{beamer}
%\url{http://tex.stackexchange.com/q/78041/86}
\usepackage{pgffor}
\usepackage{pgfpages}
\usepackage{pgf}
\pgfpagesdeclarelayout{20 on 1}
{
\edef\pgfpageoptionheight{\the\paperheight}
\edef\pgfpageoptionwidth{\the\paperwidth}
\edef\pgfpageoptionborder{0pt}
}
{
\pgfpagesphysicalpageoptions
{
logical pages=20,
physical height=\pgfpageoptionheight,
physical width=\pgfpageoptionwidth
}
\def\pgfpgtemp{}
\foreach \i in {1,...,4} {
\foreach \j in {1,...,5} {
\pgfmathtruncatemacro\n{(\i-1)*5 + \j}
\pgfmathsetmacro\ri{1 - (\i - .5)/4}
\pgfmathsetmacro\rj{(\j - .5)/5}
\edef\temp{%
\noexpand\pgfpageslogicalpageoptions{\n}
{
border code=\noexpand\pgfsetlinewidth{2pt}\noexpand\pgfstroke,
border shrink=\noexpand\pgfpageoptionborder,
resized width=.25\noexpand\pgfphysicalwidth,
resized height=.2\noexpand\pgfphysicalheight,
center=\noexpand\pgfpoint{\rj\noexpand\pgfphysicalwidth}{\ri\noexpand\pgfphysicalheight}
}
}
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter\pgfpgtemp\expandafter\expandafter\expandafter{\expandafter\pgfpgtemp\temp}
}
}
\pgfpgtemp
}
\pgfpagesuselayout{20 on 1}[a0paper, border shrink=5mm,landscape]
\begin{document}
\foreach \k in {1,...,20} {
\begin{frame}{Frame \k}
This is frame \k.
It is exciting.
\end{frame}
}
\end{document}