彩色方程式编号(不使用 hyperref 改变参考颜色)

彩色方程式编号(不使用 hyperref 改变参考颜色)

我正在处理一个文件,其中我使用了该包,hyperref以便将方程式的引用链接起来并着色。这是 MWE:

\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}
\hypersetup{colorlinks=true}

\begin{document}

\begin{equation}
1=\beta\left[ \frac{ 1+\left( 1-\tau_{t+1}\right) r_{t} }{\Pi_{t+1}} \right]\label{Fisher}
\end{equation}

Make reference to \eqref{Fisher}.

\end{document}

这给了我红色的末尾引用,这很棒。现在我想让方程编号变成蓝色(不是方程的引用,而是方程编号本身)。我通过添加来实现这一点

\renewcommand\theequation{{\color{blue}\arabic{equation}}}

序言部分,之前和之后hyperref(结果似乎相同)。第一次编译时,太棒了,我得到了我想要的准确结果:方程编号为蓝色,方程的引用为红色:

在此处输入图片描述

但第二次编译会将方程编号和方程引用都变成蓝色

我该如何避免这种情况,并使我的蓝色方程编号不干扰 hyperref 中的方程参考颜色?

答案1

你可以适应Andrew Stacey 的回答

\documentclass{article}
\usepackage{amsmath}
\makeatletter
\let\reftagform@=\tagform@
\def\tagform@#1{\maketag@@@{(\ignorespaces\textcolor{blue}{#1}\unskip\@@italiccorr)}}
\renewcommand{\eqref}[1]{\textup{\reftagform@{\ref{#1}}}}
\makeatother
\usepackage{hyperref}
\hypersetup{colorlinks=true}

\begin{document}

\begin{equation}
1=\beta\left[ \frac{ 1+\left( 1-\tau_{t+1}\right) r_{t} }{\Pi_{t+1}} \right]\label{Fisher}
\end{equation}

Make reference to \eqref{Fisher}.

\end{document}

相关内容