基于枚举的新环境

基于枚举的新环境

我定义了以下简单的环境:

\newenvironment{renumerate}{\begin{enumerate}\raggedright}{\end{enumerate}}

我想知道如何修改上述内容以便与以下内容一起使用:

\begin{renumerate}[label=\color{blue}10.\theenumi]
\item blah
\item blah
\end{renumerate}

给出的选项[]是事先不知道的。

答案1

由于您已经加载enumitemnewlist包,使用它提供的内置命令来达到这个目的很有意义

\newlist{renumerate}{enumerate}{3}
\setlist[renumerate]{label=\arabic*,before=\raggedright}

这将设置renumerate基于标准enumerate环境的环境。{3}末尾指定最大深度 - 您可以根据需要更改它。

setlist命令很重要,因为它提供了列表的默认行为。默认情况下,环境可以接受可选参数,这要归功于包的魔法enumitem

\documentclass{article}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{lipsum}

\newlist{renumerate}{enumerate}{3}
\setlist[renumerate]{label=\arabic*,before=\raggedright}

\begin{document}

\begin{renumerate}[label=10.\arabic*,font=\color{blue}]
  \item \lipsum[1]
  \item \lipsum[1]
  \item \lipsum[1]
\end{renumerate}

\lipsum[1]

\begin{renumerate}
  \item \lipsum[1]
  \item \lipsum[1]
  \item \lipsum[1]
\end{renumerate}

\end{document}

答案2

向环境添加一个“空”可选参数:

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem,xcolor}% http://ctan.org/pkg/{enumitem,xcolor}
\newenvironment{renumerate}[1][,]{\begin{enumerate}[#1]\raggedright}{\end{enumerate}}
\begin{document}
\begin{renumerate}[label=\color{blue}10.\theenumi]
  \item blah
  \item blah
\end{renumerate}
\begin{renumerate}
  \item blah
  \item blah
\end{renumerate}
\end{document}

“空”可选参数为,。有关在环境中使用强制/可选参数的参考,请参阅source2etexdoc source2e) 或者LaTeX 帮助\newenvironment

也许更符合enumitem风格,你可以使用

\begin{renumerate}[label=10.\arabic*,font=\color{blue}]
  \item blah
  \item blah
\end{renumerate}

相关内容