¿Cómo convierto el número devuelto por \ref{item} en una letra?

¿Cómo convierto el número devuelto por \ref{item} en una letra?

Aquí hay un MWE para mostrar básicamente lo que estoy haciendo.

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

¿Cómo puedo \ref{#1}imprimir una letra en lugar de un número?

Respuesta1

El protocolo de contador LaTeX se utiliza \the<counter>para obtener la representación del contador. El valor predeterminado es \arabic, pero el comando se puede redefinir para obtener una letra:

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

Entonces, también \labely \refusa esta representación:

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

Resultado

información relacionada