整个课程均由 Beamer 提供

整个课程均由 Beamer 提供

对于跨多个会议的演示,Beamer 提供什么支持(如果有的话)。例如,一门大学课程有 30 个小时左右的讲座时间,每个讲座有 20 帧左右,总共 600 张幻灯片。

Beamer 似乎没有该\chapter命令,而且它似乎忽略了该\part命令。

答案1

我用beamer作为我的讲课笔记。一门课程通常是一个学期,有 28 堂课,每堂 2 小时。由于我将整个讲座作为演示文稿,因此典型的讲座在 PDF 中可以达到 100 页(可能 20 帧)。我将一门课程的所有讲座保存在一个文件中,以方便保持一致性等。

Beamer 提供“讲座”来分解课程。这些内容在手册的第 10.4 节中有详细说明。您可以使用命令\AtBeginLecture插入讲座标题页。

主要问题是,在正常情况下,TeX 仍会处理整个文档,但仅输出与该讲座相对应的帧。对我来说,这有点荒谬,因为我有很多东西,其中一些对处理来说有点繁重。对于相关的讲座来说还好,但对于所有其他讲座来说就不行了。所以我做了一些黑客攻击,想出了一个系统,让 beamer 跳过当前讲座中没有的所有内容。这个想法是,某些 beamer\mode命令会使 TeX 进入吞噬状态,因此对于我们不想要的讲座,我们会进入该状态。我们只是在每次声明讲座时重新出现以检查它是否是我们想要的讲座。

在我的讲座 TeX 文件中,每个讲座都以以下内容开始:

\mode
<all>
\lecture{Complex Numbers}{2012-01-10}

前两行使其退出吞噬模式。在我的一个个人包中,我有以下代码:

  \g@addbefore@macro\beamer@atbeginlecture{
    \begin{frame}[plain]
    \LectureTitlePage
    \end{frame}
    \lecturemode
  \newtheoremstyle{my@style@rmk}{3pt}{3pt}{\upshape}{}{\bfseries}{}{.5em}{}
  \newtheoremstyle{my@style@def}{3pt}{3pt}{\upshape}{}{\bfseries}{}{.5em}{}
  \newtheoremstyle{my@style@thm}{3pt}{3pt}{\upshape}{}{\bfseries}{}{.5em}{}
  }

这将为每个讲座添加一个标题页,执行名为 的命令\lecturemode,并正确设置定理、定义和注释(不记得为什么我在这里这样做,而不是在文档开头)。讲座标题页命令定义为:

\newcommand{\LectureTitlePage}{%
    \setcounter{framenumber}{0}
    \global\def\inserttitle{{Lecture \insertlecturenumber: \insertlecture}}
    \global\def\insertshorttitle{{Lecture \insertlecturenumber: \insertlecture}}
    \global\def\insertdate{\lecturedate}
    \global\def\insertshortdate{\lecturedate}
  \titlepage
}

因此,它会合并正常的投影仪标题页,将参数设置为适合讲座的正确值。这意味着我有一个整个课程的标题页和一个特定讲座的讲座标题页。(这\lecturedate也是我的宏之一。因此,如果您剪切并粘贴上述内容,您也需要提供该内容。)

\lecturemode是关键。它的定义是:

\newcommand{\lecturemode}{%
    \ifbeamer@inlecture
    \else
      \expandafter\mode\expandafter<\expandafter n\expandafter o\expandafter n\expandafter e\expandafter >\fi
}

(我在本网站出现之前就写了这篇文章。我相信有更好的方法可以做到这一点。)\ifbeamer@inlecture如果\lecture命令与我们声明感兴趣的讲座相匹配,则为真。所以如果我们不感兴趣,我们就会进入狼吞虎咽模式。如果感兴趣,我们就会照常进行。

有了这个(我希望我已经复制了代码的所有相关部分!它分散在几个地方),将我的所有讲义保存在一个文件中不仅变得可行,而且可以节省大量时间和精力。

更糟糕的是,我的文件被调用了lectures.tex,但我绝不直接处理。相反,我有一堆看起来像的符号链接lecture.beamer.2012-04-24.tex,当我处理它们时,我有一些\jobname黑客行为(在我的答案通过 makefile 更改 LaTeX 标头) 查看它,看到beamer和,2012-04-24并生成beamer与日期相匹配的讲座版本2012-04-24

你可以通过查看教学(死链接,修复后删除此括号。sig. thymaro)我网站的一部分。诚然,这并没有显示出很多内容生产这些注释,但它至少表明上述方案是有效的。

相关内容