在列表中创建命令

在列表中创建命令

因此,我尝试在环境中创建一种简化的列表,以便调用一个命令将创建一个枚举项,而调用另一个命令将创建一个子项。

这是我的代码:

\newcounter{usagenumber}
\newcommand\enumerate{\stepcounter{usagenumber}{\small \arabic{usagenumber}.}}
\newenvironment{usages}
{
   \setcounter{usagenumber}{0}
   \begin{description*}
   \newcommand\itemdef[1]{\item[\enumerate] #1}
   \newcommand\itemex[1]
   {
      \begin{description*}
         \item[$\cdot$] #1
      \end{description*}
   }
}
{
   \end{description*}
}

我使用 mdwlist 包修改星号列表,只是为了留出空间。使用 xelatex 排版。

答案1

不确定您的全部意图,但可能是这样的。正如 egreg 在评论中指出的那样,enumerate已被占用;正如我指出的那样,和#1的定义中的出现必须改写为,因为它们发生在环境的上下文中。\itemdef\itemex##1usages

\documentclass{article}
\newcounter{usagenumber}
\newcommand\xenumerate{\stepcounter{usagenumber}{\small \arabic{usagenumber}.}}
\newenvironment{usages}
{
   \setcounter{usagenumber}{0}
   \begin{description}
   \newcommand\itemdef[1]{\item[\xenumerate] ##1}
   \newcommand\itemex[1]
   {
      \begin{description}
         \item[$\cdot$] ##1
      \end{description}
   }
}
{
   \end{description}
}
\begin{document}
\begin{usages}
\itemdef{define xxx}
\itemdef{define yyy}
\itemex{example of yyy}
\itemdef{define zzz}
\itemex{example of zzz}
\itemdef{define aaa}
\end{usages}
\end{document}

在此处输入图片描述

相关内容