我试图在\itemize
项目和子项目(只是嵌套itemize
项目)之间获得交替突出显示的效果,但存在一个问题,即当所有非嵌套项目都隐藏时,嵌套的子项目无法显示。 期望的效果是:
- 覆盖 #1:非嵌套项目最初将以完全不透明的方式显示,而嵌套子项目最初将以透明方式显示
- 覆盖 #2:非嵌套项目隐藏为透明项目,而嵌套子项目则以完全不透明度显示
- 覆盖层 #3:所有项目均以完全不透明的方式显示
重现该问题的最小工作示例(使用反映我想要实现的目标的代码):
\documentclass{beamer}
\begin{document}
\setbeamercovered{transparent}
\begin{frame}
\begin{itemize}
\item<1,3>{outside}
\begin{itemize}
\item<2->{inside}
\end{itemize}
\item<1,3>{outside}
\end{itemize}
\end{frame}
\end{document}
请注意,问题似乎特别出现在嵌套 itemize 环境之前的最后一个非嵌套项中。即,上面的问题是子项未能执行出现在幻灯片 #2 上的叠加规范,但在下面示例中,当其上方的非嵌套项也在幻灯片 #2 期间显示时(而不是在幻灯片 #2 期间隐藏在上方时),此规范有效:
\documentclass{beamer}
\begin{document}
\setbeamercovered{transparent}
\begin{frame}
\begin{itemize}
\item<1->{outside} % <---- this is the difference from above
\begin{itemize}
\item<2->{inside}
\end{itemize}
\item<1,3>{outside}
\end{itemize}
\end{frame}
\end{document}
答案1
答案2
这是一个几乎可以实现意图的黑客攻击,但并不理想,因为子弹不会变得透明(并且编码也很麻烦)
\setbeamercovered{transparent}
\begin{frame}
\begin{itemize}
\item{\temporal<2>{outside}{\color{black!15}{outside}}{outside}}
\begin{itemize}
\item<->{inside}
\end{itemize}
\item<1,3>{later}
\end{itemize}
\end{frame}