ссылки с enumitem

ссылки с enumitem

Извините, если этот вопрос был задан где-то еще. Я искал везде, но не смог найти.

Я пишу документ с большим количеством списков и ссылок. Я хотел бы сослаться на запись списка, не выписывая явно \label{}для каждой записи. Я думал, что enumitemпакет решит эту проблему, но, возможно, я ошибаюсь.

Вот пример:

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

И далее в тексте я ссылаюсь на это как

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

Текст получается таким:Theorem ??(ii)]thm:4.1

Возможно ли это? Или это слишком много?

решение1

Основная проблема здесь в том, что \refне поддерживаетсянеобязательныйАргумент. Таким образом, первый токен [считаетсяобязательныйаргумент, переданный в \ref, который не имеет соответствующего \labelсвязанного с ним. Вместо этого вы можете использовать один из следующих вариантов, все они поддерживаются по умолчанию черезenumitem:

введите описание изображения здесь

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

Первый вариант требует ручного разделения theoremметки среды и перечисляемого элемента, тогда как второй объединяет их за один шаг путем добавления \thetheoremк refсвойству списка.

Связанный контент