我正在尝试使用 \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}
扩展项\getrefnumber
refcount
最后一个引用使用自定义属性列表(借助zref
)仅存储和/或检索计数器\AlphAlph
的版本section
。
以上所有内容均可扩展用于hyperref
, 当然。