使用命令作为列表的标签参数时发出警告?

使用命令作为列表的标签参数时发出警告?

我对将标签定义为命令的列表感到困惑。下面是一个简单示例:

\documentclass[a4paper, 11pt]{article}

\usepackage{enumerate}

\newcommand{\myLabel}{1)}

\newenvironment{myList}%
  {%
    \begin{enumerate}[\myLabel]
  }
  {%
    \end{enumerate}
  }



\begin{document}

\begin{myList}
  \item Item 1
  \item Item 2
  \item Item 3
\end{myList}

\end{document}

当我编译这个时,我收到以下警告

LaTeX Warning: The counter will not be printed.
         The label is: \myLabel  on input line 19.

并且生成的列表只有1, 1, 1标签而不是1, 2, 3

知道如何解决这个问题吗?

答案1

你必须\myLabel先扩展才能使用

\documentclass[a4paper, 11pt]{article}

\usepackage{enumerate}
\newcommand\myLabel{1)}

\newenvironment{myList}%
  {\expandafter\enumerate\expandafter[\myLabel]}
  {\endenumerate}

\begin{document}

\begin{myList}
  \item Item 1
  \item Item 2
  \item Item 3
\end{myList}

\end{document}

相关内容