如何提取 beamer 中所有帧标题的列表?

如何提取 beamer 中所有帧标题的列表?

这听起来可能类似于关于生成“框架列表”的其他问题但我的目标不同:虽然这些问题试图在演示文稿本身中生成“帧列表”,但我只想提取列表供外部使用。特别是,我想为自己准备一份小的打印件,可能看起来像这样:

01 <no title>
02 Introduction
03 Introduction
04 Open Issues
...

对我来说,重要的是知道哪个 PDF 页码对应哪个幻灯片标题。我的用例:我想准备大量备份幻灯片。在问答期间,这样的列表可以让我查找某些幻灯片并快速跳转到相应的页码。有没有简单的方法来生成这样的列表?(原始文本就足够了)

答案1

这只是一个半解决方案,因为它只会将那些具有 的帧写入外部文件frametitle。如果所有幻灯片(标题幻灯片除外)都有标题,则只需将幻灯片编号加 1 即可获得 PDF 页面到帧标题的映射。但是,如果某些幻灯片没有标题,则会出现空白。

在序言中我使用了这个:

\newwrite\tempfile
\immediate\openout\tempfile=slidelist.txt

\newcounter{SlideNumber}

\addtobeamertemplate{frametitle}{}{%
  \stepcounter{SlideNumber}
  \immediate\write\tempfile{\theSlideNumber [\insertframenumber] \insertframetitle}
}

在文档结束时必须关闭文件:

\immediate\closeout\tempfile

slidelist.txt这将生成如下文件:

1[2] {Introduction}
2[2] {Introduction}
3[2] {Introduction}
4[3] {Open Issues}
5[3] {Open Issues}

左侧的数字是一个简单的计数器(您可以将其初始化为 1 以表示标题幻灯片),对应于 PDF 中生成的单个页面。第二个数字对应于显示的帧编号,其中考虑了增量幻灯片。

相关内容