我想在旁边写上方程的名称而不是数字。我遵循了第一个答案的结构在方程编号下方添加方程名称。但是好像链接转错了。
稍微改变一下给出的答案,这里就有 MWE:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\eqname}[1]{\tag*{#1}}% Tag equation with name
\usepackage{hyperref}
\begin{document}
\begin{equation} \label{f}
f(x) = a \eqname{(Constant)}
\end{equation}
\begin{equation} \label{g}
g(x) = ax
\end{equation}
See \eqref{f} and \eqref{g}.
\end{document}
现在,\eqref{f}
显示为(常数)和\eqref{g}
(1),但通过单击两个都链接文档转到第一个方程,即名为 Constant 的方程。我无法通过单击其引用 (1) 转到第二个方程。
我该怎么做才能解决这个问题?提前致谢。
答案1
的环境amsmath
得到了更好的支持hyperref
。可以使用gather
而不是equation
来修复此示例,其中的方程标有名称:
\documentclass{article}
\usepackage{amsmath}
\newcommand{\eqname}[1]{\tag*{#1}}% Tag equation with name
\usepackage{hyperref}
\begin{document}
\begin{gather} \label{f}
f(x) = a \eqname{(Constant)}
\end{gather}
\begin{equation} \label{g}
g(x) = ax
\end{equation}
See \eqref{f} and \eqref{g}.
\end{document}
答案2
我建议利用\theHequation
:
\documentclass{article}
\usepackage{amsmath}
\usepackage{hyperref}
\newcounter{eqname}
\renewcommand{\theHequation}{%
\theHsection.\arabic{equation}-\arabic{eqname}%
}
\newcommand{\eqname}[1]{% Tag equation with name
\stepcounter{eqname}%
\tag{#1}%
}
\begin{document}
\begin{equation} \label{f}
f(x) = a \eqname{Constant}
\end{equation}
\begin{equation} \label{g}
g(x) = ax
\end{equation}
\begin{equation} \label{gg}
g(x) = ax
\end{equation}
\begin{equation} \label{ff}
f(x) = a \eqname{Test}
\end{equation}
See \eqref{f} and \eqref{g}.
See \eqref{ff} and \eqref{gg}.
\end{document}