跳到正文

Scissor LaTeX 中的 xcolor

xcolor 宏包在 Scissor LaTeX 中部分可用:颜色在 TikZ 和 pgfplots 图形中可用(所有基本颜色名、dvipsnames、red!50!blue 这样的混合色、\definecolor 和 \colorlet),在公式中也可用(17 个基本颜色名),但 \textcolor、\color 和 \colorbox 会让正文文字保持黑色。

宏包的作用

xcolor 为颜色命名并混合颜色。\textcolor{red}{...} 给一段文字着色,\color{blue} 切换颜色直到当前组结束,\colorbox{yellow}{...} 在文字后面加上彩色背景,\definecolor 和 \colorlet 用来定义你自己的颜色。TikZ 和 pgfplots 使用同样的名称。

这里可用的功能

命令在正文中在公式中在 TikZ 和 pgfplots 中
\textcolor{name}{...}文字保留,没有颜色可用,限 17 个基本颜色名可用
\color{name}被忽略可用,限 17 个基本颜色名可用
\colorbox{name}{...}文字保留,没有背景可用,限 17 个基本颜色名不适用
\definecolor{n}{HTML}{1F6FEB}不适用被忽略可用:支持 HTML、RGB、rgb、gray、cmyk 模型
\colorlet{n}{blue!30}不适用被忽略可用
red!50!blue 这样的混合色不适用被忽略可用
\usepackage[dvipsnames]{xcolor}不适用被忽略ForestGreen 等名称可用

在公式中可用的 17 个名称是:red、green、blue、cyan、magenta、yellow、black、white、gray、lightgray、darkgray、brown、orange、pink、purple、teal 和 olive。公式中的其他名称都会被忽略,公式保持周围的颜色。

示例

在公式中使用颜色,例如突出某一项:

公式中的颜色

LaTeX导言区: \usepackage{xcolor}在编辑器中打开 (在新标签页中打开)
(a + b)^2 = a^2 + \textcolor{red}{2ab} + b^2,
\qquad
{\color{teal} x_{44}} + \colorbox{yellow}{$y$}

在 TikZ 图形中使用自定义颜色和混合色:

TikZ 中的 \definecolor、\colorlet 和混合色

LaTeX导言区: \usepackage{xcolor,tikz}在编辑器中打开 (在新标签页中打开)
\definecolor{brand}{HTML}{1F6FEB}
\colorlet{soft}{brand!30}
\begin{tikzpicture}
  \fill[brand] (0,0) rectangle (1,1);
  \fill[soft] (1.2,0) rectangle (2.2,1);
  \fill[red!50!blue] (2.4,0) rectangle (3.4,1);
  \fill[orange!80!black] (3.6,0) rectangle (4.6,1);
  \node[below] at (2.3,0) {brand, soft, red!50!blue, orange!80!black};
\end{tikzpicture}

在正文中,颜色会被丢弃,文字保持黑色:

正文文字不会着色

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

要在正文中突出某些词,请使用 \textbf 或 \emph,它们都可用。

兼容性

  • 从 TeX 发行版迁移到这里: 文档可以排版;彩色文字显示为黑色。图形和公式保留它们的颜色,公式中的自定义颜色除外。
  • 从这里迁移到 TeX 发行版: 文档无需修改即可在那里编译,彩色文字届时会显示颜色。

完整手册见 CTAN:ctan.org/pkg/xcolor。使用指南请参阅颜色,图形请参阅用 TikZ 绘图。

常见问题

为什么我的彩色文字是黑色的?

Scissor LaTeX 目前还不能给正文文字着色。文字本身会保留,颜色会在 TeX 发行版中生效。在公式和图形中,颜色是可用的。

在 TikZ 中可以使用哪些颜色名称?

所有 xcolor 基本颜色名;用 dvipsnames 选项加载 xcolor 时的 dvipsnames 名称;blue!20 或 red!50!blue 这样的混合色;以及你用 \definecolor 或 \colorlet 定义的颜色。

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