如何在数学表达式中使用颜色而不丢失水平间距?
\documentclass{article}
\usepackage{xcolor}
\definecolor{red}{HTML}{dd0000}
\begin{document}
\[3+(-5)-2+3\]
\[3+(-5){\color{red}-2}+3\]
\end{document}
答案1
由于括号 group ,您会丢失水平间距{}
。除了 egreg 的解决方案外,还有两种方法不需要告诉 TeX 您想要的对象类型:
使用
\begingroup ... \endgroup
而不是{...}
,使用
\color{black}
切换回黑色。
两者产生相同的结果:
\documentclass{article}
\usepackage{amsmath} % for gather
\usepackage{xcolor}
\definecolor{red}{HTML}{dd0000}
\begin{document}
\begin{gather*}
3+(-5)-2+3 \\
3+(-5) \color{red} -2 \color{black} +3 \\
3+(-5)\begingroup\color{red}-2\endgroup+3
\end{gather*}
\end{document}
答案2
你必须多努力一点,告诉 TeX 你想要的对象类型:
\documentclass{article}
\usepackage{xcolor}
\definecolor{red}{HTML}{dd0000}
\begin{document}
\[3+(-5)-2+3\]
\[3+(-5)\mathbin{\textcolor{red}{-}}\textcolor{red}{2}+3\]
\end{document}
对于一次性应用程序来说,这可能是最简单的方法。如果强调颜色始终相同,您可以定义一个新命令:
\newcommand{\mathem}[2][\mathord]{%
#1{\textcolor{red}{#2}}}
并将以上内容输入为
3 + (-5) \mathem[\mathbin]{-} \mathem{2} + 3