我有以下文章:
\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}