Símbolos detallados pares e impares

Símbolos detallados pares e impares

Quiero crear un diálogo entre dos personas con el "icono de comentario" delante de cada frase. De alguna manera obtuve lo que quería usando los paquetes enumitem y fontawesome. ingrese la descripción de la imagen aquí

Aquí está mi código hasta ahora.

\documentclass{article}
\usepackage{enumitem}
\usepackage{fontawesome}
\usepackage{xcolor}
\begin{document}
    \begin{itemize}
        \item[\color{blue!70!white}\faCommenting] First person
        \item[\color{green!70!black}\faCommentingO] Second person
        \item[\color{blue!70!white}\faCommenting] First person
    \end{itemize}
\end{document}

Ahora me gustaría definirlo como un nuevo entorno para usarlo varias veces. Sé que hay un comando \labelitemi pero realiza cambios para todos los elementos, por lo que no estoy seguro de cómo hacerlo.

Busqué preguntas antiguas y encontréestepero no pude entender los pasos para que se ajusten a mi caso.

Respuesta1

Aquí hay una solución con el \newtogglecomando de etoolbox. Para simplificar el uso de esta solución, definí un nuevo entorno tipo itemize alternitem:

\documentclass{article}
\usepackage{enumitem}
\usepackage{fontawesome}
\usepackage{xcolor}
\usepackage{etoolbox}
%
\newtoggle{greeny}
\newlist{alternitem}{itemize}{1}
\setlist[alternitem]{label={\iftoggle{greeny}%
{\color{green!70!black}\faCommentingO\global\togglefalse{greeny}}%
{\color{blue!70!white}\faCommenting\global\toggletrue{greeny}}%
}}

\begin{document}

 \begin{alternitem}
 \item First person
 \item Second person
 \item First person
 \item First person
 \item Second person
 \item First person
 \end{alternitem}

\end{document} 

ingrese la descripción de la imagen aquí

Respuesta2

Puede crear un comando que cambie su propia definición y usarlo como etiqueta, por ejemplo así:

\documentclass{article}

\usepackage{enumitem}
\usepackage{fontawesome}
\usepackage{xcolor}


\makeatletter
  \def\speech@bubble@a{%
    \color{blue!70!white}\faCommenting
    \global\let\speech@bubble\speech@bubble@b
  }
  \def\speech@bubble@b{%
    \color{green!70!black}\faCommentingO
    \global\let\speech@bubble\speech@bubble@a
  }
  \newlist{dialog}{itemize}{1}
  \newlist{dialog*}{itemize}{1}
  \setlist[dialog]{
    before={\global\let\speech@bubble\speech@bubble@a},
    label={\speech@bubble},
  }
  \setlist[dialog*]{
    before={\global\let\speech@bubble\speech@bubble@b},
    label={\speech@bubble},
  }
\makeatother

\begin{document}

First person first:
\begin{dialog}
  \item bla
  \item bla
  \item bla
  \item bla
  \item bla
\end{dialog}

Second person first:
\begin{dialog*}
  \item bla
  \item bla
  \item bla
  \item bla
  \item bla
\end{dialog*}

\end{document}

Salida MWE

información relacionada