
この質問が他の場所で聞かれていたら申し訳ありません。あちこち探しましたが見つかりませんでした。
たくさんのリストとたくさんの参照を含む文書を書いています。\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 つのステップで結合します。\thetheorem
ref