如何为函数定义新的超链接?

如何为函数定义新的超链接?

我的问题涉及这里。我正在尝试为 hyperref 定义新命令。例如,我想调用一些方程式:函数、约束或约束集。为此,我尝试按照超链接中提供的说明进行操作。

\def\HyLang@english{%
      \def\functionautorefname{Function}%
      \def\conssetautorefname{Constraint set}%
      \def\consautorefname{Constraint}%
    }

并且,我使用它失败了,如下所示:

\begin{equation}\label{consset:sum_all=1}
    y_j^A+y_j^I+y_j^P=1 \qquad \forall j\in J
\end{equation}

\autoref{consset:sum_all=1} ensures that everything is alright!

仍然打印为:

等式(<eq number>)确保一切正常!

我想要的是:

约束集(<eq number>)确保一切正常!

有没有什么快速的解决办法?

答案1

\autoref无法知道您所指的是哪种类型的对象。

您可以使用cleveref更加可定制且功能更强大的功能。

\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{cleveref}

\crefformat{equation}{#2Equation~\textup{(#1)}#3} % by default eq. (<eq>) is used
\crefformat{constraint}{#2Constraint~\textup{(#1)}#3}

\begin{document}

\begin{equation}\label{eq}
equation
\end{equation}

\begin{equation}\label[constraint]{co}
constraint
\end{equation}

We can refer to \cref{eq} and to \cref{co}.

\end{document}

在此处输入图片描述

相关内容