beamer to show nested-subitem when all (non-nested) items covered

1,275

Solution 1

Include \visible with your \items

\documentclass{beamer}
\begin{document}
\setbeamercovered{transparent}
\begin{frame}
    \begin{itemize}
        \item\visible<1,3>{outside}
        \begin{itemize}
            \item\visible<2->{inside}
        \end{itemize}
        \item\visible<1,3>{outside}
    \end{itemize}
\end{frame}
\end{document}

enter image description here

Solution 2

Here is a hack that almost accomplishes the intention, but non-ideal because the bullet does not become transparent (and also is a hassle to code)

\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}
Share:
1,275

Related videos on Youtube

Daniel Naftalovich
Author by

Daniel Naftalovich

Updated on August 01, 2022

Comments

  • Daniel Naftalovich
    Daniel Naftalovich over 1 year

    I am trying to get an alternating highlighting effect between \itemize items and subitems (which are just nested itemize items), but there is an issue in that when all of the non-nested items are hidden the nested subitem fails to show. The desired effect is that:

    • Overlay #1: the non-nested items will be initially shown in full opacity while the nested subitem will be initially shown as transparent
    • Overlay #2: the non-nested items are hidden as transparent items, while the nested sub-item is shown in full opacity
    • Overlay #3: all items are shown in full opacity

    A minimal working example to reproduce the issue (using code that reflects what I'm trying to achieve):

    \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}
    

    Note that the issue seems to be specifically at the last non-nested item before the nested itemize environment. I.e., the issue above is that the sub-item fails perform the overlay spec of appearing at slide #2, but this spec works in the example below when the non-nested item above it is also displayed during slide #2 (instead of above where it is hidden during slide #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}
    
  • Daniel Naftalovich
    Daniel Naftalovich over 7 years
    Thanks, this worked (although I use \uncover instead of \visible).
  • erik
    erik over 7 years
    @DanielNaftalovich You're welcome. I wasn't sure if transparent meant covered or invisible, but I'm glad it worked for you.