referencias con enumitem

referencias con enumitem

Lo siento si esta pregunta se hizo en otro lugar. Busqué por todas partes pero no pude encontrarlo.

Estoy escribiendo un documento con muchas listas y muchas referencias. Me gustaría hacer referencia a una entrada de una lista sin escribir explícitamente \label{}cada entrada. Pensé que el enumitempaquete solucionaría esto pero tal vez me equivoque.

He aquí un ejemplo:

\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}

Y luego más adelante en el texto me refiero a esto como

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

El texto sale comoTheorem ??(ii)]thm:4.1

¿Es posible tal cosa? ¿O es pedir demasiado?

Respuesta1

El principal problema aquí es que \refno admite unaopcionalargumento. Como tal, [se considera que el primer token es elobligatorioargumento pasado a \ref, que no tiene un atributo apropiado \labelasociado. En su lugar, puede utilizar una de las siguientes opciones, todas ellas compatibles de forma predeterminada a través deenumitem:

ingrese la descripción de la imagen aquí

\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}

El primero requiere una separación manual entre la theoremetiqueta del entorno y el elemento enumerado, mientras que el segundo lo combina en un solo paso agregándolo \thetheorema la refpropiedad de la lista.

información relacionada