如何阻止嵌套項目在投影機類別中“再次覆蓋”

如何阻止嵌套項目在投影機類別中“再次覆蓋”

我使用\setbeamercovered透明度來表示“仍然被覆蓋”和“再次被覆蓋”,以使當前的點更加突出。但是,當在逐項中使用逐項時,內部逐項的點似乎繼承了最後一項的透明度。如何避免這種情況?

這是我的最小程式碼:

\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 永遠不會是不透明的。因為他們似乎「繼承」了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}

相關內容