我想生成一个在同一页上有 6 个框架的 PDF 文档。我的意思是,我有一个 Beamer 演示文稿,每张幻灯片上都有一个框架,我想得到如下内容:http://alumni.media.mit.edu/~maov/classes/vision09/lect/09_Image_Filtering_Edge_Detection_09.pdf
有可能吗?有什么想法从哪里开始吗?
答案1
您可以先定义一个“6 对 1”pgf 页面布局,然后在模式中激活它handout
。我使用下面的代码——我可能从某个地方修改过它,但我记不清了。也许您可以根据自己的需要进一步微调它:
\documentclass[handout]{beamer}
\usetheme{Dresden}
\usepackage{pgfpages}
\pgfpagesdeclarelayout{6 on 1}
{
\edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default
\edef\pgfpageoptionwidth{\the\paperheight}
\def\pgfpageoptionborder{0pt}
\def\pgfpageoptionfirstshipout{1}
}
{
\pgfpagesphysicalpageoptions
{%
logical pages=6,%
physical height=\pgfpageoptionheight,%
physical width=\pgfpageoptionwidth,%
current logical shipout=\pgfpageoptionfirstshipout%
}
\ifdim\paperheight>\paperwidth\relax
% put side-by-side
\pgfpageslogicalpageoptions{1}
{%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.1667\pgfphysicalwidth}{.25\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{3}
{%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.5\pgfphysicalwidth}{.25\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{5}
{%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.8333\pgfphysicalwidth}{.25\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{2}
{%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.1667\pgfphysicalwidth}{.75\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{4}
{%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.5\pgfphysicalwidth}{.75\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{6}
{%
border shrink=\pgfpageoptionborder,%
resized width=.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.8333\pgfphysicalwidth}{.75\pgfphysicalheight}%
}%
\else
% stack on top of one another
\pgfpageslogicalpageoptions{1}
{%
border shrink=\pgfpageoptionborder,%
resized width=0.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.25\pgfphysicalwidth}{.8333\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{3}
{%
border shrink=\pgfpageoptionborder,%
resized width=0.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.25\pgfphysicalwidth}{.5\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{5}
{%
border shrink=\pgfpageoptionborder,%
resized width=0.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.25\pgfphysicalwidth}{.1667\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{2}
{%
border shrink=\pgfpageoptionborder,%
resized width=0.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.8333\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{4}
{%
border shrink=\pgfpageoptionborder,%
resized width=0.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.5\pgfphysicalheight}%
}%
\pgfpageslogicalpageoptions{6}
{%
border shrink=\pgfpageoptionborder,%
resized width=0.5\pgfphysicalwidth,%
resized height=\pgfphysicalheight,%
center=\pgfpoint{.75\pgfphysicalwidth}{.1667\pgfphysicalheight}%
}%
\fi
}
\mode<handout>{
\pgfpagesuselayout{6 on 1}[a4paper, border shrink=8mm]
\pgfpageslogicalpageoptions{1}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{2}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{3}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{4}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{5}{border code=\pgfusepath{stroke}}
\pgfpageslogicalpageoptions{6}{border code=\pgfusepath{stroke}}
}
\begin{document}
\begin{frame}{First}
lala
\end{frame}
\begin{frame}{Second}
lala
\end{frame}
\begin{frame}{Third}
lala
\end{frame}
\begin{frame}{Fourth}
lala
\end{frame}
\begin{frame}{Fifth}
lala
\end{frame}
\begin{frame}{Sixth}
lala
\end{frame}
\end{document}
答案2
如果您不介意使用第二个文件来创建文档,则可以使用类似下面的方法。这假设这是您在模式mypresentation-h.pdf
下创建的 beamer 演示文稿。handout
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\includepdfset{pages=-,nup=2x3,frame,noautoscale=false,delta=5mm 5mm,pagecommand={\thispagestyle{plain}}}% adjust the pagestyle etc. as desired
\geometry{vscale=.75,hscale=.925}% if you are not using A4, you might need to adjust this to get things looking right
\usepackage{parskip}
\begin{document}
\includepdf[scale=.9]{mypresentation-h.pdf}% beamer presentation created in handout mode (to flatten slides). Also consider using a black and white theme if printing or copying greyscale
\end{document}
答案3
布局6 on 1
现在包含在 3.1 版或更高版本的 pgf 中(可从https://sourceforge.net/p/pgf/git/ci/master/tree/)
有了这个,LianTze Lim 的回答可以简化为:
\documentclass[handout]{beamer}
\usetheme{Dresden}
\usepackage{pgfpages}
\mode<handout>{
\pgfpagesuselayout{6 on 1}[a4paper, border shrink=8mm]
}
\begin{document}
\begin{frame}{First}
lala
\end{frame}
\begin{frame}{Second}
lala
\end{frame}
\begin{frame}{Third}
lala
\end{frame}
\begin{frame}{Fourth}
lala
\end{frame}
\begin{frame}{Fifth}
lala
\end{frame}
\begin{frame}{Sixth}
lala
\end{frame}
\end{document}