如何在投影仪中使框架的部分变灰

如何在投影仪中使框架的部分变灰

我有一个包含两部分的框架。我使用以下方式显示第一部分(图片和要点)\pause。然后我对第二部分做了类似的事情。我需要当第二​​部分出现时,第一部分中的所有内容都变灰。

理想情况下,我想使文本和图像都变灰,但即使只有文本也比没有好。

\documentclass{beamer}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}


\begin{document}
    \begin{frame}{My Frame}
    Intro line
    
    \pause
      
    \begin{minipage}[t]{.49\textwidth}
      \begin{center}
      Pic goes here
      \end{center}
    \end{minipage}\hfill
    \begin{minipage}[b]{.49\textwidth}
    \begin{itemize}
      \item Very important thing
      \pause
      \item Even more important thing
      \end{itemize}
    \end{minipage}
    
    
    \pause
    
    % After this pause, the previous part should be grayed out.
    
    Big sentence
    \begin{itemize}
      \item Cool solution \pause
      \item Strong statement
    \end{itemize}
    
    \end{frame}
    
\end{document}

答案1

如果您不想将图像变灰,那么您可以简单地\only<4->{\color{gray}}在幻灯片中添加一个,如下所示:

\documentclass{beamer}

\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor} % this is needed as well


\begin{document}
    \begin{frame}{My Frame}
    \onslide<1->{
        {
            \only<4->{
                \color{gray}
                % see https://tex.stackexchange.com/a/236520/128658 for different nesting levels
                \setbeamercolor{itemize/enumerate body}{fg=gray}
                % see https://tex.stackexchange.com/a/388900/128658 for different nesting levels
                \setbeamercolor{itemize item}{fg=gray}
            }

            Intro line
        
            \onslide<2->{
                \begin{columns}
                    \begin{column}{.49\textwidth}
                        \begin{center}
                          Pic goes here
                        \end{center}
                    \end{column}
                    \begin{column}{.49\textwidth}
                        \begin{itemize}
                            \item Very important thing
                            \onslide<3->{
                                \item Even more important thing
                            }
                        \end{itemize}
                    \end{column}
                \end{columns}
            }
        }
    }
    
    \onslide<4->{
        % After this pause, the previous part should be grayed out.
        
        Big sentence
        \begin{itemize}
          \item Cool solution \pause
          \item Strong statement
        \end{itemize}
    }
    \end{frame}
    
\end{document}

这样,颜色指令(仅作用于当前范围(又称括号括起来的区域)将仅从第四个幻灯片部分开始出现(因此在第三个幻灯片部分之后)\pause)。

编辑:我想,为了使图像变灰,你可以使用类似的技巧来调整第四张幻灯片上图像的 alpha 值。如需参考,请参见Includegraphics:设置图像不透明度

EDIT2:事实证明,pause似乎无法妥善处理幻灯片上的额外范围(或者我未能正确使用它们)。因此,我用\pause显式\onslide块替换了命令。此外,beamer还使用了一些特殊的魔法来确定列表环境中文本的字体颜色。为了更改这些,您必须更改当前 beamer 主题中的相应颜色。以同样的方式,项目符号本身也可以着色。

最后,我minipage用 beamer 的columns环境 (它是为了您现在使用 minipages 的确切目的而制作的) 替换了您的构造。

相关内容