奇数と偶数の記号を列挙する

奇数と偶数の記号を列挙する

各文の前に「コメント アイコン」を付けて、2 人の間で対話を作成したいと考えています。 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}

MWE出力

関連情報