Sobreposições no projetor: liste itens de cores diferentes

Sobreposições no projetor: liste itens de cores diferentes

Estou com um problema com o Beamer. Estou tentando usar listas com itens de cores diferentes, aparecendo uma vez por vez.

Aqui está meu MWE:

\documentclass{beamer}
\usetheme{Warsaw}

\newcommand\coloreditem[1]{\setbeamercolor{item projected}{bg=#1}\item}

\begin{document}
\begin{frame}
\begin{itemize}[<+->]
  \coloreditem{red} First
  \coloreditem{blue} Then
  \coloreditem{green} Now
  \coloreditem{orange} Last
  \end{itemize}
\end{frame}
\end{document}

Dá 4 páginas, com número crescente de marcadores. No entanto, os itens são todos da primeira cor:

4ª página do MWE

Ao substituir

\begin{itemize}[<+->]

com

\begin{itemize}

Recebo apenas uma página, mas as cores corretas

Resultado desejado

Você sabe por que isso não funciona? E qual é a melhor maneira de fazer isso?

Responder1

Para obter uma explicação clara de por que isso não funciona, você provavelmente precisará se aprofundar no projetor. Meu palpite é que \item está quebrado no texto depois dele, que deve ser exibido no mesmo slide. Uma maneira de resolver o problema é mantê-lo unido em um comando. Abaixo está uma versão onde \citem{color}{text} imprime um marcador colorido seguido de texto. A versão estrelada aparece uma após a outra.

\documentclass{beamer}
\usetheme{Warsaw}

\makeatletter
\def\citem{\@ifstar\c@itemstar\c@item}
\def\c@item#1#2{\c@@item[#1]{#2}}
\def\c@itemstar#1#2{\uncover<+->{\c@@item[#1]{#2}}}
\def \c@@item[#1]#2{\setbeamercolor{item}{fg=#1} \item #2}
\makeatother

\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\begin{itemize}
  \citem{red}{First}
  \citem{blue}{Then}
  \citem{green}{Now}
  \citem{orange}{Last}
\end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\begin{itemize}
  \citem*{red}{First}
  \citem*{blue}{Then}
  \citem*{green}{Now}
  \citem*{orange}{Last}
\end{itemize}
\end{frame}

\end{document}

Seria bom também ter uma cor padrão. Como está agora, o comando color altera o valor padrão e o próximo marcador impresso por \item tem o mesmo. Isso poderia ser feito deixando o argumento color ser opcional.

informação relacionada