将 \ref{} 放在 \aaalphanum 内

将 \ref{} 放在 \aaalphanum 内

我正在尝试使用 \ref 引用标签并输出字母(例如“A”)而不是数字(例如 1)。

我读过一些地方使用 \AAAlphanum{\ref{my_label}} 但这个命令失败了

缺失数字,视为零。

任何帮助是极大的赞赏。

答案1

有多种方法可以实现这一点:

在此处输入图片描述

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

第一个引用使用\ref,其默认值为 所\the<counter>设置的值(在本例中为)。第二个引用使用由 提供的\arabic{section}扩展项\getrefnumberrefcount最后一个引用使用自定义属性列表(借助zref)仅存储和/或检索计数器\AlphAlph的版本section

以上所有内容均可扩展用于hyperref, 当然。

相关内容