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}

最初の方法では、環境ラベルと列挙された項目を手動で分離する必要がありますが、2 番目の方法では、リストのプロパティにtheorem追加することで、それらを 1 つのステップで結合します。\thetheoremref

関連情報