在以下示例中,当我引用enumerate
级别 2 时,结果显示为 2a 而不是 2 (a)。我该如何更改?
\begin{document}
\maketitle
\begin{abstract}
\end{abstract}
\section{}
\begin{enumerate}
\item Iadfagas
\item adf
\begin{enumerate}
\item \label{item:a} af a
\item \label{item:aa} asd
\item \label{item:b} asfa
\item \label{item:c} af a
\end{enumerate}
\end{enumerate}
\ref{item:a} follows from Proposition
\end{document}
答案1
使用enumitem
包,您可以使用:
\usepackage{enumitem}
\setlist[enumerate,2]{ref=\theenumi(\alph*)}
\setlist[enumerate,3]{ref=\theenumii\roman*}
梅威瑟:
\documentclass{article}
\usepackage{enumitem}
\setlist[enumerate,2]{ref=\theenumi(\alph*)}
\setlist[enumerate,3]{ref=\theenumii\roman*}
\begin{document}
%\maketitle
\begin{abstract}
\end{abstract}
\section{}
\begin{enumerate}
\item Iadfagas
\item adf
\begin{enumerate}
\item \label{item:a} af a
\item \label{item:aa} asd
\item \label{item:b} asfa
\item \label{item:c} af a
\end{enumerate}
\end{enumerate}
\ref{item:a} follows from Proposition
\end{document}
正如 Gonzalo 指出的那样,您可能希望\ref
通过添加来修改第三级
\setlist[enumerate,3]{ref=\theenumii\roman*}
去掉引用该级别的项目时的额外括号。
答案2
没有任何软件包:
\documentclass{article}
\makeatletter
\renewcommand\theenumii{(\alph{enumii})}
\renewcommand\labelenumii{(\alph{enumii})}
\renewcommand\p@enumiii{\theenumi\theenumii}
\makeatother
\begin{document}
\begin{enumerate}
\item Iadfagas
\item adf
\begin{enumerate}
\item \label{item:a} af a
\item \label{item:aa} asd
\item \label{item:b} asfa
\item \label{item:c} af a
\end{enumerate}
\end{enumerate}
\ref{item:a} follows from Proposition
\end{document}