跳到正文

LaTeX 中的颜色

加载 xcolor,然后使用 \textcolor{red}{...} 或 \color{blue};在 Scissor LaTeX 中,颜色会显示在公式、TikZ 绘图和 pgfplots 图表中,而普通正文文字始终保持黑色。

颜色在哪里生效

xcolor 宏包提供 \textcolor{colour}{text}、\color{colour}(作用于当前分组的其余部分)和 \colorbox{colour}{text}。在 Scissor LaTeX 中,颜色可以作用于三个地方,每个地方认识的颜色各不相同:

位置在 Scissor LaTeX 中认识的颜色
公式($...$、行间公式)可用17 个名称:red、green、blue、cyan、magenta、yellow、black、white、gray、lightgray、darkgray、brown、orange、pink、purple、teal、olive。其他名称和混色都显示为黑色。
TikZ 图片和 pgfplots 图表可用所有 xcolor 基本颜色名、54 个 dvipsnames 颜色名、red!50!blue 或 blue!30 这样的混色,以及你用 \definecolor 和 \colorlet 定义的颜色。
正文、标题、图表标题、表格不着色命令会被接受,文字也会保留,但显示为黑色。

公式中的颜色

在数学模式中,\textcolor、\color 和 \colorbox 可以使用上面的 17 个名称。这在推导中突出某一项时很方便。

突出公式中的项

LaTeX导言区: \usepackage{xcolor}在编辑器中打开 (在新标签页中打开)
\[
  (a + b)^2 = a^2 + \textcolor{red}{2ab} + b^2
\]
The middle term $\textcolor{blue}{2ab}$ is the one people forget,
and $\colorbox{yellow}{x}$ marks the unknown.
由 Scissor LaTeX 排版: 突出公式中的项

绘图和图表中的颜色

TikZ 和 pgfplots 认识的颜色要多得多。你可以用 ! 混合两种颜色:red!30 是 30% 的红色加 70% 的白色,red!50!blue 是红蓝各半。\definecolor 根据 HTML、RGB、rgb、cmyk 或 gray 值定义颜色,\colorlet 为一种混色命名。

TikZ 中的颜色名、混色和 \definecolor

LaTeX导言区: \usepackage{tikz}在编辑器中打开 (在新标签页中打开)
\definecolor{brand}{HTML}{1F6FEB}
\colorlet{brandsoft}{brand!30}
\begin{tikzpicture}
  \fill[brand] (0,0) rectangle (1,1);
  \fill[brandsoft] (1.2,0) rectangle (2.2,1);
  \fill[red!50!blue] (2.4,0) rectangle (3.4,1);
  \fill[orange] (3.6,0) rectangle (4.6,1);
  \draw[thick, teal] (0,-0.3) -- (4.6,-0.3);
\end{tikzpicture}

图片还认识 68 个 dvipsnames 颜色中的 54 个,例如 ForestGreen、RoyalBlue 或 Mahogany。即便如此,也请用 dvipsnames 选项加载 xcolor,这样文档在 TeX 发行版中也能编译。不认识的名称会在“问题”标签页中报告。

图片中的 dvipsnames 颜色

\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \foreach \c [count=\i] in {ForestGreen, RoyalBlue, Mahogany, Goldenrod} {
    \fill[\c] (\i*1.2,0) circle (0.5);
  }
\end{tikzpicture}
\end{document}

正文保持黑色

在正文中,\textcolor{red}{words} 会以黑色输出这些文字,{\color{blue} ...} 不起作用,\colorbox 也不绘制背景。彩色表格(colortbl 的 \rowcolor、\cellcolor)和 \pagecolor 同样会被接受并忽略。

正文中的 \textcolor:文字保留,但显示为黑色

LaTeX导言区: \usepackage{xcolor}在编辑器中打开 (在新标签页中打开)
This is \textcolor{red}{important}, this is {\color{blue} blue in LaTeX},
and this has a \colorbox{yellow}{yellow background} there.

与 TeX 发行版的区别

这里的所有内容在 TeX 发行版中也能编译,在那里文字颜色也会显示出来。关于宏包本身,请参阅 xcolor;完整手册可在 CTAN 上找到:ctan.org/pkg/xcolor。

另请参阅 xcolor、TikZ 基础和区别。

常见问题

如何在 LaTeX 中给文字着色?

加载 xcolor,然后写 \textcolor{red}{text}。在 Scissor LaTeX 中,颜色会显示在公式和图片中;正文保持黑色。

如何定义自己的颜色?

在导言区写 \definecolor{brand}{HTML}{1F6FEB},然后像使用其他颜色名一样使用 brand。在 Scissor LaTeX 中,自定义颜色可用于 TikZ 和 pgfplots。

为什么我的彩色公式是黑色的?

这个颜色不在这里的公式认识的 17 个基本颜色名之列,例如 red!50 这样的混色或用 \definecolor 定义的颜色。请使用 red 或 blue 这样的基本颜色名。

本页的每个示例都在构建网站时由 Scissor LaTeX 排版。 最后更新:2026-11-07