altere o formato \eqref com \RenewDocumentCommand (ou de outra forma)

altere o formato \eqref com \RenewDocumentCommand (ou de outra forma)

Esta é uma continuação de uma resposta em: Qual é a maneira correta de digitar "Ver Eq. (n)

\documentclass[12pt]{report}   

\usepackage[UKenglish]{babel}
\usepackage{graphicx} 
\usepackage{epstopdf}    
\usepackage{gensymb}
\usepackage{amssymb}
\usepackage{stmaryrd}
\usepackage{amsmath}  
\usepackage{siunitx}
\usepackage{placeins}
\usepackage{letltxmacro}


\LetLtxMacro{\oldeqref}{\eqref}
\RenewDocumentCommand\eqref{D<>{Equation}om}{%
\IfNoValueTF{#2}
{#1~\oldeqref{#3}}
{(#2 #1~\textup{\ref{#3}})}%
}

\begin{document}

\begin{equation}
\label{eq:test}
x=2y;
\end{equation}%

what this looks like:

this is Equation~\eqref{eq:test}

this is \eqref[Equation]{eq:test}

%this is \eqref[Equation][: terms 1 and 2]{eq:test}



\end{document}

Esta resposta faz a maior parte do que eu quero fazer, mas gostaria de alterá-la para que

 \eqref[]{eqlable} 

também pode assumir o formato

\eqref[][]{eqlabel} 

para que a escrita possa ser adicionada antes e depois do número da equação entre colchetes. Além disso, eu gostaria de não ter a "Equação" lá, pois já escrevi isso em todo o meu documento (quando não preciso de colchetes) e adicionar isso duplica. Se eu excluir isso acima, acabo com um espaço estranho.

Definir um novo comando também funcionaria - e já vi outras respostas baseadas nisso - mas não sei como editar nenhuma delas para que o texto antes e depois funcione.

editar: gostaria que a segunda opção se parecesse com

   \eqref[Equation][: terms 1 and 2]{eqlabel}

e produzir (Equação 1.1: termos 1 e 2). Os colchetes já são adicionados automaticamente quando digito [] como opção.

e para

Equation~\eqref{eqlabel} 

para produzir a Equação (1.1). Isso já funciona

qualquer maneira de obter os termos: 1 e 2 após o número entre colchetes seria adequado. posso mudar a forma como escrevo a equação para corresponder ao que funciona

Responder1

Acho que está funcionando como você deseja :)

insira a descrição da imagem aqui

\documentclass[12pt]{report}   

\usepackage[UKenglish]{babel}
\usepackage{graphicx} 
\usepackage{epstopdf}    
\usepackage{gensymb}
\usepackage{amssymb}
\usepackage{stmaryrd}
\usepackage{amsmath}  
\usepackage{siunitx}
\usepackage{placeins}
\usepackage{letltxmacro}


%\LetLtxMacro{\oldeqref}{\eqref}
% As Christian Hupfer noted, there is no need to use \LetLtxMacro here. Although there is no harm is using it (https://tex.stackexchange.com/questions/88001/when-to-use-letltxmacro)
\let\oldeqref\eqref
\RenewDocumentCommand\eqref{oom}{%
\IfNoValueTF{#2}{\def\eqafter{}}{\def\eqafter{#2}}%
\IfNoValueTF{#1}
{\oldeqref{#3}}
{(#1 \textup{\ref{#3}}\eqafter)}%
}

\begin{document}

\begin{equation}
\label{eq:test}
x=2y;
\end{equation}%

what this looks like:

this is Equation~\eqref{eq:test}

this is \eqref[Equation]{eq:test}

this is \eqref[Equation][: terms 1 and 2]{eq:test}

\end{document}

informação relacionada