如何将环境转变为新命令?

如何将环境转变为新命令?

假设我想创建一个名为,其功能是添加步骤1。第2步。,证明中也是如此。这可以通过以下方式完成:

\newcounter{stepnum}
\newcommand{\step}{\stepcounter{stepnum}\textbf{Step \arabic{stepnum}}.}

问题是,它不会在每个末尾自动开始换行符,但可以通过以下方法修复:

\newcounter{stepnum}
\newenvironment{step}{\stepcounter{stepnum}\textbf{Step \arabic{stepnum}}.}{\par}

我“讨厌”写作\开始{步骤}\结束{步骤}每次,明确命令\步更简单,但在后一种情况下\步不会添加平价在行末。

我怎样才能解决这个问题?

答案1

我会采取不同的做法:

\newcounter{stepnum}
\newenvironment{steps}
  {\setcounter{stepnum}{0}}
  {\par}
\newcommand{\step}{%
  \par
  \refstepcounter{stepnum}%
  \textbf{Step \arabic{stepnum}}.\enspace\ignorespaces
}

因此你可以这样做

\begin{steps}
\step This is the first
\step And the second

\step Third
\end{steps}

空行是可选的。

不过,使用enumitem更好。

\documentclass{article}
\usepackage{enumitem}
\newlist{steps}{enumerate}{1}
\setlist[steps,1]{
  leftmargin=*,
  label=\textbf{Step \arabic*}.,
  ref=Step~\arabic*,
}

\usepackage{lipsum}

\begin{document}
\lipsum[2]
\begin{steps}
\item This is the first
\item And the second

\item Third
\end{steps}

\lipsum[3]
\end{document}

在此处输入图片描述

您可以通过多种方式自定义列表。

相关内容