Coloque \ref{} dentro de \aaalphanum

Coloque \ref{} dentro de \aaalphanum

Estou tentando refutar um rótulo usando \ref e gerar uma letra alfabética (por exemplo, 'A') em vez do número (por exemplo, 1).

Eu li em algum lugar para usar \AAAlphanum{\ref{my_label}} mas este comando falha

Número faltando, tratado como zero.

Qualquer ajuda é muito apreciada.

Responder1

Existem várias maneiras de conseguir isso:

insira a descrição da imagem aqui

\documentclass{article}
\usepackage{zref,refcount,alphalph,hyperref}

\makeatletter
\zref@newprop{AlphAlphcntr}[??]{\AlphAlph{\value{section}}}
\newcommand{\mylabel}[1]{\zref@labelbyprops{#1}{AlphAlphcntr}}
\newcommand{\myref}[1]{\zref@refused{#1}\zref@extract{#1}{AlphAlphcntr}}
\makeatother

\setlength{\parindent}{0pt}% Just for this example

\begin{document}

\section{A section}\label{sec:mysection}\mylabel{sec:mysection}
Section~\ref{sec:mysection}. \par
Section~\AlphAlph{\getrefnumber{sec:mysection}}. \par
Section~\myref{sec:mysection}.

\end{document}

A primeira referência usa \ref, cujo padrão é o valor \the<counter>definido (neste caso, \arabic{section}). A segunda referência usa o expansível \getrefnumberfornecido porrefcount. A última referência usa uma lista de propriedades personalizadas (com a ajuda dezref) para armazenar e/ou recuperar apenas a \AlphAlphversão - do sectioncontador.

Todos os itens acima podem ser estendidos para usarhyperref, claro.

informação relacionada