Ändern des Ausdrucks eines Zählers nur in Referenzen

Ändern des Ausdrucks eines Zählers nur in Referenzen

Ich habe folgendes Problem: Ich habe einen Zähler (in meinem Fall enumi), den ich zum Referenzieren mit einem anderen Namen verwenden möchte, als wenn er zuerst erscheint. Gibt es in Tex/Latex ein Tool dafür?

Um genauer zu sein: Ich möchte dies in meinen Dokumenttext schreiben:

\section{Lorem}
\subsection{Ipsum}

\begin{enumerate}
\item \label{my_item} dolor sit amet
\item consectetur
\end{enumerate}

und lassen Sie die Liste folgendermaßen aussehen:

i) Dolor Sit Amet

ii) consectetur

aber wenn \ref{my_item}man 1.1.i verwendet (vorausgesetzt, „Ipsum“ ist Unterabschnitt 1.1). Also mit:

\renewcommand{\theenumi} {\bf \arabic{section}.\arabic{subsection}.\roman{enumi}~}

ist nicht das, was ich will.

Antwort1

Ihr Formatierungsziel kann erreicht werden, ohne zusätzliche LaTeX-Pakete zu laden (obwohl es natürlich nichts Falsches ist, geeignete Pakete zu laden). Fügen Sie der Präambel einfach den folgenden Code hinzu:

\renewcommand\labelenumi{\roman{enumi})} % determine look of label
\renewcommand\theenumi\labelenumi
\makeatletter
\renewcommand\p@enumi{\thesubsection.} % "prefix" for cross-references
\makeatother

Ein vollständiges MWE:

Bildbeschreibung hier eingeben

\documentclass{article} 
\renewcommand\labelenumi{\roman{enumi})}
\renewcommand\theenumi\labelenumi
\makeatletter
\renewcommand\p@enumi{\thesubsection.}
\makeatother
\begin{document} 

\section{Lorem}
\subsection{Ipsum}

\begin{enumerate}
\item \label{my_item} dolor sit amet
\item consectetur
\end{enumerate}

\section{Dolor}

A cross-reference to item \ref{my_item}.
\end{document}

Nachtrag: Die gleiche Ausgabe kann erreicht werden, indem das enumitemPaket wie folgt geladen wird:

\usepackage{enumitem}
\setlist[enumerate,1]{label*=\roman*),
                      ref=\thesubsection.\roman*)}

verwandte Informationen