Beamer:如何提醒被覆盖(未被覆盖)的内容

Beamer:如何提醒被覆盖(未被覆盖)的内容

我在第一张幻灯片上有一个简单的嵌套列表。我想“覆盖”(使透明)大多数项目并在第二张幻灯片上“提醒”其中一些项目。有没有一种简单的方法可以做到这一点,而无需为所有项目指定覆盖?

我的尝试

\documentclass{beamer}

\setbeamercovered{transparent}

\begin{document}

\begin{frame}
    \uncover<1>{
    \begin{itemize}
        \item Item 1
        \begin{itemize}
            \item<alert@2> Subitem 1
        \end{itemize}
        \item Item 2
        \item Item 3
        \begin{enumerate}
            \item Subitem 1
            \item<alert@2> Subitem 2
        \end{enumerate}
    \end{itemize}
    }
    \visible<2->{Text for slide 2}
\end{frame}

\end{document}

第二张幻灯片如下:

第二张幻灯片

但是,我希望警报项不透明。这种方法只需进行最小的修改即可实现吗?我宁愿不为每个单独的项目指定覆盖。

答案1

您可以像这样发现警告文本:

\documentclass{beamer}

\setbeamercovered{transparent}

\makeatletter

\setbeamertemplate{alerted text begin}{%
  \begingroup
  \beamer@smuggle{%
  \csname beamer@doafter\the\beamer@coveringdepth\endcsname
  \global\advance\beamer@coveringdepth by -1\relax
  }%
  \setbeamercolor{local structure}{parent=alerted text}%
  \setbeamercolor{item}{fg=alerted text.fg}%
}
\setbeamertemplate{alerted text end}{%
  \endgroup
}
\makeatother

\begin{document}

\begin{frame}
    \begin{itemize}[<1>]
        \item Item 1
        \begin{itemize}
            \item<alert@2> Subitem 1
        \end{itemize}
        \item Item 2
        \item Item 3
        \begin{enumerate}
            \item Subitem 1
            \item<alert@2> Subitem 2
        \end{enumerate}
    \end{itemize}
    \visible<2->{Text for slide 2}
\end{frame}

\end{document}

在此处输入图片描述

相关内容