两级枚举环境中的交叉引用项目

两级枚举环境中的交叉引用项目

在 LaTeX 中,我有一个嵌入在另一个枚举环境中的枚举环境。

\documentclass{article}
\usepackage{enumerate}
\begin{document}

\begin{enumerate}[(i)]
\item now we have another list\label{lab1}
\begin{enumerate}[(a)]
\item item one of second list
\item item two of second list\label{lab2}
\end{enumerate}
\item or another case
\end{enumerate}

\end{document}

我想引用部分 (i)(b),并尝试使用\eqref{lab1}\eqref{lab2}。这会产生结果 (i)(ib)。获得 (i)(b) 的正确方法是什么?

笔记:该问题已从 Stack Overflow 迁移到这里。

答案1

按照如下方式使用该包enumitem

\documentclass{article}
\usepackage{enumitem}
\begin{document}

\begin{enumerate}[label=(\roman*)]
\item now we have another list\label{lab1}
  \begin{enumerate}[label=(\alph*),ref=\theenumi(\alph*)]
  \item item one of second list
  \item item two of second list\label{lab2}
  \end{enumerate}
\item or another case
\end{enumerate}

References: \ref{lab1} \ref{lab2}

\end{document}

答案2

enumerate包实际上并没有为您提供引用表单的句柄。您可以改用enumitem包,但在这里我只需这样做:

在此处输入图片描述

\documentclass{article}

\renewcommand\theenumi{(\roman{enumi})}
\renewcommand\labelenumi{\theenumi}

\renewcommand\theenumii{(\alph{enumii})}
\renewcommand\labelenumii{\theenumii}



\begin{document}

\begin{enumerate}
\item now we have another list\label{lab1}
\begin{enumerate}
\item item one of second list
\item item two of second list\label{lab2}
\end{enumerate}
\item or another case
\end{enumerate}


xxx\ref{lab1}xxxxxx\ref{lab2}xxx

\end{document}

相关内容