创建两个版本的幻灯片

创建两个版本的幻灯片

我使用 Beamer 为我的课程准备演讲幻灯片。这个解决方案在经历了最初的痛苦(远远超过 Keynote)之后,效果很好,因为它允许以相当简单的方式重复使用幻灯片。我在课程的每次运行中都会进行微小的改进,幻灯片也逐渐变得相当好。

我使用 '''\lecture{}{}''' 和 '''\appendix''' 与 '''\includeonlylecture''' 结合来分离一个学期内课程(称之为课程 A)中的各个讲座。

现在,我下学期要教另一门课程(称之为课程 B),这门课程与我有幻灯片的课程有近 65% 的重叠。通常,我会为该课程开始制作新的幻灯片,并将其视为一门单独的课程,值得制作一组单独的幻灯片。

我不想这样做。原因:我将在未来几年内反复教授课程 A 和 B。这两门课程在逻辑上讲授相同的内容,但各自的重点不同,需要不同的示例,并且共同部分的数学略有不同。这两门课程很有可能在几年后合并为一门共同的第一门课程,随后是两门单独的课程作为后续课程。因此,考虑到协同作用,我需要一种不同的做事方式。

我对此的设想是 - 我可以定义一个课程代码驱动的“模式”(不是演示文稿与讲义,就像 beamer 中内置的那样,而是演示文稿 A 与演示文稿 B),它将被定义为通用幻灯片组中的全局模式,但只需选择其中一个(例如,使用虚构的 '''\selectcourse{X}''' 指令),我就可以从一个幻灯片组中教授两门课程。请注意 - 不仅仅是幻灯片不同,甚至同一张幻灯片的某些部分在课程 A 和 B 之间也可能略有不同。我想要一个可切换的新环境,可以定义为 \if{A}\then{1}\elseif{B}{2} 等。

我可以定义一个新环境并自行完成。我想问的是,beamer 是否有一组内置的原语,可以让我立即完成这项工作,而不用重新发明轮子?

答案1

您可以使用该beameraudience包:

\documentclass{beamer}
\usepackage[
audience=coursea
%audience=courseb
]{beameraudience}

\begin{document}

\begin{frame}
    frame for both
  
  \showcontentfor{coursea}{only for a}
  
  \showcontentfor{courseb}{only for b}
\end{frame} 

\justfor{coursea}{  
\begin{frame}
    only for a
\end{frame} 
}

\justfor{courseb}{  
\begin{frame}
    only for b
\end{frame} 
}
    
\end{document}

相关内容