[Tex/LaTex] beamer: change individual bullet color in itemize list

beamercoloritemizelists

Is there a "nice" way to change the color of individual bullet points?
For example imagine a list like this:

\begin{itemize}
  \item A
  \begin{itemize}
    \item pro 1
    \item con 1
    \item pro 2
  \end{itemize}
  \item B
  \begin{itemize}
    \item pro 3
    \item con 2
    \item con 3
  \end{itemize}
\end{itemize}

How can I make pro bullets green and cons bullets red?

BTW.: I use the circle innertheme

Best Answer

Here's a more beamer way to do things.

The idea is to make an "action" environment that changes the bullet colour.

\documentclass{beamer}
\useinnertheme{circles}
\newenvironment{proenv}{\only{\setbeamercolor{local structure}{fg=green}}}{}
\newenvironment{conenv}{\only{\setbeamercolor{local structure}{fg=red}}}{}
\begin{document} 

\begin{frame}
  \frametitle{Some pros and cons}
    \begin{itemize}
      \item<pro@1-> A pro item
      \item<con@1-> A con item
      \item A neutral  item
    \end{itemize}
\end{frame}

\end{document}

The syntax of adding the action requires you to specify the slide range that the action will apply to; you should set this to 1- (which means slide 1 and all further slides) otherwise the colour will change back to the default colour theme if you are uncovering any parts of the slide.

output of code