ネストされた項目が「再びカバーされる」のをbeamerクラスで止める方法

ネストされた項目が「再びカバーされる」のをbeamerクラスで止める方法

現在のポイントをより目立たせるために、「まだ覆われている」と「再び覆われている」に透明度を使用しています\setbeamercovered。しかし、itemize 内で itemize を使用すると、内側の itemize のポイントは最後のアイテムの透明度を継承するようです。これを回避するにはどうすればよいですか?

これが私の最小限のコードです:

\documentclass{beamer}

\setbeamercovered{still covered={\opaqueness<1->{5}},again covered={\opaqueness<1->{60}}}

\begin{document}

\begin{frame}
  \frametitle{Quelle II}
  \begin{itemize}[<+>]
   \item Foo
   \item Bar
   \begin{itemize}
     \item Blah
     \item Blub
   \end{itemize}
 \end{itemize}
\end{frame}
\end{decument}

この例では、Blah と Blub が透明でなくなることはありません。これは、Blah と Blub が Bar から透明度を「継承」しているように見えるためです。

答え1

解決策はすでに説明されているここを使用しますetoolbox

したがって、あなたの場合は次のようにします。

\documentclass{beamer}
\usepackage{etoolbox} % this is new

\setbeamercovered{still covered={\opaqueness<1->{5}},again covered={\opaqueness<1->{60}}}

% begining of the new definition
\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{itemize}{\fix@beamer@close}
\AfterEndEnvironment{itemize}{\fix@beamer@open}
\makeatother
% end of the new definition

\begin{document}

\begin{frame}
  \frametitle{Quelle II}
  \begin{itemize}[<+>]
    \item Foo
    \item Bar
    \begin{itemize}
      \item Blah
      \item Blub
    \end{itemize}
  \end{itemize}
\end{frame}

\end{document}

関連情報