\ref{item}에서 반환된 숫자를 문자로 어떻게 변환합니까?

\ref{item}에서 반환된 숫자를 문자로 어떻게 변환합니까?

여기 내가 하고 있는 일을 기본적으로 보여주는 MWE가 있습니다.

\documentclass{standalone}
\begin{document}
\makeatletter
\newcounter{gp@itemnum}\setcounter{gp@itemnum}{0}
\newcommand*{\gp@newprint@itemnum}{\refstepcounter{gp@itemnum}(\alph{gp@itemnum})}
\newcommand*{\gpnewitem}[1]{\gp@newprint@itemnum\label{#1}}
\newcommand*{\gpgetitemref}[1]{Item (\ref{#1})}
\makeatother

New item: \gpnewitem{test}
Ref new item: \gpgetitemref{test}
\end{document}

\ref{#1}숫자 대신 문자를 인쇄하려면 어떻게 해야 합니까 ?

답변1

LaTeX 카운터 프로토콜은 \the<counter>카운터 표현을 얻는 데 사용됩니다. 기본값은 이지만 \arabic대신 문자를 가져오도록 명령을 재정의할 수 있습니다.

\renewcommand*{\the@gpp@itemnum}{\alph{gp@itemnum}}

그런 다음 또한 \label다음 \ref표현을 사용합니다.

\documentclass{standalone}
\begin{document}
\makeatletter
\newcounter{gp@itemnum}\setcounter{gp@itemnum}{0}
\renewcommand*{\thegp@itemnum}{\alph{gp@itemnum}}
\newcommand*{\gp@newprint@itemnum}{\refstepcounter{gp@itemnum}(\thegp@itemnum)}
\newcommand*{\gpnewitem}[1]{\gp@newprint@itemnum\label{#1}}
\newcommand*{\gpgetitemref}[1]{Item (\ref{#1})}
\makeatother

New item: \gpnewitem{test}
Ref new item: \gpgetitemref{test}
\end{document}

결과

관련 정보