Setzen Sie \ref{} innerhalb von \aaalphanum

Setzen Sie \ref{} innerhalb von \aaalphanum

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:

Bildbeschreibung hier eingeben

\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, \getrefnumberdas 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.

verwandte Informationen