目前我有以下 TeX
\begin{enumerate}
\item First idea
\item \label{idea:s} Second idea
\end{enumerate}
\begin{enumerate}
\item Point about \ref{idea:s}
\end{enumerate}
我希望能够以某种方式命名列表本身,然后引用idea:s
可以是List I.a
之类的东西。我该如何命名枚举列表?我认为像环境一样定义环境theorem
是可行的,但有没有更好的方法?
答案1
这可能是你想要的,并使用enumitem
包裹以获得适当的格式。
biglist
创建了一个具有以下默认格式的新环境:
- 项目标签以罗马数字表示列表标识符/名称,后跟
.
,后跟项目编号(按字母顺序排列)。 - 项目参考如下,如上文
List~<label>
所述<label>
。
这将允许您将enumerate
环境用于文档中的其他列表,而biglist
保留用于“命名列表”。当然,格式(就标签和引用而言)可以修改。还可以通过可选参数指定其他选项。\begin{biglist}[<other parameters>]
这些包括项目分隔、缩进等。
\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\newcounter{biglist} \renewcommand{\thebiglist}{\Roman{biglist}}%
\newenvironment{biglist}[1][*]
{\stepcounter{biglist}%
\begin{enumerate}[label=\thebiglist.\alph*,ref=List~\thebiglist.\alph*,#1]}% \begin{biglist}
{\end{enumerate}}% \end{biglist}
\begin{document}
\begin{biglist}
\item First idea
\item \label{idea:s} Second idea
\end{biglist}
\begin{enumerate}
\item Point about \ref{idea:s}
\end{enumerate}
\end{document}
通过允许您将名称指定为可选参数,可以使上述内容更加动态,甚至可以在(比如说)之外的其他内容之间进行选择List
,或坚持将其作为默认值。