我希望有解决方案。当我引用某个方程时,我总是得到类似 的东西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{...}}