如何改变对齐中标签的颜色?

如何改变对齐中标签的颜色?

我有以下文章:

\documentclass{article}

\usepackage{amsmath}

\begin{document}

\begin{align*}
  d(x, y) &= d(y, x) \tag{symmetry} \\
          &\leq d(y, z) + d(z,x) \tag{triangle}
\end{align*}

\end{document}

我现在想更改文档中所有标签(包括括号)的颜色(在本例中(对称)(三角形)) 变为灰色,而不是标准的黑色。我该怎么做?

答案1

\newtagform使用包中的命令可以轻松定义“标签样式” mathtools

\documentclass{article}

\usepackage{mathtools}
\usepackage[x11names]{xcolor}
\newtagform{blue}{\color{SteelBlue3}(}{)}
\newtagform{redandblue}[\textcolor{SteelBlue3}]{\color{red}(}{)}
\begin{document}
\usetagform{blue}
\begin{align*}
  d(x, y) &= d(y, x) \tag{symmetry} \\
          &\leq d(y, z) + d(z,x) \tag{triangle}
\end{align*}

\usetagform{redandblue}
\begin{align*}
  d(x, y) &= d(y, x) \tag{symmetry} \\
          &\leq d(y, z) + d(z,x) \tag{triangle}
\end{align*}

\end{document} 

在此处输入图片描述

答案2

重新定义起来很容易\maketag@@@

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,xcolor}
\makeatletter
\def\maketag@@@#1{\hbox{\m@th\normalfont\color{black!50}#1}}
\makeatother

\begin{document}

\begin{align*}
  d(x, y) &= d(y, x) \tag{symmetry} \\
          &\leq d(y, z) + d(z,x) \tag{triangle}
\end{align*}

\end{document}

请注意,上述操作也会修改方程编号的格式。


如果您也希望避免使用颜色参考,请使用以下命令:

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,xcolor}
\newif\ifeqref
\makeatletter
\renewcommand{\eqref}[1]{\textup{\eqreftrue\tagform@{\ref{#1}}}}
\def\maketag@@@#1{\hbox{\ifeqref\global\eqreffalse\else\color{black!50}\fi\m@th\normalfont#1}}
\makeatother

\begin{document}

\begin{align}
  d(x, y) &= d(y, x) \label{abc}\\
          &\leq d(y, z) + d(z,x) \tag{triangle}\label{def}
\end{align}
See~\eqref{abc} and~\eqref{def}.

\end{document}

相关内容