As percusse noted in his comment, the subitems are not invisible but just much dimmer than the items. I don't think that this is the intended behaviour! What happens here is that the nested enumerate
s give you nested actionenv
s, and each action environment level gives a dimming of 85%.
To fix this, it's best to get rid of the nesting of action environments. From Gonzalo's answer I took the idea to use \BeforeBeginEnvironment
and \AfterEndEnvironment
from the etoolbox
package. The code below works with nested enumerate
, itemize
and description
. The following output is created with \setbeamercovered{highly dynamic}
instead of \setbeamercovered{transparent}
, just to demonstrate that this also works.
\documentclass{beamer}
\usepackage{etoolbox}
%\setbeamercovered{transparent}
\setbeamercovered{highly dynamic}
\makeatletter
\newcommand*\fix@beamer@close{%
\ifnum\beamer@trivlistdepth>0
\beamer@closeitem
\fi
}
\newcommand*\fix@beamer@open{%
\ifnum\beamer@trivlistdepth>0
\gdef\beamer@closeitem{}%
\fi
}
\BeforeBeginEnvironment{enumerate}{\fix@beamer@close}
\AfterEndEnvironment{enumerate}{\fix@beamer@open}
\BeforeBeginEnvironment{itemize}{\fix@beamer@close}
\AfterEndEnvironment{itemize}{\fix@beamer@open}
\BeforeBeginEnvironment{description}{\fix@beamer@close}
\AfterEndEnvironment{description}{\fix@beamer@open}
\makeatother
\begin{document}
\begin{frame}{Test}
\begin{enumerate}[<+->]
\item Item1
\item Item2
\begin{itemize}%[<+->]
\item Item2A
\item Item2B
\end{itemize}
\item Item3
\end{enumerate}
\end{frame}
\end{document}
Note that you don't need the [<+->]
in the inner enumerate
or itemize
environment. (By default, the [<+->]
of the outer environment is used.)
\setbeamercovered{transparent}
after\begin{document}
?