LaTeX
使用 xcolor
包来为文本添加颜色(取代了 color
包)。通过此包,您可以设置字体颜色、文本背景或页面背景。您可以选择预定义的颜色,或者使用 RGB、Hex 或 CMYK 定义自己的颜色。数学公式也可以进行着色。
添加 xcolor
包
要使用这些功能,必须导入 xcolor
包。xcolor
从 color
包的基本功能开始,并对其进行了扩展。
\usepackage{xcolor}
该包允许您使用 19 种基本颜色的名称(黑色、白色、蓝色、绿色、黄色、红色等);这些颜色名称始终可用。此外,该包还提供了一些选项来获取更多的预定义颜色,这些选项应该在全局范围内添加。dvipsnames
选项可以访问超过 60 种颜色,svgnames
选项可以访问约 150 种颜色。如果您需要更多的颜色名称,可以查看 x11names
选项,它提供超过 300 种颜色。
table
选项允许将颜色应用到表格中。
输入带颜色的文本
输入带颜色的文本最简单的方法是:
\textcolor{declared-color}{text}
其中 declared-color
是之前通过 \definecolor
定义的颜色。
另一种方法是:
{\color{declared-color}some text}
这会将标准文本颜色切换为您希望的颜色,直到当前的 TeX 组结束。例如:
\emph{some black text, {\color{red}followed by a red fragment}}, going black again.
\textcolor
和 \color
之间的区别就像 \texttt
和 \ttfamily
之间的区别,您可以选择使用您更喜欢的一个。\color
环境允许文本跨多行并与其他文本环境一起使用,而 \textcolor
中的文本必须是一个段落,不能包含其他环境。
更改整个页面的背景颜色
要更改整个页面的背景颜色,使用:
\pagecolor{declared-color}
为文本设置背景颜色
要为文本设置背景颜色,使用:
\colorbox{declared-color}{text}
如果同时更改了背景颜色和文本颜色,则使用:
\colorbox{declared-color1}{\color{declared-color2}text}
另外,\fcolorbox
可以在另一种颜色的背景中添加框架背景颜色:
\fcolorbox{declared-color-frame}{declared-color-background}{text}
预定义的颜色
预定义的颜色名称包括:
-
black, blue, brown, cyan, darkgray, gray, green, lightgray, lime, magenta, olive, orange, pink, purple, red, teal, violet, white, yellow.
您的系统上可能有其他预定义的颜色,但这些颜色在所有系统上都应该可用。
如果您希望使用未预定义的颜色,可以使用 68 种 dvips
颜色之一,或者定义您自己的颜色。有关这些选项的讨论,请参见以下部分。
dvips
标准颜色
通过 usenames
和 dvipsnames
选项来调用该包。如果您使用 tikz
或 pstricks
包,必须在使用它们之前声明 xcolor
包,否则将无法工作。
\usepackage[dvipsnames]{xcolor}
如果您在与 beamer
和 tikz
一起使用时遇到此语法错误,可以通过在定义文档类时包含 usenames
和 dvipsnames
选项来解决:
\documentclass[usenames,dvipsnames]{beamer}
请注意,下面列出的颜色名称是区分大小写的。例如,\color{olivegreen}
会引发“未定义颜色”错误,但 \color{OliveGreen}
则可以正常工作。颜色表可以按照颜色名称、色调、饱和度或亮度进行排序。
名称 | 颜色 | Hex | 色调 | 饱和度 | 亮度 |
---|---|---|---|---|---|
Apricot | FBB982 | 27.3 | 239.2 | 190.5 | |
Aquamarine | 00B5BE | 182.8 | 255.0 | 95.0 | |
Bittersweet | C04F17 | 19.9 | 200.4 | 107.5 | |
Black | 221E1F | 0.3 | 15.9 | 32.0 | |
Blue | 2D2F92 | 238.2 | 134.8 | 95.5 | |
BlueGreen | 00B3B8 | 181.6 | 255.0 | 92.0 | |
BlueViolet | 473992 | 249.4 | 111.8 | 101.5 | |
BrickRed | B6321C | 8.6 | 187.0 | 105.0 | |
Brown | 792500 | 18.3 | 255.0 | 60.5 | |
BurntOrange | F7921D | 32.2 | 237.6 | 138.0 | |
CadetBlue | 74729A | 243.0 | 42.1 | 134.0 | |
CarnationPink | F282B4 | 333.2 | 207.0 | 186.0 | |
Cerulean | 00A2E3 | 197.2 | 255.0 | 113.5 | |
CornflowerBlue | 41B0E4 | 199.1 | 191.5 | 146.5 | |
Cyan | 00AEEF | 196.3 | 255.0 | 119.5 | |
Dandelion | FDBC42 | 39.1 | 249.7 | 159.5 | |
DarkOrchid | A4538A | 319.3 | 83.6 | 123.5 | |
Emerald | 00A99D | 175.7 | 255.0 | 84.5 | |
ForestGreen | 009B55 | 152.9 | 255.0 | 77.5 | |
Fuchsia | 8C368C | 300.0 | 113.0 | 97.0 | |
Goldenrod | FFDF42 | 49.8 | 255.0 | 160.5 | |
Gray | 949698 | 0.2 | 4.9 | 150.0 | |
Green | 00A64F | 148.6 | 255.0 | 83.0 | |
GreenYellow | DFE674 | 63.7 | 177.3 | 173.0 | |
JungleGreen | 00A99A | 174.7 | 255.0 | 84.5 | |
Lavender | F49EC4 | 333.5 | 203.1 | 201.0 | |
LimeGreen | 8DC73E | 85.4 | 140.3 | 130.5 | |
Magenta | EC008C | 324.4 | 255.0 | 118.0 | |
Mahogany | A9341F | 9.1 | 176.0 | 100.0 | |
Maroon | AF3235 | 358.6 | 141.7 | 112.5 | |
Melon | F89E7B | 16.8 | 229.3 | 185.5 | |
MidnightBlue | 006795 | 198.5 | 255.0 | 74.5 | |
Mulberry | A93C93 | 312.1 | 121.4 | 114.5 | |
NavyBlue | 006EB8 | 204.1 | 255.0 | 92.0 | |
OliveGreen | 3C8031 | 111.6 | 113.8 | 88.5 | |
Orange | F58137 | 23.4 | 230.7 | 150.0 | |
OrangeRed | ED135A | 340.5 | 218.9 | 128.0 | |
Orchid | AF72B0 | 299.0 | 71.9 | 145.0 | |
Peach | F7965A | 22.9 | 231.4 | 168.5 | |
Periwinkle | 7977B8 | 241.8 | 80.1 | 151.5 | |
PineGreen | 008B72 | 169.2 | 255.0 | 69.5 | |
Plum | 92268F | 301.7 | 149.7 | 92.0 | |
ProcessBlue | 00B0F0 | 196.0 | 255.0 | 120.0 | |
Purple | 99479B | 298.6 | 94.8 | 113.0 | |
RawSienna | 974006 | 24.0 | 235.5 | 78.5 | |
Red | ED1B23 | 357.7 | 217.7 | 132.0 | |
RedOrange | F26035 | 13.7 | 224.2 | 147.5 | |
RedViolet | A1246B | 325.9 | 161.8 | 98.5 | |
Rhodamine | EF559F | 331.2 | 211.1 | 162.0 | |
RoyalBlue | 0071BC | 203.9 | 255.0 | 94.0 | |
RoyalPurple | 613F99 | 262.7 | 106.3 | 108.0 | |
RubineRed | ED017D | 328.5 | 252.9 | 119.0 | |
Salmon | F69289 | 5.0 | 218.9 | 191.5 | |
SeaGreen | 3FBC9D | 165.1 | 127.0 | 125.5 | |
Sepia | 671800 | 14.0 | 255.0 | 51.5 | |
SkyBlue | 46C5DD | 189.5 | 175.8 | 145.5 | |
SpringGreen | C6DC67 | 71.3 | 159.5 | 161.5 | |
Tan | DA9D76 | 23.4 | 146.6 | 168.0 | |
TealBlue | 00AEB3 | 181.7 | 255.0 | 89.5 | |
Thistle | D883B7 | 323.3 | 133.0 | 173.5 | |
Turquoise | 00B4CE | 187.6 | 255.0 | 103.0 | |
Violet | 58429B | 254.8 | 102.7 | 110.5 | |
VioletRed | EF58A0 | 331.4 | 210.4 | 163.5 | |
White | FFFFFF | 0.1 | 0.0 | 255.0 | |
WildStrawberry | EE2967 | 341.1 | 217.5 | 139.5 | |
Yellow | FFF200 | 56.9 | 255.0 | 127.5 | |
YellowGreen | 98CC70 | 93.9 | 120.9 | 158.0 | |
YellowOrange | FAA21A | 36.4 | 244.1 | 138.0 |
定义新颜色
如果预定义的颜色不够用,您可以定义自己的颜色。
放置颜色定义
在文档的前言部分定义颜色。(原因:在前言中进行定义,这样你可以在前言中就能引用它们,这对于例如支持颜色作为参数的其他包的参数(如 listings
包)非常有用。)
方法
为了定义新颜色,你需要在前言部分包含 xcolor
包。颜色在摘要中按照以下方案定义:
\definecolor{name}{model}{color-spec}
其中:
-
name
是颜色的名称,你可以根据需要命名; -
model
是描述颜色的方式,可以是gray
、rgb
、RGB
、HTML
和cmyk
之一; -
color-spec
是颜色的描述。
颜色模型
以下是几种可以用来描述颜色的模型(更多模型请参考 xcolor
手册):
颜色模型 | 描述 | 颜色规格 | 示例 |
---|---|---|---|
gray | 灰度色调 | 仅一个 0 到 1 之间的数值,0 表示黑色,1 表示白色 | \definecolor{light-gray}{gray}{0.95} |
rgb | 红、绿、蓝 | 三个数值(0-1之间),表示红、绿、蓝三种颜色的量 | \definecolor{orange}{rgb}{1,0.5,0} |
RGB | 红、绿、蓝 | 三个数值(0-255之间),表示红、绿、蓝三种颜色的量 | \definecolor{orange}{RGB}{255,127,0} |
HTML | 红、绿、蓝 | 六个十六进制数,格式为 RRGGBB,与 HTML 中使用的格式相同 | \definecolor{orange}{HTML}{FF7F00} |
cmyk | 青色、品红、黄色、黑色 | 四个数值(0-1之间),表示每种颜色的量 | \definecolor{orange}{cmyk}{0,0.5,1,0} |
示例
定义新颜色时,可以按照以下示例定义橙色,将红色设为最大值,绿色设为一半(0.5),蓝色设为最小值:
\definecolor{orange}{rgb}{1,0.5,0}
以下代码应给出与前一个代码块相似的结果:
\definecolor{orange}{RGB}{255,127,0}
如果你已加载 xcolor
包,可以在之前定义的颜色基础上再定义颜色。
第一个例子指定了 20% 的蓝色和 80% 的白色;第二个例子是 20% 蓝色和 80% 黑色的混合;最后一个是 20% 蓝色的 30%,80% 黑色的 30% 和 70% 绿色的混合。
\color{blue!20}
\color{blue!20!black}
\color{blue!20!black!30!green}
xcolor
还提供了一个方便的命令来从颜色混合中定义颜色:
\colorlet{notgreen}{blue!50!yellow}
直接使用颜色规格
通常,你会像上面那样预定义所有颜色,但有时你可能需要直接使用颜色而不先命名它。为了实现这一点,\color
和 \textcolor
有一个替代语法,使用方括号指定颜色模型,使用大括号指定颜色规格。例如:
{\color[rgb]{1,0,0} This text will appear red-colored}
\textcolor[rgb]{0,1,0}{This text will appear green-colored}
创建/捕获颜色
你可能想使用其他文档、网页、图片等上出现的颜色,或者你可能希望通过调整 RGB 值来创建自定义颜色。
像免费的 GIMP 套件(适用于 Linux/Windows/Mac)等图像处理软件提供了颜色选择工具,可以捕捉屏幕上的任何颜色,或直接从相应的 RGB/HSL/十六进制值合成颜色。
此外,还有一些较小的免费工具:
-
Linux/BSD:
gcolor2
工具(通常也可以在软件仓库中找到) -
Linux/BSD:在较新的系统中,你可能会使用
gcolor3
工具(通常也可以在软件仓库中找到) -
Microsoft Windows:开源的
Color Selector
工具 -
Apple Macs:用于创建自定义颜色的
Hex Color Picker
和内置的DigitalColor Meter
用于捕捉屏幕上的颜色 -
在线工具:参见此 Wikipedia 文章 以获取多个外部链接
专色
专色在印刷中是常见的。它们通常指的是基于色卡(如 Pantone、TruMatch 或 Toyo)预混的油墨。colorspace
包扩展了 xcolor
,提供了真实的专色(CMYK 和 CIELAB)。它们可以像这样定义:
\definespotcolor{mygreen}{PANTONE 7716 C}{.83, 0, .40, .11}
来源
-
xcolor
手册 -
color
包文档