在 beamer 中讲义模式下不显示的环境

在 beamer 中讲义模式下不显示的环境

使用 beamer,我想定义一个不以模式显示的环境。我想要这样的环境,因为它为我的文档提供了更好的结构,并且与使用多次handout之类的方法相比,将大量材料放入环境中更容易 。\only<handout:>{...}

我的第一个想法是尝试:

\newenvironment{Lecture}{\actionenv<handout:0>}{\endactionenv}

handout模式下,这完全符合我的要求。在beamer模式下,这在大多数情况下都能很好地工作,但当环境包含应在“较早”幻灯片上显示的材料时,它无法达到我的要求Lecture。例如,考虑:

\documentclass[]{beamer}
\usepackage[]{xparse}
\newenvironment{Lecture}{\actionenv<handout:0>}{\endactionenv}

\begin{document}

  \begin{frame}{A frame}

    First slide

    \pause second slide

    \begin{Lecture}
      \only<1>{First slide..lecture}

      Second slide..lecture

      \pause Third slide..lecture

    \end{Lecture}

    \pause[3]Third slide
  \end{frame}

  \begin{frame}{Working frame}

    First slide

    \pause second slide

      \onslide<1 | handout:0>{First slide..lecture}

      \only<handout:0>{Second slide..lecture}

      \pause[3]\only<handout:0>{Third slide..lecture}

    \pause[3]Third slide
  \end{frame}

\end{document}

得出的结果为:

在此处输入图片描述

请注意,文本“第一张幻灯片..讲座”从未出现 --- 即使在第二张幻灯片上,也应该显示我想要的内容。我尝试过使用以下变体:

  • \newenvironment{Lecture}{\onslide<handout:0>}{}

  • \newenvironment{Lecture}{\only<handout:0>}{}

  • \NewDocumentEnvironment{Lecture}{ d<> }{\IfNoValueTF{#1}{\onslide<1-| handout:0>}{\onslide<#1| handout:0>}}

我所尝试过的一切都没有给我我想要的东西。

有没有办法做到这一点?

答案1

问题不在于您的定义,而在于您对 的使用\pause。注释掉Lecture第一张幻灯片中的环境仍然不会显示\only<1>文本,因为前一个\pause命令阻止了文本的读取。相反,第一个\pause可以用 或类似地替换\onslide<2->{...},后面是\pause

\documentclass[]{beamer}
\usepackage[]{xparse}
\newenvironment{Lecture}{\actionenv<handout:0>}{\endactionenv}

\begin{document}

\begin{frame}{A frame}

  First slide

  \onslide<2->{second slide}

  \begin{Lecture}
    \only<1>{First slide..lecture}

    \pause Second slide..lecture

    \pause Third slide..lecture
  \end{Lecture}

  \pause[3]Third slide
\end{frame}

  \begin{frame}{Working frame}

    First slide

    \pause second slide

      \onslide<1 | handout:0>{First slide..lecture}

      \only<handout:0>{Second slide..lecture}

      \pause[3]\only<handout:0>{Third slide..lecture}

    \pause[3]Third slide
  \end{frame}

\end{document}

讲座幻灯片 1

演讲幻灯片示例

讲义第 1 页

示例讲义页

相关内容