Beamer:突出显示列表中的当前项目

Beamer:突出显示列表中的当前项目

我用它来做演示。幻灯片上beamer有一个环境。为此(可能还有更多) ,我想要以下行为:itemizeitemize

  • 突出显示我正在谈论的项目(例如,粗体)
  • 将我已经讨论过的项目变灰(例如,{\color{gray} old item}
  • 我稍后要讨论的项目目前还看不到
  • 没有代码重复(例如,写两次句子)

我开始的是

\begin{itemize}
    \item<+> My first point
    \item<+> My second point
    \item<+> My third point
    \item<+> And my last point
\end{itemize}

我尝试通过用户定义的命令来完成此操作,例如

\newcommand{\grayout}[1]{
    \item<+> #1
    \item<+-> {\color{gray} #1}
}
\begin{itemize}
    \grayout{My first item}
    ...
\end{itemize}

但效果并不好。我该如何解决这个问题?

答案1

  • 突出显示我正在谈论的项目(例如,粗体)

\item<alert@+>可以通过使用或自动完成\begin{itemize}[<alert@+>]

  • 我稍后要讨论的项目目前还看不到

\begin{itemize}[<+->]

  • 将我已经讨论过的项目变灰(例如,用{\color{gray} old item}

这比较棘手。通常这需要类似https://tex.stackexchange.com/a/288050/36296,但由于您的项目在突出显示之前不可见,因此您可以简单地将颜色更改为灰色。


\documentclass{beamer}

\begin{document}

\begin{frame}

{
    \setbeamercolor{itemize/enumerate body}{fg=gray}
    \begin{itemize}[<+-|alert@+>]
        \item My first point
        \item My second point
        \item My third point
        \item And my last point
    \end{itemize}
}
\end{frame} 

\end{document}

答案2

\documentclass{beamer}
\setbeamercovered{transparent=50}
\begin{document}

\begin{frame}{Test}
\begin{itemize}[<+-|alert@+>]
    \item My first point
    \item My second point
    \item My third point
    \item And my last point
\end{itemize}   
\end{frame} 

\end{document}

相关内容