可以使用诸如为\textcolor[rgb]{1.00,0.00,0.00}{boundary}
文档中的“边界”一词着色的命令。
这是我的问题:
如何给 中的数学符号上色$$
?例如,可以$C^{2}$
在 LaTeX 中将其变为红色吗?
答案1
\textcolor
来自xcolor
包的 也可以在数学模式下使用,即使名称另有说明。您也可以使用$ \color{<color>} C^2 $
。它设置当前范围(组)其余部分的颜色。
例子:
\documentclass{article}
\usepackage{xcolor}
\begin{document}
$ \color{red} C^2 $
$ \color{yellow} A = \textcolor{blue}{B} \mathbin{\textcolor{red}{-}} \textcolor{green}{C} $
\end{document}
请注意,正如 Leo Liu 在其评论中指出的那样,此处\mathbin
必须将 包裹在彩色二进制周围-
,以再次设置正确的间距。颜色会改变数学类型,因此它们的间距会有所不同。
答案2
Martin Scharrer 的补充回答。
\textcolor
在数学中有一个副作用,即内容放在花括号中(参见 的定义\@textcolor
)。 包的颜色实现color
基于组(颜色在组末尾自动恢复),但花括号也会在数学中产生子公式。这会影响水平间距,因为\textcolor
现在充当普通数学原子。可以通过使用\begingroup
和\endgroup
代替花括号来避免这种情况:
\documentclass{article}
\usepackage{xcolor}% or package color
\begin{document}
\[
\color{yellow} A
\begingroup\color{magenta}=\endgroup
\textcolor{blue}{B}
\mathbin{\color{red}-}% shorter than \mathbin{\textcolor{red}{-}}
\textcolor{green}{C}
\begingroup\color{cyan}+\endgroup
D
\]
\end{document}
可以定义一个宏,在数学中\mathcolor
可以代替使用:\textcolor
\documentclass{article}
\usepackage{xcolor}
\makeatletter
\def\mathcolor#1#{\@mathcolor{#1}}
\def\@mathcolor#1#2#3{%
\protect\leavevmode
\begingroup
\color#1{#2}#3%
\endgroup
}
\makeatother
\begin{document}
\[
\color{yellow} A
\mathcolor{magenta}{=}
\mathcolor{blue}{B}
\mathcolor{red}{-}
\mathcolor{green}{C}
\mathcolor{cyan}{+}
D
\]
\end{document}
\textcolor
或者可以修复的定义:
\makeatletter
\renewcommand*{\@textcolor}[3]{%
\protect\leavevmode
\begingroup
\color#1{#2}#3%
\endgroup
}
\makeatother
答案3
在较新的 LaTeX 版本中,只需加载xcolor
包并使用\mathcolor
。请参阅texdoc mathcolor
文档。
\documentclass{article}
\usepackage{xcolor}
\begin{document}
$\mathcolor{red}{1}\mathcolor{blue}{+}\mathcolor{green}{2}$
$1+2$
\end{document}
与其他方法相比,这具有某些优势:
间距通常更正确:
\[\textcolor{blue}{f}^2_3 \ne \mathcolor{blue}{f}^2_3\]
\[5\textcolor{blue}{+}6 \ne 5\mathcolor{blue}{+}6\]
其他惊喜
\color
:\[ f^{\color{blue} 2}_3 \]
(当然,如果你太努力去打破它,它是不会奏效的:为什么命令的可选参数会影响 \mathcolor 的间距但通常会)