在 beamer 中,我想在嵌套列表中使用警报,以便每行逐行逐步变为红色(即默认警报颜色)。此代码生成我想要的输出:
\documentclass[pdf]{beamer}
\begin{document}
\begin{frame}
\begin{itemize}
\item\alert<+>{Parent 1}
\item\alert<+>{Parent 2}
\begin{itemize}
\item\alert<+>{child 1}
\item\alert<+>{child 2}
\end{itemize}
\item\alert<+>{Parent 3}
\end{itemize}
\end{frame}
\end{document}
但是,上面的代码需要使用\alert<+>{...}
和 每一个\item
。我想使用 来生成此输出,并使用 来规范整个列表\begin{itemize}
。如果没有嵌套列表,则以下内容有效:
\documentclass[pdf]{beamer}
\begin{document}
\begin{frame}
\begin{itemize}[<alert@+>]
\item Parent 1
\item Parent 2
\begin{itemize}[<alert@+>]
\item child 1
\item child 2
\end{itemize}
\item Parent 3
\end{itemize}
\end{frame}
\end{document}
这就产生了 5 张幻灯片,就像我的第一个示例一样。第一张幻灯片是相同的,其中“父母 1”用红色显示。但是,第二张幻灯片中有“父母 2”以及“孩子 1”和“孩子 2”,全部用红色显示。这是我希望表现不同的部分。我希望第二张幻灯片只有红色的“父母 2”,而不是“孩子 1”或“孩子 2”。然后幻灯片 3、4 和 5 将分别用红色显示“孩子 1”、“孩子 2”和“父母 3”,就像两个示例中的情况一样。
我看过类似的问题(例如,这不会突出显示所有子项,但仍会突出显示带有父项的第一个子项,并且需要手动指定幻灯片编号,我想避免这种情况)。我尝试将和 以及和的各种组合[<alert@+>]
放在 中,等等。似乎必须有一种方法可以使用 的默认警报规范一次将每行变为红色,但我尝试过的方法都没有奏效。我可以定义一个新的列表环境(例如“nestedStepwiseAlert”环境),但也没有成功让它工作。\begin{itemize}
\begin{itemize}
.
,
+
\begin{itemize}
答案1
我的解决方案是定义一个新命令\alertitem
来替换\item
。这不是理想的解决方案,因为它需要添加{
和}
来包含每个项目的内容。但这就是解决方案。
\newcommand\alertitem[1]{\alert<+>{\item {#1}}}
代码
\documentclass{beamer}
\begin{document}
\newcommand\alertitem[1]{\alert<+>{\item {#1}}}
\begin{frame}
\begin{itemize}
\alertitem {Parent 1}
\alertitem {Parent 2}
\begin{itemize}
\alertitem {child 1}
\alertitem {child 2}
\end{itemize}
\alertitem {Parent 3}
\end{itemize}
\end{frame}
\end{document}
输出
答案2
投影仪操作alert@
比宏功能更多\alert{...}
(更改项目符号的颜色等)。如果您想要复制\alert{...}
项目的行为,可以创建一个更改颜色的新操作,如下所示:
\documentclass{beamer}
\newenvironment{fooenv}{\alt{\color{alerted text.fg}}{\color{normal text.fg}}}{}
\begin{document}
\begin{frame}
\begin{itemize}[<foo@+>]
\item Parent 1
\item Parent 2
\begin{itemize}
\item child 1
\item child 2
\end{itemize}
\item Parent 3
\end{itemize}
\end{frame}
\end{document}
答案3
另一个解决方案是在句[<+-| alert@+>]
后添加\begin{itemize}
。
一个例子是这样的:
\documentclass{beamer}
\begin{document}
\section{Introduction}
\begin{frame}{Title}
\begin{itemize}[<+-| alert@+>] % stepwise alerts
\item Parent 1
\item Parent 2
\begin{itemize}
\item Child 1
\item Child 2
\end{itemize}
\item Parent 3
\end{itemize}
\end{frame}
\end{document}
编辑:在嵌套列表中发出警报,每行逐行呈红色