为枚举列表中的项目着色

为枚举列表中的项目着色

我有一个枚举列表,我使用它是enumitem因为我想恢复枚举,其中一个项使用褪色颜色呈现xcolor

\usepakage{enumitem, xcolor}
% ...
\begin{enumerate}
\item First.
\end{enumerate}
other stuff
\begin{enumerate}[resume]
\item Second.
\item \textcolor{gray}{Third.}
\item Fourth.
\end{enumerate}

我希望“第三”的标签以相同的褪色呈现,因为我已经看到以粗体显示枚举列表中的单个数字我定义

newcommand{\fadeditem}{\item[\stepcounter{enumi}\textcolor{gray}{\arabic{enumi}.}]}

并且它可以工作(它不是通用的,但它可以工作)但现在还不够...我意识到我想要的是一个可以处理项目文本的命令

我现在拥有的

\fadeditem \textcolor{gray}{Bla bla bla.}

我想要的

\itemcolor{gray} Bla bla bla.

附录#1

David Carlisle 在评论中建议

\newcommand\itemcolor[1]{\fadeditem{#1}\textcolor{#1}} 

这涉及我今天的任务,在问题列表中写下可选问题。

问题的未解决部分是问题的概括,定义一个\itemcolor{somecolor}在任何(大多数?)列表中起作用的命令......

答案1

已编辑,以将更新的范围限制\item到新定义的cenumerate环境。

\documentclass{article}
\usepackage{enumitem, xcolor}
\let\svitem\item
\newenvironment{cenumerate}[1][\relax]{\renewcommand\item[1][black]{\color{##1}\svitem}
  \ifx\relax#1\enumerate\else\enumerate[#1]\fi}{\endenumerate}
\begin{document}
\begin{cenumerate}
\item First.
\end{cenumerate}
other stuff
\begin{cenumerate}[resume]
\item Second.
\item[gray] Third.
\item Fourth.
\item[red][*] Star item.
\end{cenumerate}
\begin{description}
\item[Rayleigh Quotient] Choose an appropriate shape function
\end{description}
\end{document}

在此处输入图片描述

更简单地无需重新定义\item,而只需额外输入一点,只需\color根据需要在组中调用即可获得相同的结果:

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

\begin{document}
\begin{enumerate}
\item First.
\end{enumerate}
other stuff
\begin{enumerate}[resume]
\item Second.
{\color{gray}\item Third.}
\item Fourth.
{\color{red}\item[*] Star item.}
\end{enumerate}
\end{document}

相关内容