Четные и нечетные символы

Четные и нечетные символы

Я хочу сделать диалог между двумя людьми со "значком комментирования" перед каждым предложением. Я добился желаемого, используя пакеты enumitem и fontawesome. введите описание изображения здесь

Вот мой код на данный момент.

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

Теперь я хотел бы определить его как новую среду, чтобы использовать это несколько раз. Я знаю, что есть команда \labelitemi, но она вносит изменения для всех элементов, для этого я не уверен, как это сделать.

Я поискал старые вопросы и нашелэтотно не смог понять, как сделать так, чтобы они подходили к моему случаю.

решение1

Вот решение с \newtoggleкомандой из etoolbox. Чтобы упростить использование этого решения, я определил новую среду, похожую на 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} 

введите описание изображения здесь

решение2

Вы можете создать команду, которая изменяет свое собственное определение, и использовать ее в качестве метки, например, так:

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

Выход МВЭ

Связанный контент