我定义了以下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
,其中点1
和2
。我希望假设编号为CS#
。因此,我的假设将是Comparative Static Hypothesis CS1
。然后,枚举中的点应该是CS1.i
和CS1.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
,从而自动进行重新格式化。这完全取决于用途。