
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:
\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 enumitem
Paket wie folgt geladen wird:
\usepackage{enumitem}
\setlist[enumerate,1]{label*=\roman*),
ref=\thesubsection.\roman*)}