
Я пытаюсь сослаться на метку с помощью \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
, конечно.