\RenewDocumentCommand(또는 다른 방법)를 사용하여 \eqref 형식을 변경합니다.

\RenewDocumentCommand(또는 다른 방법)를 사용하여 \eqref 형식을 변경합니다.

이것은 다음 답변에 대한 후속 조치입니다. "See 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}

이 답변은 내가하고 싶은 대부분의 작업을 수행하지만 다음과 같이 변경하고 싶습니다.

 \eqref[]{eqlable} 

형태를 취할 수도 있다

\eqref[][]{eqlabel} 

괄호 안의 방정식 번호 앞과 뒤에 모두 쓰기를 추가할 수 있도록 합니다. 또한 나는 이미 문서 전반에 걸쳐 이것을 작성했고(대괄호가 필요하지 않은 경우) 이를 추가하면 두 배로 늘어나므로 거기에 "등식"을 포함하지 않기를 원합니다. 위에서 이것을 삭제하면 이상한 공간이 생깁니다.

새 명령을 정의하는 것도 작동할 수 있으며 이에 기반한 다른 답변을 보았지만 텍스트 작업 전후를 얻기 위해 편집하는 방법을 모르겠습니다.

편집: 두 번째 옵션이 다음과 같이 보이길 바랍니다.

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

(식 1.1: 항 1과 2)을 생성합니다. 옵션으로 []를 입력하면 대괄호가 이미 자동으로 추가됩니다.

그리고

Equation~\eqref{eqlabel} 

방정식 (1.1)을 생성합니다. 이것은 이미 작동합니다

어떤 방법으로든 용어를 얻을 수 있습니다. 괄호 안의 숫자 뒤에 1과 2가 있으면 괜찮습니다. 어떤 것이든 일치하도록 방정식 작성 방법을 변경할 수 있습니다.

답변1

원하는대로 잘 되는 것 같아요 :)

여기에 이미지 설명을 입력하세요

\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}

관련 정보