自定义 eqref 与标签协同工作的方式

自定义 eqref 与标签协同工作的方式

我希望有一个版本,\eqref能够以不同于通常的编号方程的方式处理带有自定义标签的方程。特别是,如果我为方程分配标签,我不想\eqref在引用周围加括号。下面是一个例子。

\documentclass{article}
\usepackage{amsmath}
\begin{document}

\begin{equation}
   \label{eq:normal}
   a = b
\end{equation}
\begin{equation}
   \label{eq:tagged}
   y = max\{1,x\} \tag{$P(x)$}
\end{equation}

Equations \eqref{eq:normal} will display as "(1)" (i.e., with parens)
and \eqeref{eq:tagged} will display as "$P(x)$" (i.e., without parens).

\end{document}

我该如何修改该\eqref命令?

答案1

不要使用\eqref。只使用\ref。 的主要目的\eqref是根据 ams 样式将标签括起来。它还确保它们以直立类型设置,而 则无法做到这一点\ref,因此您可能仍想应用\upshape\textup,尽管只要您明确将标签视为数学,这不是问题。

附录:您可以将其等同\myeqref\ref,以便可以轻松找到对明确标记的显示的引用:

\newcommand\myeqref[1]{\ref{#1}}

尽管可以调整amsmath定义来做你想做的事情,但现在我没有时间去解开它,特别是当有一种更简单的方法时。

相关内容