ビーマーのアニメーション: ネストされたリスト

ビーマーのアニメーション: ネストされたリスト

Beamer には[<+->]、各項目を個別に表示するリストのオプションがあります。ただし、ネストされたリスト内の項目も個別に表示されます。ネストされた各リストを全体として表示するにはどうすればよいですか?

例えば、

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

各項目は個別に表示されます (つまり、6 つのスライドが作成されます)。すべての A を同時に表示し、すべての B を同時に表示します (つまり、PDF で 2 つのスライド)。

PS. 明示的な注釈は避けたいと思います<i->

答え1

できないと思います。ドキュメント(Beamer ユーザー ガイド、v.3.33、110ページの12.1節)には「⟨デフォルトのオーバーレイ仕様⟩はサブ環境に継承されます。当然、サブ環境では に設定することでローカルにリセットできます<1->。" 私が間違っている可能性があり、ハックがあるかもしれませんが、これが意図された動作だったようです。

独自のinnerItemize環境を定義することをお勧めします。

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

元のコードにこだわるなら、itemize環境をハックして、外側のレベルにはデフォルトのものを使用し、innerItemize内側のレベルには と同等のものを使用することもできます。私はそのようなハックは好きではないと思いますが、次のようにします。

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

関連情報