我正在尝试创建一个列表环境,\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}