
Ich versuche, mit \ref auf ein Label zu verweisen und einen alphabetischen Buchstaben (z. B. „A“) statt einer Zahl (z. B. 1) auszugeben.
Ich habe irgendwo gelesen, dass man \AAAlphanum{\ref{my_label}} verwenden soll, aber dieser Befehl schlägt fehl
Fehlende Zahl, wird als Null behandelt.
Jede Hilfe wird sehr geschätzt.
Antwort1
Dies können Sie auf verschiedene Weise erreichen:
\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}
Die erste Referenz verwendet \ref
, das standardmäßig den Wert verwendet, auf den \the<counter>
gesetzt ist (in diesem Fall \arabic{section}
). Die zweite Referenz verwendet das erweiterbare Element, \getrefnumber
das bereitgestellt wird vonrefcount
. Die letzte Referenz verwendet eine benutzerdefinierte Eigenschaftenliste (mit Hilfe vonzref
\AlphAlph
), um nur die -Version des Zählers zu speichern und/oder abzurufen section
.
Alle oben genannten Punkte können erweitert werden umhyperref
, Natürlich.