为什么这个环境给我带来了麻烦?(enumitem 包)

为什么这个环境给我带来了麻烦?(enumitem 包)

下一个环境定义给我带来了一些麻烦:
\newenvironment{properties}{\textbf{\underline{Properties:}}\begin{enumerate}[style=(P_{\arabic*}]}{\end{enumerate}}

当我尝试使用它时,出现以下错误:

  • ! Missing number, treated as zero.<to be read again>\c@*l.7 ts:}}\begin{enumerate}[style=(P_{\arabic* }]
  • ! Missing \endcsname inserted.<to be read again>\c@*l.7 ...ts:}}\begin{enumerate}[style=(P_{\arabic*}]
  • ! Extra }, or forgotten \endgroup.<argument> enit@style@(P_{\arabic *}
  • ! Extra \endcsname.\@ifundefined ...dafter \ifx \csname #1\endcsname\relax \expandafter \@firs... ...ts:}}\begin{enumerate}[style=(P_{\arabic}]
  • ! Missing number, treated as zero.<to be read again>\c@*l.7 ...ts:}}\begin{enumerate}[style=(P_{\arabic*}]

你能帮我找出我做错的地方吗?谢谢 :)。

答案1

您有几个错误:

  1. 好的排版不应该使用下划线
  2. style不是正确的钥匙
  3. 你错过了下标周围的数学模式

因此猜测可能是

\newenvironment{properties}
  {\textbf{Properties:}\begin{enumerate}[label=(P$_{\arabic*}$)]}
  {\end{enumerate}}

更好的猜测:

\documentclass{article}
\usepackage{enumitem}

\newenvironment{properties}
  {\par\vspace{\topsep}
   \noindent\textbf{Properties:}
   \begin{enumerate}[label=(P$_{\arabic*}$)]}
  {\end{enumerate}}

\begin{document}

\begin{properties}
\item One
\item Two
\item Three
\end{properties}

\end{document}

在此处输入图片描述

答案2

可能使用enumitem能力

\newlist{properties}{enumerate}{1}
\setlist[properties]{before=\endgraf\vspace{\topsep}\noindent\textbf{Properties:},
                     label=(P$_{\arabic*}$)}

相关内容