假设我制作了一个 Beamer 演示文稿并想将其打印出来。有没有一种好的方法可以让 Beamer 忽略暂停,这样我就不会得到很多包含重复信息的页面?
当然,有些事情可以通过查找和替换来实现,但如果存在的话,我更喜欢更复杂的解决方案。
答案1
使用handout
模式:
\documentclass[handout]{beamer}
它将每个框架折叠成一页。有时它的折叠方法需要进行一些微调,但一般来说没问题。有关微调的更多信息,请阅读 beamer 用户指南中有关模式特定的说明。正如 lockstep 所说,它还设置了一些其他默认设置,例如删除导航符号(毕竟,这在讲义版本上没有意义)。所有这些更改都是可自定义的。
投影仪用户指南中要阅读的部分位于第 IV 部分(创建支持材料),特别是第 21 节(创建讲义和讲义)。第 21.3 节详细介绍了如何使用模式规范。
包括米凯尔此链接这个问题在 MathOverflow 上的一个版本。当我回答了这个问题时,我认为将与 TeX 相关的内容保留在这里而不是那里是好的,我将我的答案复制到下面,并做了很小的修改,以处理基本答案的变体。
使用 pgfpages 包(来自 pgf/TikZ 元包)将其打印为 4 页。如果您想区分页面,请不要更改背景颜色(浪费墨水),而是使用 pgfpages 在每个框架周围添加边框(这不是标准页面类型声明之一,但这并不难,如果有人需要,我可以提供我的)。
可以更改输出类型(在 beamer、handout、trans 或 article 之间),而无需修改文件。诀窍是将主文档放在一个文件中,
geometry.tex
例如没有documentclass 声明。然后,您只需使用 documentclass 声明即可为每种类型创建一个新文件。例如,geometry.beamer.tex
可以包含:\documentclass[12pt,t,xcolor=dvipsnames,ignorenonframetext]{beamer} \input{geometry.tex}
虽然
geometry.handout.tex
可能包含\documentclass[12pt,xcolor=dvipsname,ignorenonframetext,handout,% notes=only% ]{beamer} \input{geometry.tex}
并且
geometry.article.tex
可能是\documentclass[a4paper,10pt]{article} \usepackage[envcountsect]{beamerarticle} \setjobnamebeamerversion{geometry.beamer} \input{geometry.tex}
这不仅可以确保您始终编译文档的正确版本,而且意味着如果您使用版本控制系统,那么它不会因为您更改输出类型而一直抱怨您修改了文件。
如果您精通 beamer 和 TeX,您可以更进一步。我使用 beamer 进行讲座,这意味着一个文件包含将近 30 个讲座的 beamer 版本和讲义版本。要生成给定讲座的给定版本,我需要有一种方式告诉 TeX 我想要什么。我可以有 60 个单独的文件,每个文件都有上述的变体,但我发现一种更简单的方法是让 TeX 检查作业名称以确定这一点。然后我只需要有 60 个指向主文件的符号链接(我可以用一个命令创建所有 60 个符号链接
zsh
)。也就是说,lecture.beamer.2009-11-19.tex
是一个符号链接lectures.tex
,当我在其上运行 LaTeX 时,我会以 beamer 格式获得明天的讲座(好吧,如果我已经编写了它,我会这样做)。同样,如果有人感兴趣,我很乐意分享此代码。
答案2
添加handout
类选项:
\documentclass[handout]{beamer}
请注意,这也会删除导航符号,这对您的讲义来说是一件好事。
答案3
课程选项讲义将删除暂停,并让你每次实际框架环境。
有关该主题的更多信息,另请参阅: https://mathoverflow.net/questions/5893/beamer-printout
答案4
\documentclass[handout]{beamer}
没问题,但无法将其导入 lyx-latex 前言。(错误:documentclass 已定义,Lyx 2.0.5.1)。我最后用了一个 shell 脚本,它解决了这个问题
lyx --force-overwrite --export pdflatex file.lyx
sed -i 's/\\documentclass\[/\\documentclass\[handout,/' file.tex
pdflatex file.tex