对定理进行编号并列出该定理内的枚举列表

对定理进行编号并列出该定理内的枚举列表

我定义了以下amsthm环境

\newtheorem{cslist}{Comparative Static Hypothesis}

在的实例中cslist,我想要一个像这样的枚举列表。

 \begin{cslist}{Response A}
 \begin{enumerate}
 \item \label{item:pps1} Pred 1
 \item \label{item:pps2} Pred 2
 \end{enumerate}  
 \end{cslist}

目前,这呈现为Comparative Static Hypothesis 1,其中点12。我希望假设编号为CS#。因此,我的假设将是Comparative Static Hypothesis CS1。然后,枚举中的点应该是CS1.iCS1.ii

我该如何实现这个目标?

答案1

你可以重新定义“比较静态假设”的编号,以显示CS#使用

\renewcommand{\thecslist}{CS\arabic{cslist}}

然后使用enumitem包裹cslist使用 格式化您环境中打印的标签label=\thecslist.\roman*(此处\roman*将打印小写罗马数字)。由于标签现在比常规标签“更大”,因此添加leftmargin=*将允许与左边距正确对齐。

这是一个简单的例子:

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem}% http://ctan.org/pkg/enumitem
\usepackage{amsthm}% http://ctan.org/pkg/amsthm
\newtheorem{cslist}{Comparative Static Hypothesis}
\renewcommand{\thecslist}{CS\arabic{cslist}}%
\begin{document}

\begin{cslist}{Response A}
  \begin{enumerate}[label=\thecslist.\roman*,leftmargin=*]
    \item \label{item:pps1} Pred 1
    \item \label{item:pps2} Pred 2
  \end{enumerate}  
\end{cslist}

For more information, see~\ref{item:pps1} and~\ref{item:pps2}.

\end{document}​

如果这种用法更为普遍,也许可以使用以下方法定义一个cslistenum带有默认选项的新列表(例如)label=\thecslist.\roman*,leftmargin=*

\newlist{cslistenum}{enumerate}
\setlist{cslistenum}[label=\thecslist.\roman*,leftmargin=*]

或者,etoolbox包裹也可以使用enumerate默认使用这些选项进行重新格式化\AtBeginEnvironment,从而自动进行重新格式化。这完全取决于用途。

相关内容