홀수 및 심지어 항목별 기호

홀수 및 심지어 항목별 기호

모든 문장 앞에 '댓글 아이콘'이 표시되어 두 사람의 대화를 만들고 싶습니다. 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 출력

관련 정보