在不同环境下引用一些方程编号

在不同环境下引用一些方程编号

我希望有解决方案。当我引用某个方程时,我总是得到类似 的东西37,但我希望有(37)。我可以创建一个新命令,但问题是我在文本中使用了许多种环境:方程(需要\eqref)、多行(需要\ref)、定理(需要\ref)。引用定理数时我不想使用括号。任何建议都值得赞赏。

答案1

可以使用“反向引用的扩展”在第 53.2 节中描述来源2e然后重新定义\p@equation

\documentclass{article}

\makeatletter
\renewcommand*\refstepcounter[1]{%
  \stepcounter{#1}%
  \protected@edef\@currentlabel
  {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
}
\renewcommand{\p@equation}[1]{(#1)}
\makeatother

\begin{document}

\section{foo}\label{foo}

\begin{equation}\label{test}
a^2 + b^2 = c^2
\end{equation}

See equation~\ref{test} in section~\ref{foo}.

\end{document}

在此处输入图片描述

答案2

如果您使用amsmath,只需使用\eqref{ <label> }包含括号的,即使在斜体(例如定理)环境中也能保持整个内容直立。您使用它来做什么并不重要;它应该适用于任何标签。

更仔细地阅读问题,你说在引用 thworems 时你不想使用括号。然后只需使用\ref-- 但是如果你想让它们像 一样直立,那么在不在“保证”直立环境中时\eqref使用'\textup{\ref{...}}

相关内容