使用暂停更改框架内项目符号的颜色

使用暂停更改框架内项目符号的颜色

\pause我想使用命令(或类似的等效命令)更改框架中项目符号列表的颜色\onslide,即我的列表首先显示为黑色,然后我希望它在下一步中变为灰色。

我在做什么 :

\begin{center}
    \color<2->{light-gray} 
    \begin{itemize}
        \item Bruit
        \item Fragilité mécanique
        \item Entretient
        \item Jeu dans les engrenages
    \end{itemize}
\end{center}

结果没问题(文本在第二步时会改变颜色),但对于不变色的项目符号则不行。因此,我尝试通过添加以下行来解决这个问题:

\onslide<2-> \setbeamercolor*{item}{fg=light-gray} \onslide<1->

但是项目符号颜色的变化在两个步骤中都出现,而不仅仅是在步骤 2 中。我推测这样的命令不适用于\onslide,因此我寻找一个想法来仅在第二步更改项目符号颜色。

这是一个最小的工作示例:

\documentclass[10pt, compress, aspectratio=1610]{beamer}
\usepackage{color}
\definecolor{light-gray}{gray}{0.8}
\newcommand{\itemcolor}[1]{% Update list item colour
  \renewcommand{\makelabel}[1]{\color{#1}\hfil ##1}}

\begin{document}
     \begin{frame}
         \begin{center}
             %\onslide<2-> \setbeamercolor*{item}{fg=light-gray}
             %\onslide<1->
             \begin{itemize}
                 \color<2->{light-gray} 
                 \item Item1
                 \item Item2
                 \item Item3
                 \item Item4
             \end{itemize}
         \end{center}
     \end{frame}

\end{document}

答案1

只需使用\only<2>{ ... }即可。这应该可以解决问题。

\documentclass[10pt, compress, aspectratio=1610]{beamer}
\usepackage{color}
\definecolor{light-gray}{gray}{0.8}
\newcommand{\itemcolor}[1]{% Update list item colour
  \renewcommand{\makelabel}[1]{\color{#1}\hfil ##1}}

\begin{document}
     \begin{frame}
         \begin{center}
             \only<2>{\setbeamercolor*{item}{fg=light-gray}}
             \begin{itemize}
                 \color<2->{light-gray} 
                 \item Item1
                 \item Item2
                 \item Item3
                 \item Item4
             \end{itemize}
         \end{center}
     \end{frame}
\end{document}

相关内容