Animación en beamer: listas anidadas

Animación en beamer: listas anidadas

Beamer tiene la [<+->]opción de listas que hace que cada elemento aparezca por separado. Sin embargo, también hace que los elementos de las listas anidadas aparezcan por separado. ¿Cómo hago para que cada lista anidada aparezca como un todo?

P.ej,

\begin{itemize}[<+->]
\item A 
  \begin{itemize}
    \item A1
    \item A2
  \end{itemize}
\item B
  \begin{itemize}
    \item B1
    \item B2
  \end{itemize}
\end{itemize}

cada elemento aparece por separado (IOW, se crean 6 diapositivas). Quiero que todas las A aparezcan simultáneamente y todas las B aparezcan simultáneamente (IOW, dos diapositivas en PDF).

PD. Prefiero evitar la <i->anotación explícita.

Respuesta1

No creo que puedas. En la documentación (Guía del usuario de Beamer, v.3.33, sección 12.1 en la p.110) dice "El⟨especificación de superposición predeterminada⟩es heredado por subambientes. Naturalmente, en un subentorno puedes restablecerlo localmente configurándolo en <1->". Puede que me equivoque y puede que haya un truco, pero parece que este era el comportamiento previsto.

Te sugiero que definas tu propio innerItemizeentorno:

\newenvironment{innerItemize}{%
  \begin{itemize}[<1->]%
}{%
  \end{itemize}%
}

\begin{itemize}[<+->]
\item A 
  \begin{innerItemize}
    \item A1
    \item A2
  \end{innerItemize}
\item B
  \begin{innerItemize}
    \item B1
    \item B2
  \end{innerItemize}
\end{itemize}

Si insiste en su código original, puede piratear el itemizeentorno para usar el predeterminado para el nivel externo y recurrir al equivalente innerItemizepara los niveles internos. No creo que me guste ese truco, pero así es como lo harías:

\let\oldItemize\itemize
\let\endoldItemize\enditemize
\newcommand{\myItemize}[1][<1->]{\oldItemize[#1]}
\def\endmyItemize{\endoldItemize}
\let\itemize\myItemize
\let\enditemize\endmyItemize

información relacionada