如何与 \renewcommand{\theequation} 交叉引用?

如何与 \renewcommand{\theequation} 交叉引用?

我更改了公式的默认编号。右边的默认编号不是“1”,而是“Eq. (1)”。括号内的数字会自动更改。

但是在交叉引用中我需要“公式 1”,并且我希望数字也能自动改变。

我能做的是:

\documentclass[11pt]{article}

\usepackage{polyglossia}
\setdefaultlanguage{brazil}

\usepackage{hyperref}
\hypersetup{colorlinks=true}

\usepackage{amsmath}

%% RETIRE THE PARENTESIS IN THE EQUATION NUMBERING

\makeatletter
\def\tagform@#1{\maketag@@@{\ignorespaces#1\unskip\@@italiccorr}}
\makeatother

%% PUT THE "EQ. (1)"

\renewcommand{\theequation}{Eq. (\arabic{equation})}
\makeatother


\begin{document}

O grau de compactação é definido como a razão (\%) entre densidade do solo seco e a densidade do solo seco quando compactado em um estado de referência, conforme Equação \ref{eq:grau}. %% HERE I WANT EQUATION 1

\begin{equation} 
{D=\frac{\rho_{b}}{\rho_{bs}}\times100} 
\label{eq:grau}
\end{equation}

\end{document}

在此处输入图片描述

答案1

再次修改Andrew Stacey 的回答诀窍是:

\documentclass{article}
\usepackage{amsmath}
\usepackage{polyglossia}
\setdefaultlanguage{brazil}

\makeatletter
\let\reftagform@=\tagform@
\def\tagform@#1{\maketag@@@{(Eq.\ #1\unskip\@@italiccorr)}}
\renewcommand{\eqref}[1]{\textup{\reftagform@{\ref{#1}}}}
\makeatother

\begin{document}

O grau de compactação é definido como a razão (\%) entre densidade do
solo seco e a densidade do solo seco quando compactado em um estado de
referência, conforme Equação~\eqref{eq:grau}.
\begin{equation}
D=\frac{\rho_\textnormal{b}}{\rho_\textnormal{bs}}\times100
\label{eq:grau}
\end{equation}

\end{document}

注意 for 的用法\eqref会自动获取括号。我还更改了公式的格式,使其具有直立下标(它们是文本,而不是符号)。

在此处输入图片描述

相关内容