自定义枚举项目标签

自定义枚举项目标签

我有一个如下列表:

1 (a) Red Apple

  (b) Blue Apple

2 (a) Red Orange

  (b) Blue Orange

我想说“(a)蕴涵(b)”。因此,我将项目标记如下:

\begin{enumerate}
\item \begin{enumerate}
\item Red Apple \label{red}
\item Blue Apple \label{blue}
\end{enumerate}
\item \begin{enumerate}
\item Red Orange
\item Blue Orange
\end{enumerate}
\end{enumerate}

当我写作时

\ref{red} implies \ref{blue}

它给出 1(a) 意味着 1(b)。我怎样才能去掉 (a) 和 (b) 前面的数字 1?

答案1

使用enumitem包中您可以使用键轻松自定义参考表示ref

\documentclass{article}
\usepackage{enumitem}

\begin{document}

\ref{red} implies \ref{blue}

\begin{enumerate}
\item \begin{enumerate}[label=(\alph*),ref=(\alph*)]
\item Red Apple \label{red}
\item Blue Apple \label{blue}
\end{enumerate}
\item \begin{enumerate}
\item Red Orange
\item Blue Orange
\end{enumerate}
\end{enumerate}

\end{document}

在此处输入图片描述

顺便说一句,使用标准 LaTeX 你会得到1a1b而不是1(a)1(b)

无需软件包的解决方案:

\documentclass{article}

\makeatletter
\renewcommand\theenumii{(\alph{enumii})}
\renewcommand\labelenumii{(\alph{enumii})}
\renewcommand\p@enumii{}
\renewcommand\p@enumiii{\theenumi\theenumii}
\makeatother

\begin{document}

\ref{red} implies \ref{blue}

\begin{enumerate}
\item \begin{enumerate}
\item Red Apple \label{red}
\item Blue Apple \label{blue}
\end{enumerate}
\item \begin{enumerate}
\item Red Orange
\item Blue Orange
\end{enumerate}
\end{enumerate}

\end{document}

相关内容