标记完整枚举

标记完整枚举

我正在尝试创建一个简单的枚举并为其添加标签,以便我可以访问它。但我得到的唯一返回值是子节的编号。这是我的代码,似乎不起作用。

\begin{enumerate}
\label{eq_prm_1}

    \item bla
    \item moreBla

\end{enumerate}

有没有可能把这件作品封装成可以參考嗎?

答案1

听起来你想要的是另一种浮动,比如图形或表格,只不过它不一定是“浮动”。幸运的是,这个float包可以为你做到这一点。

\usepackage{float}   
\newfloat{lablist}{H}{lol}
\floatname{lablist}{List}

上面的内容(在序言中)定义了一个新的浮动环境,lablist默认情况下,它始终放置在源文本中它出现的准确位置(这就是 的作用H),并且标记为列表n在标题中。然后您可以在这些环境中执行任何您想做的事情,例如使用枚举列表。

例子。

\documentclass{article}

\usepackage{multicol}
\usepackage{float}
\newfloat{lablist}{H}{lol}
\floatname{lablist}{List}

\begin{document}

The following are the names of the digits in the Indo-Arabic numeral system, in English:
\begin{lablist}
  \setlength\columnseprule{0.3pt}
  \begin{multicols}{5}
  \begin{enumerate}
    \addtocounter{enumi}{-1}
    \item zero  \item one  \item two    \item three  \item four
    \item five  \item six  \item seven  \item eight  \item nine
  \end{enumerate}
  \end{multicols}
  \caption{foo}
  \label{list:foo}
\end{lablist}
\noindent
Refer to List~\ref{list:foo} whenever confused about the English names of numerals.

\end{document}

示例列表环境

答案2

您可以将其封装在另一个枚举环境中:

\begin{enumerate}
\item \label{eq_prm_1}
  \begin{enumerate}
  \item bla
  \item moreBla
  \end{enumerate}
\end{enumerate}

为了使其更加复杂,您应该对外部枚举进行样式化,使其标签看起来不同,并且每次使用时都会对其标签进行计数。这可以通过包来完成enumitem。通常鼓励使用语义命令,因此我们基于枚举定义了一个环境,我们称之为 refenum(用于枚举引用),并将我们想要引用的每个列表粘贴到该环境中。

\documentclass{article}

\usepackage{enumitem}
\usepackage{blindtext}

\newlist{refenum}{enumerate}{1}
\setlist[refenum]{label=(\arabic*),resume}

\usepackage{enumerate}

\begin{document}

\blindtext[1]
\begin{refenum}
\item \label{eq_prm_1}
  \begin{enumerate}
  \item bla
  \item more bla
  \end{enumerate}
\end{refenum}
\blindtext[1]
\begin{refenum}
\item \label{eq_prm_2}
  \begin{enumerate}
  \item bla
  \item more bla
  \end{enumerate}
\end{refenum}
Compare list~\ref{eq_prm_1} and~\ref{eq_prm_2}.

\end{document}

复杂示例的输出

答案3

考虑到我的评论和您的评论以及您的原始问题,我建议您查看 float 包。它允许您创建一个带有标题的新浮点数来包装您的枚举。

相关内容