Overlays im Beamer: Artikel in verschiedenen Farben auflisten

Overlays im Beamer: Artikel in verschiedenen Farben auflisten

Ich habe ein Problem mit Beamer. Ich versuche, Listen mit Elementen unterschiedlicher Farbe zu verwenden, die jeweils einzeln angezeigt werden.

Hier ist mein 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}

Es gibt 4 Seiten mit steigender Anzahl von Aufzählungszeichen. Die Elemente sind jedoch alle in der ersten Farbe:

4. Seite von MWE

Durch Ersetzen

\begin{itemize}[<+->]

mit

\begin{itemize}

Ich bekomme nur eine Seite, aber korrekte Farben

Erwünschtes Ergebnis

Wissen Sie, warum das nicht funktioniert? Und wie geht das am besten?

Antwort1

Um eine klare Erklärung zu erhalten, warum es nicht funktioniert, müssen Sie sich wahrscheinlich tief in Beamer einarbeiten. Ich vermute, dass \item vom nachfolgenden Text getrennt ist, der auf derselben Folie angezeigt werden sollte. Eine Möglichkeit, das Problem zu lösen, besteht darin, es in einem Befehl zusammenzufassen. Unten sehen Sie eine Version, bei der \citem{color}{text} einen Aufzählungspunkt in Farbe druckt, gefolgt von Text. Die mit Sternchen versehene Version erscheint nacheinander.

\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}

Es wäre schön, auch eine Standardfarbe zu haben. So wie es jetzt ist, ändert der Farbbefehl den Standardwert und der nächste von \item gedruckte Aufzählungspunkt hat denselben. Dies könnte erreicht werden, indem das Farbargument optional bleibt.

verwandte Informationen