我用它来做演示。幻灯片上beamer
有一个环境。为此(可能还有更多) ,我想要以下行为:itemize
itemize
- 突出显示我正在谈论的项目(例如,粗体)
- 将我已经讨论过的项目变灰(例如,
{\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}