LaTeX 定义颜色的几种方式
宏包使用
2019-10-06 15:28 浏览 :12636
# LaTeX 定义颜色的几种方式
颜色宏包 xcolor 是对早期颜色宏包 color 宏包的功能改进和扩充,现已完全取代了 color 颜色宏包
## 颜色的定义
要使用某种配比的颜色,必须事先定义,在xcolor中,已经分别使用上述三种颜色模式定义了19种颜色及其名称,如下所示
![](https://wenda.latexstudio.net/data/attach/191006/bdYo9n1x.png)
*截图来源 texdoc xcolor*
如果上述这些颜色没有所需要的颜色,那就要用xcolor提供的颜色定义命令:
```tex
\\definecolor{颜色}{模式}{定义}
```
例如
```tex
\\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
如下面代码所示
```tex
\\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}
```
**效果图如下所示**
![](https://wenda.latexstudio.net/data/attach/191006/chHworad.png)
各引擎对 color model 的支持有差异,建议提及 texdoc xcolor, table 5
学习了,谢谢。
谢谢分享~~