itemize 环境中项目符号使用不同颜色 (>2)

itemize 环境中项目符号使用不同颜色 (>2)

我想要一个使用几种不同项目颜色(至少三种)的条目列表。基本上类似于描述的内容这里按照 Alan Munn 建议的方向:

\documentclass{article}
\usepackage{enumitem}
\usepackage{xcolor}
\newif\ifgooditem
\gooditemtrue
\newcommand\gooditem{\gooditemtrue\item}
\newcommand\baditem{\gooditemfalse\item}
\begin{document}
\begin{itemize}[label={\ifgooditem\color{green}\else\color{red}\fi\textbullet}]
\gooditem A good item
\baditem A bad item
\end{itemize}
\end{document}

我只是想要至少有第三类,例如\neutralitem。这该怎么做?我试过了

\newif\ifgooditem
\gooditemtrue
\newif\ifneutralitem
\neutralitemtrue
\newcommand\gooditem{\gooditemtrue\item}
\newcommand\neutralitem{\gooditemfalse\item}
\newcommand\baditem{\gooditemfalse\baditemtrue\neutralitemfalse\item}

[label={\ifgooditem\color{green}\ifbaditem\color{red}\else\color{black}\fi\textbullet}]

但它似乎不起作用。

答案1

您可以尝试以下操作:

\documentclass{article}
\usepackage{enumitem}
\usepackage{xcolor}

\newif\ifgooditem
\newif\ifneutralitem
\newif\ifbaditem
\newcommand\gooditem{\gooditemtrue\baditemfalse\neutralitemfalse\item}
\newcommand\neutralitem{\neutralitemtrue\gooditemfalse\baditemfalse\item}
\newcommand\baditem{\baditemtrue\gooditemfalse\neutralitemfalse\item}

\begin{document}
\begin{itemize}[label={
  \ifgooditem\color{green}\fi
  \ifbaditem\color{red}\fi
  \ifneutralitem\color{black}\fi
  \textbullet}]
\neutralitem A neutral item
\gooditem A good item
\baditem A bad item
\gooditem A good item
\baditem A bad item
\neutralitem A neutral item
\end{itemize}
\end{document}

在此处输入图片描述

答案2

更灵活的解决方案是测试变量的命令,我使用ifthen字符串比较包来完成此操作。

\documentclass{article}

\usepackage{ifthen}
\usepackage{enumitem}
\usepackage{xcolor}

\newcommand{\itemclass}{}
\newcommand{\myitem}[1]{%
  \renewcommand{\itemclass}{#1}\item%
}
\newcommand{\mylabel}{%
\ifthenelse{\equal{\itemclass}{bad}}{\color{red}\textbullet}{%
\ifthenelse{\equal{\itemclass}{good}}{\color{green}\textbullet}{%
\ifthenelse{\equal{\itemclass}{neutral}}{\color{black}\textbullet}{}}}%
}

\begin{document}
\begin{itemize}[label=\mylabel]
      \myitem{good} green
      \myitem{bad} red 
      \myitem{neutral} black
  \end{itemize}
\end{document}

相关内容