使 \item (或块)在所有框架/子框架上永久透明

使 \item (或块)在所有框架/子框架上永久透明

我相信这个问题已经被问过两次了,但是没有任何令人满意的答案。

  1. Beamer 框架中的永久透明块
  2. 永久透明块

我认为之前的回答并没有完全理解这种事情的目的,所以我将列出我的具体例子和推理。我有两个项目的待办事项清单。我想

  • 在第 1 帧上显示待办事项列表,仅突出显示第一个项目
  • 在第 2 帧和第 3 帧上切线,触及第一个项目的部分内容
  • 在第 4 帧上再次显示待办事项列表,仅突出显示第二个项目
  • 在第 5 帧上切线,触及第二个项目的部分

基本代码看起来应该是这样的:

% FRAME 1
\begin{frame}{To Do} \setbeamercovered{transparent=30}
\begin{itemize}
\item<1->[1)] Project 1
    \begin{itemize}
    \item<1,2>[\checkmark] A
    \item<1,3>[x] B
    \item<1,3>[x] C
    \end{itemize}
\item[2)] Project 2       % I want this to have 30% opacity
    \begin{itemize}       % I want this to have 30% opacity
    \item[\checkmark] D   % I want this to have 30% opacity
    \item[\checkmark] E   % I want this to have 30% opacity
    \item[x] F            % I want this to have 30% opacity
    \end{itemize}         % I want this to have 30% opacity
\end{itemize}
\end{frame}

% FRAME 2 
\begin{frame}{Project 1: Item B}
\lipsum[1] % Explaining what to do for item B
\end{frame}

% FRAME 3 
\begin{frame}{Project 1: Item C}
\lipsum[2] % Explaining what to do for item C
\end{frame}

% FRAME 4
\begin{frame}{To Do} \setbeamercovered{transparent=30}
\begin{itemize}
\item[1)] Project 1       % I want this to have 30% opacity
    \begin{itemize}       % I want this to have 30% opacity
    \item[\checkmark] A   % I want this to have 30% opacity
    \item[x] B            % I want this to have 30% opacity
    \item[x] C            % I want this to have 30% opacity
    \end{itemize}         % I want this to have 30% opacity
\item<1->[2)] Project 2       
    \begin{itemize}
    \item<1,2>[\checkmark] D
    \item<1,2>[\checkmark] E
    \item<1,3>[x] F
    \end{itemize}
\end{itemize}
\end{frame}

% FRAME 5 
\begin{frame}{Project 2: Item F}
\lipsum[2] % Explaining what to do for item f
\end{frame}

答案1

我找到了一个部分解决方案来达到预期的效果。但还是存在一些问题。虽然我不接受自己的解决方案作为最佳答案,如果没有更好的选择,我就会发布它。

如果您添加\includepackage{transparent}到序言中,则可以使用{\transparent{30} <stuff>}30% 的不透明度。注意事项:

  • 除了细节之外,如果您使用,它在某些特定情况下不起作用\item<>
  • 但是,如果您使用的是 ,它确实有效\pause。话虽如此,如果\transparent块来自暂停,它将具有两层透明度。

因此我提出了一个糟糕的解决方案,通过将 itemize 环境分成两部分并手动调整间距来实现。

% FRAME 1
\begin{frame}{To Do} \setbeamercovered{transparent=30}
\begin{itemize}
\item<1->[1)] Project 1
    \begin{itemize}
    \item<1,2>[\checkmark] A
    \item<1,3>[x] B
    \item<1,3>[x] C
    \end{itemize}
\end{itemize}
\vspace*{1em}           %Fudge manual spacing
{\transparent{0.3}      %Start of 30% opacity
\begin{itemize}
\item[2)] Project 2
    \begin{itemize}
    \item[\checkmark] D
    \item[\checkmark] E
    \item[x] F
    \end{itemize}
\end{itemize}
}                        %End of 30% opacity
\end{frame}


% FRAME 4
\begin{frame}{To Do} \setbeamercovered{transparent=30}
{\transparent{0.3}     %Start of 30% opacity
\begin{itemize}
\item[1)] Project 1
    \begin{itemize}
    \item[\checkmark] A
    \item[x] B
    \item[x] C
    \end{itemize}
\end{itemize}
\vspace*{1em}           %Fudge manual spacing
}                       %End of 30% opacity
\begin{itemize}
\item<1->[2)] Project 2 \pause
    \begin{itemize}
    \item<1,2>[\checkmark] D
    \item<1,2>[\checkmark] E \pause
    \item<1,3>[x] F
    \end{itemize}
\end{itemize}
\end{frame}

相关内容