我知道如何将列表中所有编号的项目设为单一颜色。但我需要有选择地选择要着色的项目。例如,我希望第一和第二个项目的编号为彩色,但第三个项目不为彩色。
答案1
答案2
为了解决@Circumscribe 的评论,这里提供了一个\item
使用常规命令来允许引用的版本。
使用包提供的label
选项设置颜色。此选项通常在处理项目之前展开,因此每个项目都将以列表开头设置的颜色打印,但是使用此展开会延迟到实际处理项目时。\begin{enumerate}
enumitem
\noexpand
对于引用,enumitem
提供了另一个ref
控制引用外观的选项,在下面的 MWE 中,它没有指定颜色,也没有点。
为了使设置颜色更容易,我定义了一个小的额外命令\setcl
来(重新)定义该\itemcolor
命令。
代码
\documentclass{article}
\usepackage{xcolor}
\usepackage{enumitem}
\def\setcl#1{\def\itemcolor{#1}}
\begin{document}
\begin{enumerate}[label=\color{\noexpand\itemcolor}\arabic*.,ref=\arabic*]
\setcl{red}
\item foo
\item foo\label{second}
\setcl{black}
\item foo
\end{enumerate}
We are interested in item \ref{second}.
\end{document}
结果:
答案3
使用语法来指定要着色的项目:
\documentclass{article}
\usepackage{enumitem,xcolor}
\newenvironment{emphenumerate}[1][red!90!green]
{%
\colorlet{emphenumerate}{#1}%
\enumerate[label=\protect\maybecoloritem\arabic*.,ref=\arabic*]
}
{\endenumerate}
\newcommand{\maybecoloritem}{\ifcoloritem\color{emphenumerate}\fi\global\coloritemfalse}
\newcommand{\emphitem}{\global\coloritemtrue\item}
\newif\ifcoloritem
\begin{document}
\begin{emphenumerate}
\emphitem First
\emphitem Second
\item Third
\end{emphenumerate}
\begin{emphenumerate}[.]
\emphitem First
\emphitem Second
\item Third
\end{emphenumerate}
\end{document}
仅提供第一级,但您可以使用enumitem
设施进行改进。
您可以使用可选参数更改颜色\begin{emphenumerate}
;在示例中我展示了如何删除颜色,但您可以使用任何xcolor
定义颜色的规范。
避免使用纯色,它们太鲜艳了。