覆盖 \newlist 中的 \item 可选参数

覆盖 \newlist 中的 \item 可选参数

我正在尝试创建一个列表环境,\item其中的可选参数可用于增加而不是替换项目编号。

我想

\begin{myenum}
    \item First Item
    \item[x] Second Item
    \item Third item
\end{myenum}

相当于

\begin{enumerate}
    \item[1] First Item
    \item[2(x)] Second Item
    \item[3] Third item
\end{enumerate}

当显示时。

我尝试使用\newlist来创建myenum环境,但我不知道如何覆盖 的\item可选参数并强制标签为其他内容。可以这样做吗?

答案1

以下是其中一个选项:

在此处输入图片描述

\documentclass{article}

\newenvironment{myenum}
  {\renewcommand{\labelenumi}{\arabic{enumi}}%
   \begin{enumerate}
   \let\olditem\item
   \renewcommand{\item}[1][\relax]{%
     \def\itemopt{##1}%
     \refstepcounter{enumi}%
     \olditem[\theenumi\expandafter\ifx\expandafter\relax\itemopt\else(##1)\fi]}}
  {\end{enumerate}}

\begin{document}

\begin{myenum}
  \item First Item
  \item[x] Second Item
  \item Third item
\end{myenum}

\end{document}

相关内容