referências com enumitem

referências com enumitem

Sinto muito se esta pergunta foi feita em outro lugar. Procurei por todo lado, mas não consegui encontrar.

Estou escrevendo um documento com muitas listas e muitas referências. Gostaria de me referir a uma entrada de uma lista sem escrever explicitamente \label{}cada entrada. Achei que o enumitempacote resolveria isso, mas talvez esteja enganado.

Aqui está um exemplo:

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

E mais tarde no texto eu me refiro a isso como

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

O texto sai comoTheorem ??(ii)]thm:4.1

É possível uma coisa dessas? Ou isso é pedir demais?

Responder1

O principal problema aqui é que \refnão suporta umopcionalargumento. Como tal, o primeiro token [é considerado oobrigatórioargumento passado para \ref, que não possui um argumento apropriado \labelassociado a ele. Em vez disso, você pode usar uma das seguintes opções, todas suportadas por padrão viaenumitem:

insira a descrição da imagem aqui

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

O primeiro requer uma separação manual entre o theoremrótulo do ambiente e o item enumerado, enquanto o segundo combina-o em uma única etapa, adicionando-o \thetheoremà refpropriedade da lista.

informação relacionada