비머 클래스에서 중첩된 항목이 "다시 다루어지는" 것을 중지하는 방법

비머 클래스에서 중첩된 항목이 "다시 다루어지는" 것을 중지하는 방법

\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는 결코 투명하지 않습니다. 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}

관련 정보