Referenzen mit Enumitem

Referenzen mit Enumitem

Es tut mir leid, wenn diese Frage schon woanders gestellt wurde. Ich habe überall gesucht, konnte sie aber nicht finden.

Ich schreibe ein Dokument mit vielen Listen und vielen Referenzen. Ich möchte auf einen Eintrag einer Liste verweisen, ohne \label{}für jeden Eintrag explizit etwas ausschreiben zu müssen. Ich dachte, das enumitemPaket würde das lösen, aber vielleicht irre ich mich.

Hier ist ein Beispiel:

\begin{theorem} There are four equivalent things
\begin{enumerate}[label=(\roman{*}), ref=(\roman{*})]
   \item Thing 1
   \item Thing 2
   \item Thing 3
   \item Thing 4
\end{enumerate}

Und später im Text bezeichne ich dies als

Theorem~\ref[(ii)]{thm:4.1} 

Der Text kommt heraus alsTheorem ??(ii)]thm:4.1

Ist so etwas möglich? Oder ist das zu viel verlangt?

Antwort1

Das Hauptproblem hierbei ist, dass \refkeineOptionalArgument. Daher [wird das erste Token als dasobligatorischArgument, das an übergeben wird \ref, dem kein entsprechendes Argument \labelzugeordnet ist. Stattdessen können Sie eine der folgenden Optionen verwenden, die alle standardmäßig unterstützt werden überenumitem:

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{theorem}\label{thm:labelA} There are four equivalent things
\begin{enumerate}[label=(\roman*), ref=(\roman*)]
   \item \label{thm:labelA:thing1} Thing 1
   \item \label{thm:labelA:thing2} Thing 2
   \item \label{thm:labelA:thing3} Thing 3
   \item \label{thm:labelA:thing4} Thing 4
\end{enumerate}
\end{theorem}

Theorem~\ref{thm:labelA}\ref{thm:labelA:thing2}.

\begin{theorem}\label{thm:labelB} There are four equivalent things
\begin{enumerate}[label=(\roman*), ref=\thetheorem(\roman*)]
   \item \label{thm:labelB:thing1} Thing 1
   \item \label{thm:labelB:thing2} Thing 2
   \item \label{thm:labelB:thing3} Thing 3
   \item \label{thm:labelB:thing4} Thing 4
\end{enumerate}
\end{theorem}

Theorem~\ref{thm:labelB:thing2}.

\end{document}

Bei der ersten Methode ist eine manuelle Trennung zwischen der theoremUmgebungsbezeichnung und dem aufgezählten Element erforderlich, während die zweite Methode diese in einem einzigen Schritt durch Hinzufügen \thetheoremzur refEigenschaft der Liste kombiniert.

verwandte Informationen