如何结合 hyperref 和 eqref

如何结合 hyperref 和 eqref
\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[colorlinks=true,linkcolor=green]{hyperref}
\begin{document}
\begin{align} \label{test}
a+b=c
\end{align}
\eqref{test}
\end{document}

我怎样才能将 hyperref 和 eqref 结合起来,使得括号 () 也是绿色且可点击,而不仅仅是 1?

答案1

\eqref用作\ref公式编号,因此\ref是链接,周围的括号不是链接的一部分。以下示例重新定义\eqref以将括号包含在链接中:

\documentclass{scrartcl}
\usepackage[english]{babel}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[colorlinks=true,linkcolor=green]{hyperref}

\makeatletter
\renewcommand*{\eqref}[1]{%
  \hyperref[{#1}]{\textup{\tagform@{\ref*{#1}}}}%
}
\makeatother

\begin{document}
\begin{align} \label{test}
a+b=c
\end{align}
\eqref{test}
\end{document}

结果

顺便说一句:我不会使用“绿色”,而是使用更深的颜色(“深绿色”......),以便与通常的白色背景形成更好的对比。

相关内容