颜色宏包 xcolor 是对早期颜色宏包 color 宏包的功能改进和扩充,现已完全取代了 color 颜色宏包。
要使用某种配比的颜色,必须事先定义,在xcolor中,已经分别使用上述三种颜色模式定义了19种颜色及其名称,如下所示:
截图来源 texdoc xcolor
如果上述这些颜色没有所需要的颜色,那就要用 xcolor 提供的颜色定义命令:
\definecolor{颜色}{模式}{定义}
例如
\definecolor{lightgray}{gray}{0.90} % 1.灰度
\definecolor{orange}{rgb}{0.9,0.9,0.9} % 2.rgb
\definecolor{purple}{RGB}{102,0,255} % 3.RGB
\definecolor{myblue}{HTML}{0F1423} % 4.HTML
\definecolor{orange}{cmyk}{0,0.5,1,0} % 5.cmyk
xcolor 中的模式
有 12 种,分别是 rgb,cmy,cmyk,hsb,Hsb,tHsb,gray,RGB,HTML,HSB,Gray,wave。常用的也就三四种(gray 灰度模式,rgb 三基色模式,cmyk 四分色模式)
xcolor 提出了一种颜色表示方法:颜色表达式,其最典型的表示方法为
颜色!百分数1!颜色1!百分数2!颜色2!...百分数n!颜色n
在表达式中,颜色
可以是在 xcolor 宏包中定义的颜色,也可以是使用definecolor
自定义的颜色名称,!
是分隔符,如果颜色表达式的最后一项不是颜色名称,其默认值就是 white。
如下面代码所示:
\documentclass{ctexart}
\usepackage{xcolor}
\newcommand{card}[1]{color{#1}rule{1cm}{0.5cm}}
\definecolor{lightgray}{gray}{0.90} % 1.灰度
\definecolor{myblack}{rgb}{0.1,0.1,0.1} % 2.rgb
\definecolor{purple}{RGB}{102,0,255} % 3.RGB
\definecolor{myblue}{HTML}{0F1423} % 4.HTML
\definecolor{orange}{cmyk}{0,0.5,1,0} % 5.cmyk
\begin{document}
\card{lightgray}
\card{myblack}
\card{purple}
\card{myblue}
\card{orange}
颜色表达式
\card{purple!75}
\card{purple!75!myblue}
\card{purple!75!black}
\end{document}
效果图如下所示: