Símbolos de itens ímpares e pares

Símbolos de itens ímpares e pares

Quero fazer um diálogo entre duas pessoas com o “ícone de comentário” na frente de cada frase. De certa forma, consegui o que queria usando pacotes enumitem e fontawesome. insira a descrição da imagem aqui

Aqui esta o meu codigo ate agora.

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

Agora eu gostaria de defini-lo como um novo ambiente para usar isso várias vezes. Eu sei que existe um comando \labelitemi mas ele faz alterações em todos os itens, por isso não sei como fazer.

Eu procurei por perguntas antigas e encontreiessemas não consegui entender as etapas para que se adaptassem ao meu caso.

Responder1

Aqui está uma solução com o \newtogglecomando from etoolbox. Para simplificar o uso desta solução, defini um novo ambiente semelhante a 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} 

insira a descrição da imagem aqui

Responder2

Você pode criar um comando que altere sua própria definição e usá-lo como rótulo, por exemplo:

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

Saída MWE

informação relacionada